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_15388 = GICXXPred_Invalid + 1,
982 GICXXPred_MI_Predicate_anonymous_17404,
983 GICXXPred_MI_Predicate_anonymous_17443,
984 GICXXPred_MI_Predicate_anonymous_17455,
985 GICXXPred_MI_Predicate_ffloor_nnan,
986 GICXXPred_MI_Predicate_imm_su,
987 GICXXPred_MI_Predicate_loadi8,
988 GICXXPred_MI_Predicate_loadi16,
989 GICXXPred_MI_Predicate_loadi32,
990 GICXXPred_MI_Predicate_or_disjoint,
991};
992bool X86InstructionSelector::testMIPredicate_MI(unsigned PredicateID, const MachineInstr & MI, const MatcherState &State) const {
993 const MachineFunction &MF = *MI.getParent()->getParent();
994 const MachineRegisterInfo &MRI = MF.getRegInfo();
995 const auto &Operands = State.RecordedOperands;
996 (void)Operands;
997 (void)MRI;
998 switch (PredicateID) {
999 case GICXXPred_MI_Predicate_anonymous_15388: {
1000 return false;
1001 }
1002 case GICXXPred_MI_Predicate_anonymous_17404: {
1003 return false;
1004 }
1005 case GICXXPred_MI_Predicate_anonymous_17443: {
1006 return false;
1007 }
1008 case GICXXPred_MI_Predicate_anonymous_17455: {
1009 return false;
1010 }
1011 case GICXXPred_MI_Predicate_ffloor_nnan: {
1012
1013 return MI.getFlag(MachineInstr::FmNoNans);
1014
1015 }
1016 case GICXXPred_MI_Predicate_imm_su: {
1017 return true;
1018 }
1019 case GICXXPred_MI_Predicate_loadi8: {
1020 return isa<GLoad>(MI);
1021 }
1022 case GICXXPred_MI_Predicate_loadi16: {
1023
1024 auto &Load = cast<GLoad>(MI);
1025 LLT Ty = MRI.getType(Load.getDstReg());
1026 // Non extending load has MMO and destination types of the same size
1027 if (Load.getMemSizeInBits() == Ty.getSizeInBits())
1028 return true;
1029 return Load.getAlign() >= 2 && Load.isSimple();
1030
1031 llvm_unreachable("loadi16 should have returned");
1032 }
1033 case GICXXPred_MI_Predicate_loadi32: {
1034
1035 auto &Load = cast<GLoad>(MI);
1036 LLT Ty = MRI.getType(Load.getDstReg());
1037 // Non extending load has MMO and destination types of the same size
1038 if (Load.getMemSizeInBits() == Ty.getSizeInBits())
1039 return true;
1040 return Load.getAlign() >= 4 && Load.isSimple();
1041
1042 llvm_unreachable("loadi32 should have returned");
1043 }
1044 case GICXXPred_MI_Predicate_or_disjoint: {
1045
1046 return MI.getFlag(MachineInstr::Disjoint);
1047
1048 }
1049 }
1050 llvm_unreachable("Unknown predicate");
1051 return false;
1052}
1053// PatFrag predicates.
1054bool X86InstructionSelector::testMOPredicate_MO(unsigned PredicateID, const MachineOperand & MO, const MatcherState &State) const {
1055 const auto &Operands = State.RecordedOperands;
1056 Register Reg = MO.getReg();
1057 (void)Operands;
1058 (void)Reg;
1059 llvm_unreachable("Unknown predicate");
1060 return false;
1061}
1062// PatFrag predicates.
1063enum {
1064 GICXXPred_I64_Predicate_AndMask64 = GICXXPred_Invalid + 1,
1065 GICXXPred_I64_Predicate_BTCBTSMask64,
1066 GICXXPred_I64_Predicate_BTRMask64,
1067 GICXXPred_I64_Predicate_FPNoSaturation,
1068 GICXXPred_I64_Predicate_Float8E4M3FN,
1069 GICXXPred_I64_Predicate_Float8E5M2,
1070 GICXXPred_I64_Predicate_NearestTiesToEven,
1071 GICXXPred_I64_Predicate_i16immSExt8,
1072 GICXXPred_I64_Predicate_i32immSExt8,
1073 GICXXPred_I64_Predicate_i64immSExt8,
1074 GICXXPred_I64_Predicate_i64immSExt32,
1075 GICXXPred_I64_Predicate_i64immZExt32,
1076 GICXXPred_I64_Predicate_i64immZExt32SExt8,
1077 GICXXPred_I64_Predicate_i64timmSExt32,
1078 GICXXPred_I64_Predicate_immff00_ffff,
1079};
1080bool X86InstructionSelector::testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const {
1081 switch (PredicateID) {
1082 case GICXXPred_I64_Predicate_AndMask64: {
1083
1084 return isMask_64(Imm) && !isUInt<32>(Imm);
1085
1086 }
1087 case GICXXPred_I64_Predicate_BTCBTSMask64: {
1088
1089 return !isInt<32>(Imm) && isPowerOf2_64(Imm);
1090
1091 }
1092 case GICXXPred_I64_Predicate_BTRMask64: {
1093
1094 return !isUInt<32>(Imm) && !isInt<32>(Imm) && isPowerOf2_64(~Imm);
1095
1096 }
1097 case GICXXPred_I64_Predicate_FPNoSaturation: {
1098 return Imm == 0;
1099 }
1100 case GICXXPred_I64_Predicate_Float8E4M3FN: {
1101 return Imm == APFloatBase::S_Float8E4M3FN;
1102 }
1103 case GICXXPred_I64_Predicate_Float8E5M2: {
1104 return Imm == APFloatBase::S_Float8E5M2;
1105 }
1106 case GICXXPred_I64_Predicate_NearestTiesToEven: {
1107 return Imm == static_cast<int>(RoundingMode::NearestTiesToEven);
1108 }
1109 case GICXXPred_I64_Predicate_i16immSExt8: {
1110 return isInt<8>(Imm);
1111 }
1112 case GICXXPred_I64_Predicate_i32immSExt8: {
1113 return isInt<8>(Imm);
1114 }
1115 case GICXXPred_I64_Predicate_i64immSExt8: {
1116 return isInt<8>(Imm);
1117 }
1118 case GICXXPred_I64_Predicate_i64immSExt32: {
1119 return isInt<32>(Imm);
1120 }
1121 case GICXXPred_I64_Predicate_i64immZExt32: {
1122 return isUInt<32>(Imm);
1123 }
1124 case GICXXPred_I64_Predicate_i64immZExt32SExt8: {
1125
1126 return isUInt<32>(Imm) && isInt<8>(static_cast<int32_t>(Imm));
1127
1128 }
1129 case GICXXPred_I64_Predicate_i64timmSExt32: {
1130 return isInt<32>(Imm);
1131 }
1132 case GICXXPred_I64_Predicate_immff00_ffff: {
1133
1134 return Imm >= 0xff00 && Imm <= 0xffff;
1135
1136 }
1137 }
1138 llvm_unreachable("Unknown predicate");
1139 return false;
1140}
1141// PatFrag predicates.
1142enum {
1143 GICXXPred_APFloat_Predicate_fpimm0 = GICXXPred_Invalid + 1,
1144 GICXXPred_APFloat_Predicate_fpimm1,
1145 GICXXPred_APFloat_Predicate_fpimmneg0,
1146 GICXXPred_APFloat_Predicate_fpimmneg1,
1147};
1148bool X86InstructionSelector::testImmPredicate_APFloat(unsigned PredicateID, const APFloat & Imm) const {
1149 switch (PredicateID) {
1150 case GICXXPred_APFloat_Predicate_fpimm0: {
1151
1152 return Imm.isPosZero();
1153
1154 }
1155 case GICXXPred_APFloat_Predicate_fpimm1: {
1156
1157 return Imm.isOne();
1158
1159 }
1160 case GICXXPred_APFloat_Predicate_fpimmneg0: {
1161
1162 return Imm.isNegZero();
1163
1164 }
1165 case GICXXPred_APFloat_Predicate_fpimmneg1: {
1166
1167 return Imm.isMinusOne();
1168
1169 }
1170 }
1171 llvm_unreachable("Unknown predicate");
1172 return false;
1173}
1174// PatFrag predicates.
1175bool X86InstructionSelector::testImmPredicate_APInt(unsigned PredicateID, const APInt & Imm) const {
1176 llvm_unreachable("Unknown predicate");
1177 return false;
1178}
1179bool X86InstructionSelector::testSimplePredicate(unsigned) const {
1180 llvm_unreachable("X86InstructionSelector does not support simple predicates!");
1181 return false;
1182}
1183// Custom renderers.
1184enum {
1185 GICR_Invalid,
1186 GICR_renderFrameIndex,
1187};
1188X86InstructionSelector::CustomRendererFn
1189X86InstructionSelector::CustomRenderers[] = {
1190 nullptr, // GICR_Invalid
1191 &X86InstructionSelector::renderFrameIndex,
1192};
1193
1194bool X86InstructionSelector::selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const {
1195 const PredicateBitset AvailableFeatures = getAvailableFeatures();
1196 MachineIRBuilder B(I);
1197 State.MIs.clear();
1198 State.MIs.push_back(&I);
1199
1200 if (executeMatchTable(*this, State, ExecInfo, B, getMatchTable(), TII, MF->getRegInfo(), TRI, RBI, AvailableFeatures, &CoverageInfo)) {
1201 return true;
1202 }
1203
1204 return false;
1205}
1206
1207bool X86InstructionSelector::runCustomAction(unsigned, const MatcherState&, NewMIVector &) const {
1208 llvm_unreachable("X86InstructionSelector does not support custom C++ actions!");
1209}
1210#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
1211#define GIMT_Encode2(Val) uint8_t(Val), uint8_t((Val) >> 8)
1212#define GIMT_Encode4(Val) uint8_t(Val), uint8_t((Val) >> 8), uint8_t((Val) >> 16), uint8_t((Val) >> 24)
1213#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)
1214#else
1215#define GIMT_Encode2(Val) uint8_t((Val) >> 8), uint8_t(Val)
1216#define GIMT_Encode4(Val) uint8_t((Val) >> 24), uint8_t((Val) >> 16), uint8_t((Val) >> 8), uint8_t(Val)
1217#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)
1218#endif
1219const uint8_t *X86InstructionSelector::getMatchTable() const {
1220 constexpr static uint8_t MatchTable0[] = {
1221 /* 0 */ GIM_SwitchOpcode, /*MI*/0, /*[*/GIMT_Encode2(55), GIMT_Encode2(365), /*)*//*default:*//*Label 87*/ GIMT_Encode4(233833),
1222 /* 10 */ /*TargetOpcode::G_ADD*//*Label 0*/ GIMT_Encode4(1250),
1223 /* 14 */ /*TargetOpcode::G_SUB*//*Label 1*/ GIMT_Encode4(6432),
1224 /* 18 */ /*TargetOpcode::G_MUL*//*Label 2*/ GIMT_Encode4(9568), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1225 /* 46 */ /*TargetOpcode::G_AND*//*Label 3*/ GIMT_Encode4(12920),
1226 /* 50 */ /*TargetOpcode::G_OR*//*Label 4*/ GIMT_Encode4(22517),
1227 /* 54 */ /*TargetOpcode::G_XOR*//*Label 5*/ GIMT_Encode4(30658), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1228 /* 70 */ /*TargetOpcode::G_UAVGCEIL*//*Label 6*/ GIMT_Encode4(42721), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1229 /* 130 */ /*TargetOpcode::G_CONCAT_VECTORS*//*Label 7*/ GIMT_Encode4(44343), GIMT_Encode4(0), GIMT_Encode4(0),
1230 /* 142 */ /*TargetOpcode::G_BITCAST*//*Label 8*/ GIMT_Encode4(44487), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1231 /* 166 */ /*TargetOpcode::G_INTRINSIC_LRINT*//*Label 9*/ GIMT_Encode4(47094),
1232 /* 170 */ /*TargetOpcode::G_INTRINSIC_LLRINT*//*Label 10*/ GIMT_Encode4(50252), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1233 /* 186 */ /*TargetOpcode::G_LOAD*//*Label 11*/ GIMT_Encode4(51507),
1234 /* 190 */ /*TargetOpcode::G_SEXTLOAD*//*Label 12*/ GIMT_Encode4(57411),
1235 /* 194 */ /*TargetOpcode::G_ZEXTLOAD*//*Label 13*/ GIMT_Encode4(57743),
1236 /* 198 */ /*TargetOpcode::G_FPEXTLOAD*//*Label 14*/ GIMT_Encode4(58386), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1237 /* 214 */ /*TargetOpcode::G_STORE*//*Label 15*/ GIMT_Encode4(58569),
1238 /* 218 */ /*TargetOpcode::G_FPTRUNCSTORE*//*Label 16*/ GIMT_Encode4(83844), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1239 /* 234 */ /*TargetOpcode::G_ATOMICRMW_XCHG*//*Label 17*/ GIMT_Encode4(84027),
1240 /* 238 */ /*TargetOpcode::G_ATOMICRMW_ADD*//*Label 18*/ GIMT_Encode4(84263), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1241 /* 330 */ /*TargetOpcode::G_PREFETCH*//*Label 19*/ GIMT_Encode4(84511), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1242 /* 346 */ /*TargetOpcode::G_INTRINSIC*//*Label 20*/ GIMT_Encode4(84894),
1243 /* 350 */ /*TargetOpcode::G_INTRINSIC_W_SIDE_EFFECTS*//*Label 21*/ GIMT_Encode4(97176), GIMT_Encode4(0), GIMT_Encode4(0),
1244 /* 362 */ /*TargetOpcode::G_ANYEXT*//*Label 22*/ GIMT_Encode4(105594),
1245 /* 366 */ /*TargetOpcode::G_TRUNC*//*Label 23*/ GIMT_Encode4(106051), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1246 /* 382 */ /*TargetOpcode::G_CONSTANT*//*Label 24*/ GIMT_Encode4(107167),
1247 /* 386 */ /*TargetOpcode::G_FCONSTANT*//*Label 25*/ GIMT_Encode4(107762), GIMT_Encode4(0), GIMT_Encode4(0),
1248 /* 398 */ /*TargetOpcode::G_SEXT*//*Label 26*/ GIMT_Encode4(108205),
1249 /* 402 */ /*TargetOpcode::G_SEXT_INREG*//*Label 27*/ GIMT_Encode4(110070),
1250 /* 406 */ /*TargetOpcode::G_ZEXT*//*Label 28*/ GIMT_Encode4(110312),
1251 /* 410 */ /*TargetOpcode::G_SHL*//*Label 29*/ GIMT_Encode4(112313),
1252 /* 414 */ /*TargetOpcode::G_LSHR*//*Label 30*/ GIMT_Encode4(113945),
1253 /* 418 */ /*TargetOpcode::G_ASHR*//*Label 31*/ GIMT_Encode4(115369),
1254 /* 422 */ /*TargetOpcode::G_FSHL*//*Label 32*/ GIMT_Encode4(116793),
1255 /* 426 */ /*TargetOpcode::G_FSHR*//*Label 33*/ GIMT_Encode4(119474),
1256 /* 430 */ /*TargetOpcode::G_ROTR*//*Label 34*/ GIMT_Encode4(122209),
1257 /* 434 */ /*TargetOpcode::G_ROTL*//*Label 35*/ GIMT_Encode4(125358),
1258 /* 438 */ /*TargetOpcode::G_ICMP*//*Label 36*/ GIMT_Encode4(128734), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1259 /* 454 */ /*TargetOpcode::G_SELECT*//*Label 37*/ GIMT_Encode4(130372), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1260 /* 498 */ /*TargetOpcode::G_UMULH*//*Label 38*/ GIMT_Encode4(137750),
1261 /* 502 */ /*TargetOpcode::G_SMULH*//*Label 39*/ GIMT_Encode4(138567),
1262 /* 506 */ /*TargetOpcode::G_UADDSAT*//*Label 40*/ GIMT_Encode4(139384),
1263 /* 510 */ /*TargetOpcode::G_SADDSAT*//*Label 41*/ GIMT_Encode4(141006),
1264 /* 514 */ /*TargetOpcode::G_USUBSAT*//*Label 42*/ GIMT_Encode4(142628),
1265 /* 518 */ /*TargetOpcode::G_SSUBSAT*//*Label 43*/ GIMT_Encode4(143636), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1266 /* 562 */ /*TargetOpcode::G_FADD*//*Label 44*/ GIMT_Encode4(144644),
1267 /* 566 */ /*TargetOpcode::G_FSUB*//*Label 45*/ GIMT_Encode4(150367),
1268 /* 570 */ /*TargetOpcode::G_FMUL*//*Label 46*/ GIMT_Encode4(154384),
1269 /* 574 */ /*TargetOpcode::G_FMA*//*Label 47*/ GIMT_Encode4(160107), GIMT_Encode4(0),
1270 /* 582 */ /*TargetOpcode::G_FDIV*//*Label 48*/ GIMT_Encode4(165887), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1271 /* 634 */ /*TargetOpcode::G_FNEG*//*Label 49*/ GIMT_Encode4(169904),
1272 /* 638 */ /*TargetOpcode::G_FPEXT*//*Label 50*/ GIMT_Encode4(170024),
1273 /* 642 */ /*TargetOpcode::G_FPTRUNC*//*Label 51*/ GIMT_Encode4(170997),
1274 /* 646 */ /*TargetOpcode::G_FPTOSI*//*Label 52*/ GIMT_Encode4(171394),
1275 /* 650 */ /*TargetOpcode::G_FPTOUI*//*Label 53*/ GIMT_Encode4(172705),
1276 /* 654 */ /*TargetOpcode::G_SITOFP*//*Label 54*/ GIMT_Encode4(173277),
1277 /* 658 */ /*TargetOpcode::G_UITOFP*//*Label 55*/ GIMT_Encode4(176715),
1278 /* 662 */ /*TargetOpcode::G_FPTOSI_SAT*//*Label 56*/ GIMT_Encode4(179128),
1279 /* 666 */ /*TargetOpcode::G_FPTOUI_SAT*//*Label 57*/ GIMT_Encode4(180008),
1280 /* 670 */ /*TargetOpcode::G_FABS*//*Label 58*/ GIMT_Encode4(180888), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1281 /* 758 */ /*TargetOpcode::G_SMIN*//*Label 59*/ GIMT_Encode4(181008),
1282 /* 762 */ /*TargetOpcode::G_SMAX*//*Label 60*/ GIMT_Encode4(184240),
1283 /* 766 */ /*TargetOpcode::G_UMIN*//*Label 61*/ GIMT_Encode4(187472),
1284 /* 770 */ /*TargetOpcode::G_UMAX*//*Label 62*/ GIMT_Encode4(190704),
1285 /* 774 */ /*TargetOpcode::G_ABS*//*Label 63*/ GIMT_Encode4(193936), GIMT_Encode4(0), GIMT_Encode4(0),
1286 /* 786 */ /*TargetOpcode::G_BR*//*Label 64*/ GIMT_Encode4(195754), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1287 /* 802 */ /*TargetOpcode::G_EXTRACT_SUBVECTOR*//*Label 65*/ GIMT_Encode4(195770), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1288 /* 826 */ /*TargetOpcode::G_VECTOR_COMPRESS*//*Label 66*/ GIMT_Encode4(198632),
1289 /* 830 */ /*TargetOpcode::G_CTTZ*//*Label 67*/ GIMT_Encode4(200552),
1290 /* 834 */ /*TargetOpcode::G_CTTZ_ZERO_POISON*//*Label 68*/ GIMT_Encode4(200852),
1291 /* 838 */ /*TargetOpcode::G_CTLZ*//*Label 69*/ GIMT_Encode4(201239), GIMT_Encode4(0), GIMT_Encode4(0),
1292 /* 850 */ /*TargetOpcode::G_CTPOP*//*Label 70*/ GIMT_Encode4(202549),
1293 /* 854 */ /*TargetOpcode::G_BSWAP*//*Label 71*/ GIMT_Encode4(204789),
1294 /* 858 */ /*TargetOpcode::G_BITREVERSE*//*Label 72*/ GIMT_Encode4(205283), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1295 /* 914 */ /*TargetOpcode::G_FSQRT*//*Label 73*/ GIMT_Encode4(205772), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1296 /* 954 */ /*TargetOpcode::G_STRICT_FADD*//*Label 74*/ GIMT_Encode4(207900),
1297 /* 958 */ /*TargetOpcode::G_STRICT_FSUB*//*Label 75*/ GIMT_Encode4(212659),
1298 /* 962 */ /*TargetOpcode::G_STRICT_FMUL*//*Label 76*/ GIMT_Encode4(216194),
1299 /* 966 */ /*TargetOpcode::G_STRICT_FDIV*//*Label 77*/ GIMT_Encode4(220953), GIMT_Encode4(0),
1300 /* 974 */ /*TargetOpcode::G_STRICT_FMA*//*Label 78*/ GIMT_Encode4(224488),
1301 /* 978 */ /*TargetOpcode::G_STRICT_FSQRT*//*Label 79*/ GIMT_Encode4(230268), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1302 /* 1026 */ /*TargetOpcode::G_TRAP*//*Label 80*/ GIMT_Encode4(232396),
1303 /* 1030 */ /*TargetOpcode::G_DEBUGTRAP*//*Label 81*/ GIMT_Encode4(232409),
1304 /* 1034 */ /*TargetOpcode::G_UBSANTRAP*//*Label 82*/ GIMT_Encode4(232443), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1305 /* 1234 */ /*X86::G_FILD*//*Label 83*/ GIMT_Encode4(232459),
1306 /* 1238 */ /*X86::G_FIST*//*Label 84*/ GIMT_Encode4(232909),
1307 /* 1242 */ /*X86::G_FLDCW16*//*Label 85*/ GIMT_Encode4(233764),
1308 /* 1246 */ /*X86::G_FNSTCW16*//*Label 86*/ GIMT_Encode4(233800),
1309 /* 1250 */ // Label 0: @1250
1310 /* 1250 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 104*/ GIMT_Encode4(6431),
1311 /* 1261 */ /*GILLT_s8*//*Label 88*/ GIMT_Encode4(1357),
1312 /* 1265 */ /*GILLT_s16*//*Label 89*/ GIMT_Encode4(1706),
1313 /* 1269 */ /*GILLT_s32*//*Label 90*/ GIMT_Encode4(2116),
1314 /* 1273 */ /*GILLT_s64*//*Label 91*/ GIMT_Encode4(2526), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1315 /* 1309 */ /*GILLT_v16s8*//*Label 92*/ GIMT_Encode4(3019),
1316 /* 1313 */ /*GILLT_v32s8*//*Label 93*/ GIMT_Encode4(3348),
1317 /* 1317 */ /*GILLT_v64s8*//*Label 94*/ GIMT_Encode4(3657),
1318 /* 1321 */ /*GILLT_v8s16*//*Label 95*/ GIMT_Encode4(3812),
1319 /* 1325 */ /*GILLT_v16s16*//*Label 96*/ GIMT_Encode4(4261),
1320 /* 1329 */ /*GILLT_v32s16*//*Label 97*/ GIMT_Encode4(4570),
1321 /* 1333 */ /*GILLT_v4s32*//*Label 98*/ GIMT_Encode4(4725),
1322 /* 1337 */ /*GILLT_v8s32*//*Label 99*/ GIMT_Encode4(5174),
1323 /* 1341 */ /*GILLT_v16s32*//*Label 100*/ GIMT_Encode4(5483),
1324 /* 1345 */ /*GILLT_v2s64*//*Label 101*/ GIMT_Encode4(5638),
1325 /* 1349 */ /*GILLT_v4s64*//*Label 102*/ GIMT_Encode4(5967),
1326 /* 1353 */ /*GILLT_v8s64*//*Label 103*/ GIMT_Encode4(6276),
1327 /* 1357 */ // Label 88: @1357
1328 /* 1357 */ GIM_Try, /*On fail goto*//*Label 105*/ GIMT_Encode4(1705),
1329 /* 1362 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
1330 /* 1365 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
1331 /* 1368 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1332 /* 1372 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 106*/ GIMT_Encode4(1432), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26302 //
1333 /* 1379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1334 /* 1383 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1335 /* 1387 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1336 /* 1390 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1337 /* 1394 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
1338 /* 1398 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1339 /* 1402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1340 /* 1404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1341 /* 1411 */ // (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)
1342 /* 1411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rm),
1343 /* 1414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1344 /* 1416 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1345 /* 1418 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1346 /* 1422 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1347 /* 1425 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1348 /* 1430 */ GIR_RootConstrainSelectedInstOperands,
1349 /* 1431 */ // GIR_Coverage, 26302,
1350 /* 1431 */ GIR_EraseRootFromParent_Done,
1351 /* 1432 */ // Label 106: @1432
1352 /* 1432 */ GIM_Try, /*On fail goto*//*Label 107*/ GIMT_Encode4(1704),
1353 /* 1437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1354 /* 1441 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 108*/ GIMT_Encode4(1497), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23033 //
1355 /* 1448 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1356 /* 1452 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1357 /* 1456 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1358 /* 1459 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1359 /* 1463 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
1360 /* 1467 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1361 /* 1469 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1362 /* 1476 */ // (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)
1363 /* 1476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rm),
1364 /* 1479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1365 /* 1481 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1366 /* 1483 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1367 /* 1487 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1368 /* 1490 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1369 /* 1495 */ GIR_RootConstrainSelectedInstOperands,
1370 /* 1496 */ // GIR_Coverage, 23033,
1371 /* 1496 */ GIR_EraseRootFromParent_Done,
1372 /* 1497 */ // Label 108: @1497
1373 /* 1497 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 109*/ GIMT_Encode4(1520), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23099 //
1374 /* 1504 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1375 /* 1508 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] }) => (INC8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1376 /* 1508 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r),
1377 /* 1511 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1378 /* 1513 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1379 /* 1515 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1380 /* 1518 */ GIR_RootConstrainSelectedInstOperands,
1381 /* 1519 */ // GIR_Coverage, 23099,
1382 /* 1519 */ GIR_EraseRootFromParent_Done,
1383 /* 1520 */ // Label 109: @1520
1384 /* 1520 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 110*/ GIMT_Encode4(1543), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23107 //
1385 /* 1527 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1386 /* 1531 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, -1:{ *:[i8] }) => (DEC8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1387 /* 1531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8r),
1388 /* 1534 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1389 /* 1536 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1390 /* 1538 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1391 /* 1541 */ GIR_RootConstrainSelectedInstOperands,
1392 /* 1542 */ // GIR_Coverage, 23107,
1393 /* 1542 */ GIR_EraseRootFromParent_Done,
1394 /* 1543 */ // Label 110: @1543
1395 /* 1543 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 111*/ GIMT_Encode4(1566), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23189 //
1396 /* 1550 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1397 /* 1554 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] }) => (INC8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1398 /* 1554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r_ND),
1399 /* 1557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1400 /* 1559 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1401 /* 1561 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1402 /* 1564 */ GIR_RootConstrainSelectedInstOperands,
1403 /* 1565 */ // GIR_Coverage, 23189,
1404 /* 1565 */ GIR_EraseRootFromParent_Done,
1405 /* 1566 */ // Label 111: @1566
1406 /* 1566 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 112*/ GIMT_Encode4(1589), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23197 //
1407 /* 1573 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1408 /* 1577 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, -1:{ *:[i8] }) => (DEC8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1409 /* 1577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8r_ND),
1410 /* 1580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1411 /* 1582 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1412 /* 1584 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1413 /* 1587 */ GIR_RootConstrainSelectedInstOperands,
1414 /* 1588 */ // GIR_Coverage, 23197,
1415 /* 1588 */ GIR_EraseRootFromParent_Done,
1416 /* 1589 */ // Label 112: @1589
1417 /* 1589 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 113*/ GIMT_Encode4(1621), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23037 //
1418 /* 1596 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1419 /* 1600 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1420 /* 1604 */ // MIs[1] Operand 1
1421 /* 1604 */ // No operand predicates
1422 /* 1604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1423 /* 1606 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ADD8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
1424 /* 1606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri),
1425 /* 1609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1426 /* 1611 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1427 /* 1613 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1428 /* 1616 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1429 /* 1619 */ GIR_RootConstrainSelectedInstOperands,
1430 /* 1620 */ // GIR_Coverage, 23037,
1431 /* 1620 */ GIR_EraseRootFromParent_Done,
1432 /* 1621 */ // Label 113: @1621
1433 /* 1621 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 114*/ GIMT_Encode4(1653), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23127 //
1434 /* 1628 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1435 /* 1632 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1436 /* 1636 */ // MIs[1] Operand 1
1437 /* 1636 */ // No operand predicates
1438 /* 1636 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1439 /* 1638 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ADD8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
1440 /* 1638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri_ND),
1441 /* 1641 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1442 /* 1643 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1443 /* 1645 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1444 /* 1648 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1445 /* 1651 */ GIR_RootConstrainSelectedInstOperands,
1446 /* 1652 */ // GIR_Coverage, 23127,
1447 /* 1652 */ GIR_EraseRootFromParent_Done,
1448 /* 1653 */ // Label 114: @1653
1449 /* 1653 */ GIM_Try, /*On fail goto*//*Label 115*/ GIMT_Encode4(1703),
1450 /* 1658 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1451 /* 1662 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 116*/ GIMT_Encode4(1682), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23029 //
1452 /* 1669 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (ADD8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
1453 /* 1669 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD8rr),
1454 /* 1674 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1455 /* 1680 */ GIR_RootConstrainSelectedInstOperands,
1456 /* 1681 */ // GIR_Coverage, 23029,
1457 /* 1681 */ GIR_Done,
1458 /* 1682 */ // Label 116: @1682
1459 /* 1682 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 117*/ GIMT_Encode4(1702), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23119 //
1460 /* 1689 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (ADD8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
1461 /* 1689 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD8rr_ND),
1462 /* 1694 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1463 /* 1700 */ GIR_RootConstrainSelectedInstOperands,
1464 /* 1701 */ // GIR_Coverage, 23119,
1465 /* 1701 */ GIR_Done,
1466 /* 1702 */ // Label 117: @1702
1467 /* 1702 */ GIM_Reject,
1468 /* 1703 */ // Label 115: @1703
1469 /* 1703 */ GIM_Reject,
1470 /* 1704 */ // Label 107: @1704
1471 /* 1704 */ GIM_Reject,
1472 /* 1705 */ // Label 105: @1705
1473 /* 1705 */ GIM_Reject,
1474 /* 1706 */ // Label 89: @1706
1475 /* 1706 */ GIM_Try, /*On fail goto*//*Label 118*/ GIMT_Encode4(2115),
1476 /* 1711 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
1477 /* 1714 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
1478 /* 1717 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1479 /* 1721 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 119*/ GIMT_Encode4(1781), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26303 //
1480 /* 1728 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1481 /* 1732 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1482 /* 1736 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1483 /* 1739 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1484 /* 1743 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1485 /* 1747 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1486 /* 1751 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1487 /* 1753 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1488 /* 1760 */ // (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)
1489 /* 1760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rm),
1490 /* 1763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1491 /* 1765 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1492 /* 1767 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1493 /* 1771 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1494 /* 1774 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1495 /* 1779 */ GIR_RootConstrainSelectedInstOperands,
1496 /* 1780 */ // GIR_Coverage, 26303,
1497 /* 1780 */ GIR_EraseRootFromParent_Done,
1498 /* 1781 */ // Label 119: @1781
1499 /* 1781 */ GIM_Try, /*On fail goto*//*Label 120*/ GIMT_Encode4(2114),
1500 /* 1786 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1501 /* 1790 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 121*/ GIMT_Encode4(1846), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23034 //
1502 /* 1797 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1503 /* 1801 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1504 /* 1805 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1505 /* 1808 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1506 /* 1812 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1507 /* 1816 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1508 /* 1818 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1509 /* 1825 */ // (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)
1510 /* 1825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rm),
1511 /* 1828 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1512 /* 1830 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1513 /* 1832 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1514 /* 1836 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1515 /* 1839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1516 /* 1844 */ GIR_RootConstrainSelectedInstOperands,
1517 /* 1845 */ // GIR_Coverage, 23034,
1518 /* 1845 */ GIR_EraseRootFromParent_Done,
1519 /* 1846 */ // Label 121: @1846
1520 /* 1846 */ GIM_Try, /*On fail goto*//*Label 122*/ GIMT_Encode4(1907),
1521 /* 1851 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1522 /* 1862 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 123*/ GIMT_Encode4(1884), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 22829 //
1523 /* 1869 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, 128:{ *:[i16] }) => (SUB16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -128:{ *:[i16] })
1524 /* 1869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri),
1525 /* 1872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1526 /* 1874 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1527 /* 1876 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1528 /* 1879 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1529 /* 1882 */ GIR_RootConstrainSelectedInstOperands,
1530 /* 1883 */ // GIR_Coverage, 22829,
1531 /* 1883 */ GIR_EraseRootFromParent_Done,
1532 /* 1884 */ // Label 123: @1884
1533 /* 1884 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 124*/ GIMT_Encode4(1906), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 22835 //
1534 /* 1891 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, 128:{ *:[i16] }) => (SUB16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -128:{ *:[i16] })
1535 /* 1891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri_ND),
1536 /* 1894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1537 /* 1896 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1538 /* 1898 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1539 /* 1901 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1540 /* 1904 */ GIR_RootConstrainSelectedInstOperands,
1541 /* 1905 */ // GIR_Coverage, 22835,
1542 /* 1905 */ GIR_EraseRootFromParent_Done,
1543 /* 1906 */ // Label 124: @1906
1544 /* 1906 */ GIM_Reject,
1545 /* 1907 */ // Label 122: @1907
1546 /* 1907 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 125*/ GIMT_Encode4(1930), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23101 //
1547 /* 1914 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1548 /* 1918 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] }) => (INC16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1549 /* 1918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r),
1550 /* 1921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1551 /* 1923 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1552 /* 1925 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1553 /* 1928 */ GIR_RootConstrainSelectedInstOperands,
1554 /* 1929 */ // GIR_Coverage, 23101,
1555 /* 1929 */ GIR_EraseRootFromParent_Done,
1556 /* 1930 */ // Label 125: @1930
1557 /* 1930 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 126*/ GIMT_Encode4(1953), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23108 //
1558 /* 1937 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1559 /* 1941 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, -1:{ *:[i16] }) => (DEC16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1560 /* 1941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16r),
1561 /* 1944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1562 /* 1946 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1563 /* 1948 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1564 /* 1951 */ GIR_RootConstrainSelectedInstOperands,
1565 /* 1952 */ // GIR_Coverage, 23108,
1566 /* 1952 */ GIR_EraseRootFromParent_Done,
1567 /* 1953 */ // Label 126: @1953
1568 /* 1953 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 127*/ GIMT_Encode4(1976), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23191 //
1569 /* 1960 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1570 /* 1964 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] }) => (INC16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1571 /* 1964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r_ND),
1572 /* 1967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1573 /* 1969 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1574 /* 1971 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1575 /* 1974 */ GIR_RootConstrainSelectedInstOperands,
1576 /* 1975 */ // GIR_Coverage, 23191,
1577 /* 1975 */ GIR_EraseRootFromParent_Done,
1578 /* 1976 */ // Label 127: @1976
1579 /* 1976 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 128*/ GIMT_Encode4(1999), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23198 //
1580 /* 1983 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1581 /* 1987 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, -1:{ *:[i16] }) => (DEC16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1582 /* 1987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16r_ND),
1583 /* 1990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1584 /* 1992 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1585 /* 1994 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1586 /* 1997 */ GIR_RootConstrainSelectedInstOperands,
1587 /* 1998 */ // GIR_Coverage, 23198,
1588 /* 1998 */ GIR_EraseRootFromParent_Done,
1589 /* 1999 */ // Label 128: @1999
1590 /* 1999 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 129*/ GIMT_Encode4(2031), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23038 //
1591 /* 2006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1592 /* 2010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1593 /* 2014 */ // MIs[1] Operand 1
1594 /* 2014 */ // No operand predicates
1595 /* 2014 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1596 /* 2016 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (ADD16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
1597 /* 2016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri),
1598 /* 2019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1599 /* 2021 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1600 /* 2023 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1601 /* 2026 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1602 /* 2029 */ GIR_RootConstrainSelectedInstOperands,
1603 /* 2030 */ // GIR_Coverage, 23038,
1604 /* 2030 */ GIR_EraseRootFromParent_Done,
1605 /* 2031 */ // Label 129: @2031
1606 /* 2031 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 130*/ GIMT_Encode4(2063), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23128 //
1607 /* 2038 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1608 /* 2042 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1609 /* 2046 */ // MIs[1] Operand 1
1610 /* 2046 */ // No operand predicates
1611 /* 2046 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1612 /* 2048 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (ADD16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
1613 /* 2048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri_ND),
1614 /* 2051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1615 /* 2053 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1616 /* 2055 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1617 /* 2058 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1618 /* 2061 */ GIR_RootConstrainSelectedInstOperands,
1619 /* 2062 */ // GIR_Coverage, 23128,
1620 /* 2062 */ GIR_EraseRootFromParent_Done,
1621 /* 2063 */ // Label 130: @2063
1622 /* 2063 */ GIM_Try, /*On fail goto*//*Label 131*/ GIMT_Encode4(2113),
1623 /* 2068 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1624 /* 2072 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 132*/ GIMT_Encode4(2092), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23030 //
1625 /* 2079 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (ADD16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
1626 /* 2079 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD16rr),
1627 /* 2084 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1628 /* 2090 */ GIR_RootConstrainSelectedInstOperands,
1629 /* 2091 */ // GIR_Coverage, 23030,
1630 /* 2091 */ GIR_Done,
1631 /* 2092 */ // Label 132: @2092
1632 /* 2092 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 133*/ GIMT_Encode4(2112), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23120 //
1633 /* 2099 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (ADD16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
1634 /* 2099 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD16rr_ND),
1635 /* 2104 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1636 /* 2110 */ GIR_RootConstrainSelectedInstOperands,
1637 /* 2111 */ // GIR_Coverage, 23120,
1638 /* 2111 */ GIR_Done,
1639 /* 2112 */ // Label 133: @2112
1640 /* 2112 */ GIM_Reject,
1641 /* 2113 */ // Label 131: @2113
1642 /* 2113 */ GIM_Reject,
1643 /* 2114 */ // Label 120: @2114
1644 /* 2114 */ GIM_Reject,
1645 /* 2115 */ // Label 118: @2115
1646 /* 2115 */ GIM_Reject,
1647 /* 2116 */ // Label 90: @2116
1648 /* 2116 */ GIM_Try, /*On fail goto*//*Label 134*/ GIMT_Encode4(2525),
1649 /* 2121 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
1650 /* 2124 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
1651 /* 2127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1652 /* 2131 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 135*/ GIMT_Encode4(2191), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26304 //
1653 /* 2138 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1654 /* 2142 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1655 /* 2146 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1656 /* 2149 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1657 /* 2153 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1658 /* 2157 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1659 /* 2161 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1660 /* 2163 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1661 /* 2170 */ // (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)
1662 /* 2170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rm),
1663 /* 2173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1664 /* 2175 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1665 /* 2177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1666 /* 2181 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1667 /* 2184 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1668 /* 2189 */ GIR_RootConstrainSelectedInstOperands,
1669 /* 2190 */ // GIR_Coverage, 26304,
1670 /* 2190 */ GIR_EraseRootFromParent_Done,
1671 /* 2191 */ // Label 135: @2191
1672 /* 2191 */ GIM_Try, /*On fail goto*//*Label 136*/ GIMT_Encode4(2524),
1673 /* 2196 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1674 /* 2200 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 137*/ GIMT_Encode4(2256), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23035 //
1675 /* 2207 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1676 /* 2211 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1677 /* 2215 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1678 /* 2218 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1679 /* 2222 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1680 /* 2226 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1681 /* 2228 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1682 /* 2235 */ // (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)
1683 /* 2235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rm),
1684 /* 2238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1685 /* 2240 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1686 /* 2242 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1687 /* 2246 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1688 /* 2249 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1689 /* 2254 */ GIR_RootConstrainSelectedInstOperands,
1690 /* 2255 */ // GIR_Coverage, 23035,
1691 /* 2255 */ GIR_EraseRootFromParent_Done,
1692 /* 2256 */ // Label 137: @2256
1693 /* 2256 */ GIM_Try, /*On fail goto*//*Label 138*/ GIMT_Encode4(2317),
1694 /* 2261 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1695 /* 2272 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 139*/ GIMT_Encode4(2294), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 22830 //
1696 /* 2279 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, 128:{ *:[i32] }) => (SUB32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -128:{ *:[i32] })
1697 /* 2279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri),
1698 /* 2282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1699 /* 2284 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1700 /* 2286 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1701 /* 2289 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1702 /* 2292 */ GIR_RootConstrainSelectedInstOperands,
1703 /* 2293 */ // GIR_Coverage, 22830,
1704 /* 2293 */ GIR_EraseRootFromParent_Done,
1705 /* 2294 */ // Label 139: @2294
1706 /* 2294 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 140*/ GIMT_Encode4(2316), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 22836 //
1707 /* 2301 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, 128:{ *:[i32] }) => (SUB32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -128:{ *:[i32] })
1708 /* 2301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri_ND),
1709 /* 2304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1710 /* 2306 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1711 /* 2308 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1712 /* 2311 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1713 /* 2314 */ GIR_RootConstrainSelectedInstOperands,
1714 /* 2315 */ // GIR_Coverage, 22836,
1715 /* 2315 */ GIR_EraseRootFromParent_Done,
1716 /* 2316 */ // Label 140: @2316
1717 /* 2316 */ GIM_Reject,
1718 /* 2317 */ // Label 138: @2317
1719 /* 2317 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 141*/ GIMT_Encode4(2340), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23103 //
1720 /* 2324 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1721 /* 2328 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }) => (INC32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1722 /* 2328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r),
1723 /* 2331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1724 /* 2333 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1725 /* 2335 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1726 /* 2338 */ GIR_RootConstrainSelectedInstOperands,
1727 /* 2339 */ // GIR_Coverage, 23103,
1728 /* 2339 */ GIR_EraseRootFromParent_Done,
1729 /* 2340 */ // Label 141: @2340
1730 /* 2340 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 142*/ GIMT_Encode4(2363), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23109 //
1731 /* 2347 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1732 /* 2351 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }) => (DEC32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1733 /* 2351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32r),
1734 /* 2354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1735 /* 2356 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1736 /* 2358 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1737 /* 2361 */ GIR_RootConstrainSelectedInstOperands,
1738 /* 2362 */ // GIR_Coverage, 23109,
1739 /* 2362 */ GIR_EraseRootFromParent_Done,
1740 /* 2363 */ // Label 142: @2363
1741 /* 2363 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 143*/ GIMT_Encode4(2386), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23193 //
1742 /* 2370 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1743 /* 2374 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }) => (INC32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1744 /* 2374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r_ND),
1745 /* 2377 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1746 /* 2379 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1747 /* 2381 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1748 /* 2384 */ GIR_RootConstrainSelectedInstOperands,
1749 /* 2385 */ // GIR_Coverage, 23193,
1750 /* 2385 */ GIR_EraseRootFromParent_Done,
1751 /* 2386 */ // Label 143: @2386
1752 /* 2386 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 144*/ GIMT_Encode4(2409), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23199 //
1753 /* 2393 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1754 /* 2397 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }) => (DEC32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1755 /* 2397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32r_ND),
1756 /* 2400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1757 /* 2402 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1758 /* 2404 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1759 /* 2407 */ GIR_RootConstrainSelectedInstOperands,
1760 /* 2408 */ // GIR_Coverage, 23199,
1761 /* 2408 */ GIR_EraseRootFromParent_Done,
1762 /* 2409 */ // Label 144: @2409
1763 /* 2409 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 145*/ GIMT_Encode4(2441), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23039 //
1764 /* 2416 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1765 /* 2420 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1766 /* 2424 */ // MIs[1] Operand 1
1767 /* 2424 */ // No operand predicates
1768 /* 2424 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1769 /* 2426 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (ADD32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
1770 /* 2426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri),
1771 /* 2429 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1772 /* 2431 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1773 /* 2433 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1774 /* 2436 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1775 /* 2439 */ GIR_RootConstrainSelectedInstOperands,
1776 /* 2440 */ // GIR_Coverage, 23039,
1777 /* 2440 */ GIR_EraseRootFromParent_Done,
1778 /* 2441 */ // Label 145: @2441
1779 /* 2441 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 146*/ GIMT_Encode4(2473), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23129 //
1780 /* 2448 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1781 /* 2452 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1782 /* 2456 */ // MIs[1] Operand 1
1783 /* 2456 */ // No operand predicates
1784 /* 2456 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1785 /* 2458 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (ADD32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
1786 /* 2458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri_ND),
1787 /* 2461 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1788 /* 2463 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1789 /* 2465 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1790 /* 2468 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1791 /* 2471 */ GIR_RootConstrainSelectedInstOperands,
1792 /* 2472 */ // GIR_Coverage, 23129,
1793 /* 2472 */ GIR_EraseRootFromParent_Done,
1794 /* 2473 */ // Label 146: @2473
1795 /* 2473 */ GIM_Try, /*On fail goto*//*Label 147*/ GIMT_Encode4(2523),
1796 /* 2478 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1797 /* 2482 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 148*/ GIMT_Encode4(2502), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23031 //
1798 /* 2489 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (ADD32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
1799 /* 2489 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD32rr),
1800 /* 2494 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1801 /* 2500 */ GIR_RootConstrainSelectedInstOperands,
1802 /* 2501 */ // GIR_Coverage, 23031,
1803 /* 2501 */ GIR_Done,
1804 /* 2502 */ // Label 148: @2502
1805 /* 2502 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 149*/ GIMT_Encode4(2522), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23121 //
1806 /* 2509 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (ADD32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
1807 /* 2509 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD32rr_ND),
1808 /* 2514 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1809 /* 2520 */ GIR_RootConstrainSelectedInstOperands,
1810 /* 2521 */ // GIR_Coverage, 23121,
1811 /* 2521 */ GIR_Done,
1812 /* 2522 */ // Label 149: @2522
1813 /* 2522 */ GIM_Reject,
1814 /* 2523 */ // Label 147: @2523
1815 /* 2523 */ GIM_Reject,
1816 /* 2524 */ // Label 136: @2524
1817 /* 2524 */ GIM_Reject,
1818 /* 2525 */ // Label 134: @2525
1819 /* 2525 */ GIM_Reject,
1820 /* 2526 */ // Label 91: @2526
1821 /* 2526 */ GIM_Try, /*On fail goto*//*Label 150*/ GIMT_Encode4(3018),
1822 /* 2531 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
1823 /* 2534 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
1824 /* 2537 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1825 /* 2541 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 151*/ GIMT_Encode4(2601), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26305 //
1826 /* 2548 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1827 /* 2552 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1828 /* 2556 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1829 /* 2559 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
1830 /* 2563 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1831 /* 2567 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1832 /* 2571 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1833 /* 2573 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1834 /* 2580 */ // (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)
1835 /* 2580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rm),
1836 /* 2583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1837 /* 2585 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1838 /* 2587 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1839 /* 2591 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1840 /* 2594 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1841 /* 2599 */ GIR_RootConstrainSelectedInstOperands,
1842 /* 2600 */ // GIR_Coverage, 26305,
1843 /* 2600 */ GIR_EraseRootFromParent_Done,
1844 /* 2601 */ // Label 151: @2601
1845 /* 2601 */ GIM_Try, /*On fail goto*//*Label 152*/ GIMT_Encode4(3017),
1846 /* 2606 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1847 /* 2610 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 153*/ GIMT_Encode4(2666), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23036 //
1848 /* 2617 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1849 /* 2621 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1850 /* 2625 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1851 /* 2628 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
1852 /* 2632 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1853 /* 2636 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1854 /* 2638 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1855 /* 2645 */ // (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)
1856 /* 2645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rm),
1857 /* 2648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1858 /* 2650 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1859 /* 2652 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1860 /* 2656 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1861 /* 2659 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1862 /* 2664 */ GIR_RootConstrainSelectedInstOperands,
1863 /* 2665 */ // GIR_Coverage, 23036,
1864 /* 2665 */ GIR_EraseRootFromParent_Done,
1865 /* 2666 */ // Label 153: @2666
1866 /* 2666 */ GIM_Try, /*On fail goto*//*Label 154*/ GIMT_Encode4(2727),
1867 /* 2671 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1868 /* 2682 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 155*/ GIMT_Encode4(2704), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 22831 //
1869 /* 2689 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 128:{ *:[i64] }) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -128:{ *:[i64] })
1870 /* 2689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
1871 /* 2692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1872 /* 2694 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1873 /* 2696 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1874 /* 2699 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1875 /* 2702 */ GIR_RootConstrainSelectedInstOperands,
1876 /* 2703 */ // GIR_Coverage, 22831,
1877 /* 2703 */ GIR_EraseRootFromParent_Done,
1878 /* 2704 */ // Label 155: @2704
1879 /* 2704 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 156*/ GIMT_Encode4(2726), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 22837 //
1880 /* 2711 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 128:{ *:[i64] }) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -128:{ *:[i64] })
1881 /* 2711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
1882 /* 2714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1883 /* 2716 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1884 /* 2718 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1885 /* 2721 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1886 /* 2724 */ GIR_RootConstrainSelectedInstOperands,
1887 /* 2725 */ // GIR_Coverage, 22837,
1888 /* 2725 */ GIR_EraseRootFromParent_Done,
1889 /* 2726 */ // Label 156: @2726
1890 /* 2726 */ GIM_Reject,
1891 /* 2727 */ // Label 154: @2727
1892 /* 2727 */ GIM_Try, /*On fail goto*//*Label 157*/ GIMT_Encode4(2802),
1893 /* 2732 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2147483648),
1894 /* 2743 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 158*/ GIMT_Encode4(2772), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 22847 //
1895 /* 2750 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 2147483648:{ *:[i64] }) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -2147483648:{ *:[i64] })
1896 /* 2750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
1897 /* 2753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1898 /* 2755 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1899 /* 2757 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
1900 /* 2767 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1901 /* 2770 */ GIR_RootConstrainSelectedInstOperands,
1902 /* 2771 */ // GIR_Coverage, 22847,
1903 /* 2771 */ GIR_EraseRootFromParent_Done,
1904 /* 2772 */ // Label 158: @2772
1905 /* 2772 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 159*/ GIMT_Encode4(2801), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 22849 //
1906 /* 2779 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 2147483648:{ *:[i64] }) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -2147483648:{ *:[i64] })
1907 /* 2779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
1908 /* 2782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1909 /* 2784 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1910 /* 2786 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
1911 /* 2796 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1912 /* 2799 */ GIR_RootConstrainSelectedInstOperands,
1913 /* 2800 */ // GIR_Coverage, 22849,
1914 /* 2800 */ GIR_EraseRootFromParent_Done,
1915 /* 2801 */ // Label 159: @2801
1916 /* 2801 */ GIM_Reject,
1917 /* 2802 */ // Label 157: @2802
1918 /* 2802 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 160*/ GIMT_Encode4(2825), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23105 //
1919 /* 2809 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1920 /* 2813 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }) => (INC64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
1921 /* 2813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r),
1922 /* 2816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1923 /* 2818 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1924 /* 2820 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1925 /* 2823 */ GIR_RootConstrainSelectedInstOperands,
1926 /* 2824 */ // GIR_Coverage, 23105,
1927 /* 2824 */ GIR_EraseRootFromParent_Done,
1928 /* 2825 */ // Label 160: @2825
1929 /* 2825 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 161*/ GIMT_Encode4(2848), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23110 //
1930 /* 2832 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1931 /* 2836 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }) => (DEC64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
1932 /* 2836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64r),
1933 /* 2839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1934 /* 2841 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1935 /* 2843 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1936 /* 2846 */ GIR_RootConstrainSelectedInstOperands,
1937 /* 2847 */ // GIR_Coverage, 23110,
1938 /* 2847 */ GIR_EraseRootFromParent_Done,
1939 /* 2848 */ // Label 161: @2848
1940 /* 2848 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 162*/ GIMT_Encode4(2871), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23195 //
1941 /* 2855 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1942 /* 2859 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }) => (INC64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
1943 /* 2859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r_ND),
1944 /* 2862 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1945 /* 2864 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1946 /* 2866 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1947 /* 2869 */ GIR_RootConstrainSelectedInstOperands,
1948 /* 2870 */ // GIR_Coverage, 23195,
1949 /* 2870 */ GIR_EraseRootFromParent_Done,
1950 /* 2871 */ // Label 162: @2871
1951 /* 2871 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 163*/ GIMT_Encode4(2894), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23200 //
1952 /* 2878 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1953 /* 2882 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }) => (DEC64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
1954 /* 2882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64r_ND),
1955 /* 2885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1956 /* 2887 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1957 /* 2889 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1958 /* 2892 */ GIR_RootConstrainSelectedInstOperands,
1959 /* 2893 */ // GIR_Coverage, 23200,
1960 /* 2893 */ GIR_EraseRootFromParent_Done,
1961 /* 2894 */ // Label 163: @2894
1962 /* 2894 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 164*/ GIMT_Encode4(2930), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23097 //
1963 /* 2901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1964 /* 2905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1965 /* 2909 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
1966 /* 2913 */ // MIs[1] Operand 1
1967 /* 2913 */ // No operand predicates
1968 /* 2913 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1969 /* 2915 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (ADD64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
1970 /* 2915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64ri32),
1971 /* 2918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1972 /* 2920 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1973 /* 2922 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1974 /* 2925 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1975 /* 2928 */ GIR_RootConstrainSelectedInstOperands,
1976 /* 2929 */ // GIR_Coverage, 23097,
1977 /* 2929 */ GIR_EraseRootFromParent_Done,
1978 /* 2930 */ // Label 164: @2930
1979 /* 2930 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 165*/ GIMT_Encode4(2966), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23187 //
1980 /* 2937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1981 /* 2941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1982 /* 2945 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
1983 /* 2949 */ // MIs[1] Operand 1
1984 /* 2949 */ // No operand predicates
1985 /* 2949 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1986 /* 2951 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (ADD64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
1987 /* 2951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64ri32_ND),
1988 /* 2954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1989 /* 2956 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1990 /* 2958 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1991 /* 2961 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1992 /* 2964 */ GIR_RootConstrainSelectedInstOperands,
1993 /* 2965 */ // GIR_Coverage, 23187,
1994 /* 2965 */ GIR_EraseRootFromParent_Done,
1995 /* 2966 */ // Label 165: @2966
1996 /* 2966 */ GIM_Try, /*On fail goto*//*Label 166*/ GIMT_Encode4(3016),
1997 /* 2971 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1998 /* 2975 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 167*/ GIMT_Encode4(2995), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23032 //
1999 /* 2982 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (ADD64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
2000 /* 2982 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD64rr),
2001 /* 2987 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
2002 /* 2993 */ GIR_RootConstrainSelectedInstOperands,
2003 /* 2994 */ // GIR_Coverage, 23032,
2004 /* 2994 */ GIR_Done,
2005 /* 2995 */ // Label 167: @2995
2006 /* 2995 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 168*/ GIMT_Encode4(3015), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23122 //
2007 /* 3002 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (ADD64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
2008 /* 3002 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD64rr_ND),
2009 /* 3007 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
2010 /* 3013 */ GIR_RootConstrainSelectedInstOperands,
2011 /* 3014 */ // GIR_Coverage, 23122,
2012 /* 3014 */ GIR_Done,
2013 /* 3015 */ // Label 168: @3015
2014 /* 3015 */ GIM_Reject,
2015 /* 3016 */ // Label 166: @3016
2016 /* 3016 */ GIM_Reject,
2017 /* 3017 */ // Label 152: @3017
2018 /* 3017 */ GIM_Reject,
2019 /* 3018 */ // Label 150: @3018
2020 /* 3018 */ GIM_Reject,
2021 /* 3019 */ // Label 92: @3019
2022 /* 3019 */ GIM_Try, /*On fail goto*//*Label 169*/ GIMT_Encode4(3347),
2023 /* 3024 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
2024 /* 3027 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
2025 /* 3030 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 170*/ GIMT_Encode4(3091), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23669 //
2026 /* 3037 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2027 /* 3041 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2028 /* 3045 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2029 /* 3049 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2030 /* 3052 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2031 /* 3056 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2032 /* 3060 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2033 /* 3064 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2034 /* 3066 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2035 /* 3073 */ // (add:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2036 /* 3073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBrm),
2037 /* 3076 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2038 /* 3078 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2039 /* 3080 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2040 /* 3084 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2041 /* 3089 */ GIR_RootConstrainSelectedInstOperands,
2042 /* 3090 */ // GIR_Coverage, 23669,
2043 /* 3090 */ GIR_EraseRootFromParent_Done,
2044 /* 3091 */ // Label 170: @3091
2045 /* 3091 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 171*/ GIMT_Encode4(3152), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 23987 //
2046 /* 3098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2047 /* 3102 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2048 /* 3106 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2049 /* 3110 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2050 /* 3113 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2051 /* 3117 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2052 /* 3121 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2053 /* 3125 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2054 /* 3127 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2055 /* 3134 */ // (add:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2056 /* 3134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rm),
2057 /* 3137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2058 /* 3139 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2059 /* 3141 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2060 /* 3145 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2061 /* 3150 */ GIR_RootConstrainSelectedInstOperands,
2062 /* 3151 */ // GIR_Coverage, 23987,
2063 /* 3151 */ GIR_EraseRootFromParent_Done,
2064 /* 3152 */ // Label 171: @3152
2065 /* 3152 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 172*/ GIMT_Encode4(3213), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2505 //
2066 /* 3159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2067 /* 3163 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2068 /* 3167 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2069 /* 3171 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2070 /* 3175 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2071 /* 3178 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2072 /* 3182 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2073 /* 3186 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2074 /* 3188 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2075 /* 3195 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2076 /* 3195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBrm),
2077 /* 3198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2078 /* 3200 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2079 /* 3202 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2080 /* 3206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2081 /* 3211 */ GIR_RootConstrainSelectedInstOperands,
2082 /* 3212 */ // GIR_Coverage, 2505,
2083 /* 3212 */ GIR_EraseRootFromParent_Done,
2084 /* 3213 */ // Label 172: @3213
2085 /* 3213 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 173*/ GIMT_Encode4(3274), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4721 //
2086 /* 3220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2087 /* 3224 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2088 /* 3228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2089 /* 3232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2090 /* 3236 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2091 /* 3239 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2092 /* 3243 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2093 /* 3247 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2094 /* 3249 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2095 /* 3256 */ // (add:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2096 /* 3256 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rm),
2097 /* 3259 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2098 /* 3261 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2099 /* 3263 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2100 /* 3267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2101 /* 3272 */ GIR_RootConstrainSelectedInstOperands,
2102 /* 3273 */ // GIR_Coverage, 4721,
2103 /* 3273 */ GIR_EraseRootFromParent_Done,
2104 /* 3274 */ // Label 173: @3274
2105 /* 3274 */ GIM_Try, /*On fail goto*//*Label 174*/ GIMT_Encode4(3320),
2106 /* 3279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2107 /* 3283 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2108 /* 3287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2109 /* 3291 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 175*/ GIMT_Encode4(3305), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2504 //
2110 /* 3298 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
2111 /* 3298 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBrr),
2112 /* 3303 */ GIR_RootConstrainSelectedInstOperands,
2113 /* 3304 */ // GIR_Coverage, 2504,
2114 /* 3304 */ GIR_Done,
2115 /* 3305 */ // Label 175: @3305
2116 /* 3305 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 176*/ GIMT_Encode4(3319), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2506 //
2117 /* 3312 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
2118 /* 3312 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDBrr),
2119 /* 3317 */ GIR_RootConstrainSelectedInstOperands,
2120 /* 3318 */ // GIR_Coverage, 2506,
2121 /* 3318 */ GIR_Done,
2122 /* 3319 */ // Label 176: @3319
2123 /* 3319 */ GIM_Reject,
2124 /* 3320 */ // Label 174: @3320
2125 /* 3320 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 177*/ GIMT_Encode4(3346), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4718 //
2126 /* 3327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2127 /* 3331 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2128 /* 3335 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2129 /* 3339 */ // (add:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
2130 /* 3339 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rr),
2131 /* 3344 */ GIR_RootConstrainSelectedInstOperands,
2132 /* 3345 */ // GIR_Coverage, 4718,
2133 /* 3345 */ GIR_Done,
2134 /* 3346 */ // Label 177: @3346
2135 /* 3346 */ GIM_Reject,
2136 /* 3347 */ // Label 169: @3347
2137 /* 3347 */ GIM_Reject,
2138 /* 3348 */ // Label 93: @3348
2139 /* 3348 */ GIM_Try, /*On fail goto*//*Label 178*/ GIMT_Encode4(3656),
2140 /* 3353 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
2141 /* 3356 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
2142 /* 3359 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 179*/ GIMT_Encode4(3420), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23671 //
2143 /* 3366 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2144 /* 3370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2145 /* 3374 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2146 /* 3378 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2147 /* 3381 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2148 /* 3385 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2149 /* 3389 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2150 /* 3393 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2151 /* 3395 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2152 /* 3402 */ // (add:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2153 /* 3402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBYrm),
2154 /* 3405 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2155 /* 3407 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2156 /* 3409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2157 /* 3413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2158 /* 3418 */ GIR_RootConstrainSelectedInstOperands,
2159 /* 3419 */ // GIR_Coverage, 23671,
2160 /* 3419 */ GIR_EraseRootFromParent_Done,
2161 /* 3420 */ // Label 179: @3420
2162 /* 3420 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 180*/ GIMT_Encode4(3481), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 23984 //
2163 /* 3427 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2164 /* 3431 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2165 /* 3435 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2166 /* 3439 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2167 /* 3442 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2168 /* 3446 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2169 /* 3450 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2170 /* 3454 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2171 /* 3456 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2172 /* 3463 */ // (add:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2173 /* 3463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rm),
2174 /* 3466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2175 /* 3468 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2176 /* 3470 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2177 /* 3474 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2178 /* 3479 */ GIR_RootConstrainSelectedInstOperands,
2179 /* 3480 */ // GIR_Coverage, 23984,
2180 /* 3480 */ GIR_EraseRootFromParent_Done,
2181 /* 3481 */ // Label 180: @3481
2182 /* 3481 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 181*/ GIMT_Encode4(3542), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2509 //
2183 /* 3488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2184 /* 3492 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2185 /* 3496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2186 /* 3500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2187 /* 3504 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2188 /* 3507 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2189 /* 3511 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2190 /* 3515 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2191 /* 3517 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2192 /* 3524 */ // (add:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2193 /* 3524 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBYrm),
2194 /* 3527 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2195 /* 3529 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2196 /* 3531 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2197 /* 3535 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2198 /* 3540 */ GIR_RootConstrainSelectedInstOperands,
2199 /* 3541 */ // GIR_Coverage, 2509,
2200 /* 3541 */ GIR_EraseRootFromParent_Done,
2201 /* 3542 */ // Label 181: @3542
2202 /* 3542 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 182*/ GIMT_Encode4(3603), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4715 //
2203 /* 3549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2204 /* 3553 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2205 /* 3557 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2206 /* 3561 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2207 /* 3565 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2208 /* 3568 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2209 /* 3572 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2210 /* 3576 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2211 /* 3578 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2212 /* 3585 */ // (add:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2213 /* 3585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rm),
2214 /* 3588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2215 /* 3590 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2216 /* 3592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2217 /* 3596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2218 /* 3601 */ GIR_RootConstrainSelectedInstOperands,
2219 /* 3602 */ // GIR_Coverage, 4715,
2220 /* 3602 */ GIR_EraseRootFromParent_Done,
2221 /* 3603 */ // Label 182: @3603
2222 /* 3603 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 183*/ GIMT_Encode4(3629), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2508 //
2223 /* 3610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2224 /* 3614 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2225 /* 3618 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2226 /* 3622 */ // (add:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
2227 /* 3622 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBYrr),
2228 /* 3627 */ GIR_RootConstrainSelectedInstOperands,
2229 /* 3628 */ // GIR_Coverage, 2508,
2230 /* 3628 */ GIR_Done,
2231 /* 3629 */ // Label 183: @3629
2232 /* 3629 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 184*/ GIMT_Encode4(3655), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4712 //
2233 /* 3636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2234 /* 3640 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2235 /* 3644 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2236 /* 3648 */ // (add:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
2237 /* 3648 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rr),
2238 /* 3653 */ GIR_RootConstrainSelectedInstOperands,
2239 /* 3654 */ // GIR_Coverage, 4712,
2240 /* 3654 */ GIR_Done,
2241 /* 3655 */ // Label 184: @3655
2242 /* 3655 */ GIM_Reject,
2243 /* 3656 */ // Label 178: @3656
2244 /* 3656 */ GIM_Reject,
2245 /* 3657 */ // Label 94: @3657
2246 /* 3657 */ GIM_Try, /*On fail goto*//*Label 185*/ GIMT_Encode4(3811),
2247 /* 3662 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
2248 /* 3665 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
2249 /* 3668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2250 /* 3672 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 186*/ GIMT_Encode4(3729), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23981 //
2251 /* 3679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2252 /* 3683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2253 /* 3687 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2254 /* 3690 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2255 /* 3694 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2256 /* 3698 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2257 /* 3702 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2258 /* 3704 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2259 /* 3711 */ // (add:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2260 /* 3711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZrm),
2261 /* 3714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2262 /* 3716 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2263 /* 3718 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2264 /* 3722 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2265 /* 3727 */ GIR_RootConstrainSelectedInstOperands,
2266 /* 3728 */ // GIR_Coverage, 23981,
2267 /* 3728 */ GIR_EraseRootFromParent_Done,
2268 /* 3729 */ // Label 186: @3729
2269 /* 3729 */ GIM_Try, /*On fail goto*//*Label 187*/ GIMT_Encode4(3810),
2270 /* 3734 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2271 /* 3738 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 188*/ GIMT_Encode4(3791), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4709 //
2272 /* 3745 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2273 /* 3749 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2274 /* 3753 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2275 /* 3756 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2276 /* 3760 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2277 /* 3764 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2278 /* 3766 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2279 /* 3773 */ // (add:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2280 /* 3773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZrm),
2281 /* 3776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2282 /* 3778 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2283 /* 3780 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2284 /* 3784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2285 /* 3789 */ GIR_RootConstrainSelectedInstOperands,
2286 /* 3790 */ // GIR_Coverage, 4709,
2287 /* 3790 */ GIR_EraseRootFromParent_Done,
2288 /* 3791 */ // Label 188: @3791
2289 /* 3791 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 189*/ GIMT_Encode4(3809), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4706 //
2290 /* 3798 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2291 /* 3802 */ // (add:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
2292 /* 3802 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZrr),
2293 /* 3807 */ GIR_RootConstrainSelectedInstOperands,
2294 /* 3808 */ // GIR_Coverage, 4706,
2295 /* 3808 */ GIR_Done,
2296 /* 3809 */ // Label 189: @3809
2297 /* 3809 */ GIM_Reject,
2298 /* 3810 */ // Label 187: @3810
2299 /* 3810 */ GIM_Reject,
2300 /* 3811 */ // Label 185: @3811
2301 /* 3811 */ GIM_Reject,
2302 /* 3812 */ // Label 95: @3812
2303 /* 3812 */ GIM_Try, /*On fail goto*//*Label 190*/ GIMT_Encode4(4260),
2304 /* 3817 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
2305 /* 3820 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
2306 /* 3823 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 191*/ GIMT_Encode4(3884), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23672 //
2307 /* 3830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2308 /* 3834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2309 /* 3838 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2310 /* 3842 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2311 /* 3845 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2312 /* 3849 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2313 /* 3853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2314 /* 3857 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2315 /* 3859 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2316 /* 3866 */ // (add:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2317 /* 3866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWrm),
2318 /* 3869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2319 /* 3871 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2320 /* 3873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2321 /* 3877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2322 /* 3882 */ GIR_RootConstrainSelectedInstOperands,
2323 /* 3883 */ // GIR_Coverage, 23672,
2324 /* 3883 */ GIR_EraseRootFromParent_Done,
2325 /* 3884 */ // Label 191: @3884
2326 /* 3884 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 192*/ GIMT_Encode4(3945), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 23978 //
2327 /* 3891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2328 /* 3895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2329 /* 3899 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2330 /* 3903 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2331 /* 3906 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2332 /* 3910 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2333 /* 3914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2334 /* 3918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2335 /* 3920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2336 /* 3927 */ // (add:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2337 /* 3927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rm),
2338 /* 3930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2339 /* 3932 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2340 /* 3934 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2341 /* 3938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2342 /* 3943 */ GIR_RootConstrainSelectedInstOperands,
2343 /* 3944 */ // GIR_Coverage, 23978,
2344 /* 3944 */ GIR_EraseRootFromParent_Done,
2345 /* 3945 */ // Label 192: @3945
2346 /* 3945 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 193*/ GIMT_Encode4(4006), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2511 //
2347 /* 3952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2348 /* 3956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2349 /* 3960 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2350 /* 3964 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2351 /* 3968 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2352 /* 3971 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2353 /* 3975 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2354 /* 3979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2355 /* 3981 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2356 /* 3988 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2357 /* 3988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWrm),
2358 /* 3991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2359 /* 3993 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2360 /* 3995 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2361 /* 3999 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2362 /* 4004 */ GIR_RootConstrainSelectedInstOperands,
2363 /* 4005 */ // GIR_Coverage, 2511,
2364 /* 4005 */ GIR_EraseRootFromParent_Done,
2365 /* 4006 */ // Label 193: @4006
2366 /* 4006 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 194*/ GIMT_Encode4(4067), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4703 //
2367 /* 4013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2368 /* 4017 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2369 /* 4021 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2370 /* 4025 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2371 /* 4029 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2372 /* 4032 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2373 /* 4036 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2374 /* 4040 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2375 /* 4042 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2376 /* 4049 */ // (add:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2377 /* 4049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rm),
2378 /* 4052 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2379 /* 4054 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2380 /* 4056 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2381 /* 4060 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2382 /* 4065 */ GIR_RootConstrainSelectedInstOperands,
2383 /* 4066 */ // GIR_Coverage, 4703,
2384 /* 4066 */ GIR_EraseRootFromParent_Done,
2385 /* 4067 */ // Label 194: @4067
2386 /* 4067 */ GIM_Try, /*On fail goto*//*Label 195*/ GIMT_Encode4(4233),
2387 /* 4072 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2388 /* 4076 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 196*/ GIMT_Encode4(4132), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 17923 //
2389 /* 4083 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2390 /* 4087 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2391 /* 4091 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
2392 /* 4095 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
2393 /* 4099 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2394 /* 4104 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2395 /* 4109 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2396 /* 4113 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2397 /* 4115 */ // (add:{ *:[v8i16] } (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2), VR128:{ *:[v8i16] }:$src3) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
2398 /* 4115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
2399 /* 4118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2400 /* 4120 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2401 /* 4124 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2402 /* 4128 */ GIR_RootToRootCopy, /*OpIdx*/2, // src3
2403 /* 4130 */ GIR_RootConstrainSelectedInstOperands,
2404 /* 4131 */ // GIR_Coverage, 17923,
2405 /* 4131 */ GIR_EraseRootFromParent_Done,
2406 /* 4132 */ // Label 196: @4132
2407 /* 4132 */ GIM_Try, /*On fail goto*//*Label 197*/ GIMT_Encode4(4232),
2408 /* 4137 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2409 /* 4141 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 198*/ GIMT_Encode4(4193), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 25433 //
2410 /* 4148 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2411 /* 4152 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2412 /* 4156 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
2413 /* 4160 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
2414 /* 4164 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2415 /* 4169 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2416 /* 4174 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2417 /* 4176 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src3, (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
2418 /* 4176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
2419 /* 4179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2420 /* 4181 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2421 /* 4185 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2422 /* 4189 */ GIR_RootToRootCopy, /*OpIdx*/1, // src3
2423 /* 4191 */ GIR_RootConstrainSelectedInstOperands,
2424 /* 4192 */ // GIR_Coverage, 25433,
2425 /* 4192 */ GIR_EraseRootFromParent_Done,
2426 /* 4193 */ // Label 198: @4193
2427 /* 4193 */ GIM_Try, /*On fail goto*//*Label 199*/ GIMT_Encode4(4231),
2428 /* 4198 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2429 /* 4202 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 200*/ GIMT_Encode4(4216), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2510 //
2430 /* 4209 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
2431 /* 4209 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWrr),
2432 /* 4214 */ GIR_RootConstrainSelectedInstOperands,
2433 /* 4215 */ // GIR_Coverage, 2510,
2434 /* 4215 */ GIR_Done,
2435 /* 4216 */ // Label 200: @4216
2436 /* 4216 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 201*/ GIMT_Encode4(4230), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2512 //
2437 /* 4223 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
2438 /* 4223 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDWrr),
2439 /* 4228 */ GIR_RootConstrainSelectedInstOperands,
2440 /* 4229 */ // GIR_Coverage, 2512,
2441 /* 4229 */ GIR_Done,
2442 /* 4230 */ // Label 201: @4230
2443 /* 4230 */ GIM_Reject,
2444 /* 4231 */ // Label 199: @4231
2445 /* 4231 */ GIM_Reject,
2446 /* 4232 */ // Label 197: @4232
2447 /* 4232 */ GIM_Reject,
2448 /* 4233 */ // Label 195: @4233
2449 /* 4233 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 202*/ GIMT_Encode4(4259), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4700 //
2450 /* 4240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2451 /* 4244 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2452 /* 4248 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2453 /* 4252 */ // (add:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
2454 /* 4252 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rr),
2455 /* 4257 */ GIR_RootConstrainSelectedInstOperands,
2456 /* 4258 */ // GIR_Coverage, 4700,
2457 /* 4258 */ GIR_Done,
2458 /* 4259 */ // Label 202: @4259
2459 /* 4259 */ GIM_Reject,
2460 /* 4260 */ // Label 190: @4260
2461 /* 4260 */ GIM_Reject,
2462 /* 4261 */ // Label 96: @4261
2463 /* 4261 */ GIM_Try, /*On fail goto*//*Label 203*/ GIMT_Encode4(4569),
2464 /* 4266 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
2465 /* 4269 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
2466 /* 4272 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 204*/ GIMT_Encode4(4333), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23674 //
2467 /* 4279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2468 /* 4283 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2469 /* 4287 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2470 /* 4291 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2471 /* 4294 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2472 /* 4298 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2473 /* 4302 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2474 /* 4306 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2475 /* 4308 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2476 /* 4315 */ // (add:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2477 /* 4315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWYrm),
2478 /* 4318 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2479 /* 4320 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2480 /* 4322 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2481 /* 4326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2482 /* 4331 */ GIR_RootConstrainSelectedInstOperands,
2483 /* 4332 */ // GIR_Coverage, 23674,
2484 /* 4332 */ GIR_EraseRootFromParent_Done,
2485 /* 4333 */ // Label 204: @4333
2486 /* 4333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 205*/ GIMT_Encode4(4394), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 23975 //
2487 /* 4340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2488 /* 4344 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2489 /* 4348 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2490 /* 4352 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2491 /* 4355 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2492 /* 4359 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2493 /* 4363 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2494 /* 4367 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2495 /* 4369 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2496 /* 4376 */ // (add:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2497 /* 4376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rm),
2498 /* 4379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2499 /* 4381 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2500 /* 4383 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2501 /* 4387 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2502 /* 4392 */ GIR_RootConstrainSelectedInstOperands,
2503 /* 4393 */ // GIR_Coverage, 23975,
2504 /* 4393 */ GIR_EraseRootFromParent_Done,
2505 /* 4394 */ // Label 205: @4394
2506 /* 4394 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 206*/ GIMT_Encode4(4455), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2515 //
2507 /* 4401 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2508 /* 4405 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2509 /* 4409 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2510 /* 4413 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2511 /* 4417 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2512 /* 4420 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2513 /* 4424 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2514 /* 4428 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2515 /* 4430 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2516 /* 4437 */ // (add:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2517 /* 4437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWYrm),
2518 /* 4440 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2519 /* 4442 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2520 /* 4444 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2521 /* 4448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2522 /* 4453 */ GIR_RootConstrainSelectedInstOperands,
2523 /* 4454 */ // GIR_Coverage, 2515,
2524 /* 4454 */ GIR_EraseRootFromParent_Done,
2525 /* 4455 */ // Label 206: @4455
2526 /* 4455 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 207*/ GIMT_Encode4(4516), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4697 //
2527 /* 4462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2528 /* 4466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2529 /* 4470 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2530 /* 4474 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2531 /* 4478 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2532 /* 4481 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2533 /* 4485 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2534 /* 4489 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2535 /* 4491 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2536 /* 4498 */ // (add:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2537 /* 4498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rm),
2538 /* 4501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2539 /* 4503 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2540 /* 4505 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2541 /* 4509 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2542 /* 4514 */ GIR_RootConstrainSelectedInstOperands,
2543 /* 4515 */ // GIR_Coverage, 4697,
2544 /* 4515 */ GIR_EraseRootFromParent_Done,
2545 /* 4516 */ // Label 207: @4516
2546 /* 4516 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 208*/ GIMT_Encode4(4542), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2514 //
2547 /* 4523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2548 /* 4527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2549 /* 4531 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2550 /* 4535 */ // (add:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
2551 /* 4535 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWYrr),
2552 /* 4540 */ GIR_RootConstrainSelectedInstOperands,
2553 /* 4541 */ // GIR_Coverage, 2514,
2554 /* 4541 */ GIR_Done,
2555 /* 4542 */ // Label 208: @4542
2556 /* 4542 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 209*/ GIMT_Encode4(4568), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4694 //
2557 /* 4549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2558 /* 4553 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2559 /* 4557 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2560 /* 4561 */ // (add:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
2561 /* 4561 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rr),
2562 /* 4566 */ GIR_RootConstrainSelectedInstOperands,
2563 /* 4567 */ // GIR_Coverage, 4694,
2564 /* 4567 */ GIR_Done,
2565 /* 4568 */ // Label 209: @4568
2566 /* 4568 */ GIM_Reject,
2567 /* 4569 */ // Label 203: @4569
2568 /* 4569 */ GIM_Reject,
2569 /* 4570 */ // Label 97: @4570
2570 /* 4570 */ GIM_Try, /*On fail goto*//*Label 210*/ GIMT_Encode4(4724),
2571 /* 4575 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
2572 /* 4578 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
2573 /* 4581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2574 /* 4585 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 211*/ GIMT_Encode4(4642), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23972 //
2575 /* 4592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2576 /* 4596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2577 /* 4600 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2578 /* 4603 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2579 /* 4607 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2580 /* 4611 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2581 /* 4615 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2582 /* 4617 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2583 /* 4624 */ // (add:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2584 /* 4624 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZrm),
2585 /* 4627 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2586 /* 4629 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2587 /* 4631 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2588 /* 4635 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2589 /* 4640 */ GIR_RootConstrainSelectedInstOperands,
2590 /* 4641 */ // GIR_Coverage, 23972,
2591 /* 4641 */ GIR_EraseRootFromParent_Done,
2592 /* 4642 */ // Label 211: @4642
2593 /* 4642 */ GIM_Try, /*On fail goto*//*Label 212*/ GIMT_Encode4(4723),
2594 /* 4647 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2595 /* 4651 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 213*/ GIMT_Encode4(4704), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4691 //
2596 /* 4658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2597 /* 4662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2598 /* 4666 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2599 /* 4669 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2600 /* 4673 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2601 /* 4677 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2602 /* 4679 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2603 /* 4686 */ // (add:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2604 /* 4686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZrm),
2605 /* 4689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2606 /* 4691 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2607 /* 4693 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2608 /* 4697 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2609 /* 4702 */ GIR_RootConstrainSelectedInstOperands,
2610 /* 4703 */ // GIR_Coverage, 4691,
2611 /* 4703 */ GIR_EraseRootFromParent_Done,
2612 /* 4704 */ // Label 213: @4704
2613 /* 4704 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 214*/ GIMT_Encode4(4722), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4688 //
2614 /* 4711 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2615 /* 4715 */ // (add:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
2616 /* 4715 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZrr),
2617 /* 4720 */ GIR_RootConstrainSelectedInstOperands,
2618 /* 4721 */ // GIR_Coverage, 4688,
2619 /* 4721 */ GIR_Done,
2620 /* 4722 */ // Label 214: @4722
2621 /* 4722 */ GIM_Reject,
2622 /* 4723 */ // Label 212: @4723
2623 /* 4723 */ GIM_Reject,
2624 /* 4724 */ // Label 210: @4724
2625 /* 4724 */ GIM_Reject,
2626 /* 4725 */ // Label 98: @4725
2627 /* 4725 */ GIM_Try, /*On fail goto*//*Label 215*/ GIMT_Encode4(5173),
2628 /* 4730 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
2629 /* 4733 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
2630 /* 4736 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 216*/ GIMT_Encode4(4797), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23675 //
2631 /* 4743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2632 /* 4747 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2633 /* 4751 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2634 /* 4755 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2635 /* 4758 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2636 /* 4762 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2637 /* 4766 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2638 /* 4770 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2639 /* 4772 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2640 /* 4779 */ // (add:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPADDDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2641 /* 4779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDrm),
2642 /* 4782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2643 /* 4784 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2644 /* 4786 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2645 /* 4790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2646 /* 4795 */ GIR_RootConstrainSelectedInstOperands,
2647 /* 4796 */ // GIR_Coverage, 23675,
2648 /* 4796 */ GIR_EraseRootFromParent_Done,
2649 /* 4797 */ // Label 216: @4797
2650 /* 4797 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 217*/ GIMT_Encode4(4858), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 23966 //
2651 /* 4804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2652 /* 4808 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2653 /* 4812 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2654 /* 4816 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2655 /* 4819 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2656 /* 4823 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2657 /* 4827 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2658 /* 4831 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2659 /* 4833 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2660 /* 4840 */ // (add:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPADDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2661 /* 4840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rm),
2662 /* 4843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2663 /* 4845 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2664 /* 4847 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2665 /* 4851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2666 /* 4856 */ GIR_RootConstrainSelectedInstOperands,
2667 /* 4857 */ // GIR_Coverage, 23966,
2668 /* 4857 */ GIR_EraseRootFromParent_Done,
2669 /* 4858 */ // Label 217: @4858
2670 /* 4858 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 218*/ GIMT_Encode4(4919), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2517 //
2671 /* 4865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2672 /* 4869 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2673 /* 4873 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2674 /* 4877 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2675 /* 4881 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2676 /* 4884 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2677 /* 4888 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2678 /* 4892 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2679 /* 4894 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2680 /* 4901 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2681 /* 4901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDrm),
2682 /* 4904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2683 /* 4906 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2684 /* 4908 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2685 /* 4912 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2686 /* 4917 */ GIR_RootConstrainSelectedInstOperands,
2687 /* 4918 */ // GIR_Coverage, 2517,
2688 /* 4918 */ GIR_EraseRootFromParent_Done,
2689 /* 4919 */ // Label 218: @4919
2690 /* 4919 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 219*/ GIMT_Encode4(4980), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4682 //
2691 /* 4926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2692 /* 4930 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2693 /* 4934 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2694 /* 4938 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2695 /* 4942 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2696 /* 4945 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2697 /* 4949 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2698 /* 4953 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2699 /* 4955 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2700 /* 4962 */ // (add:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2701 /* 4962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rm),
2702 /* 4965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2703 /* 4967 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2704 /* 4969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2705 /* 4973 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2706 /* 4978 */ GIR_RootConstrainSelectedInstOperands,
2707 /* 4979 */ // GIR_Coverage, 4682,
2708 /* 4979 */ GIR_EraseRootFromParent_Done,
2709 /* 4980 */ // Label 219: @4980
2710 /* 4980 */ GIM_Try, /*On fail goto*//*Label 220*/ GIMT_Encode4(5146),
2711 /* 4985 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2712 /* 4989 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 221*/ GIMT_Encode4(5045), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 17924 //
2713 /* 4996 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2714 /* 5000 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2715 /* 5004 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
2716 /* 5008 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
2717 /* 5012 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2718 /* 5017 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2719 /* 5022 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2720 /* 5026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2721 /* 5028 */ // (add:{ *:[v4i32] } (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2), VR128:{ *:[v4i32] }:$src3) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
2722 /* 5028 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
2723 /* 5031 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2724 /* 5033 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2725 /* 5037 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2726 /* 5041 */ GIR_RootToRootCopy, /*OpIdx*/2, // src3
2727 /* 5043 */ GIR_RootConstrainSelectedInstOperands,
2728 /* 5044 */ // GIR_Coverage, 17924,
2729 /* 5044 */ GIR_EraseRootFromParent_Done,
2730 /* 5045 */ // Label 221: @5045
2731 /* 5045 */ GIM_Try, /*On fail goto*//*Label 222*/ GIMT_Encode4(5145),
2732 /* 5050 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2733 /* 5054 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 223*/ GIMT_Encode4(5106), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 25434 //
2734 /* 5061 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2735 /* 5065 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2736 /* 5069 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
2737 /* 5073 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
2738 /* 5077 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2739 /* 5082 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2740 /* 5087 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2741 /* 5089 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src3, (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
2742 /* 5089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
2743 /* 5092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2744 /* 5094 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2745 /* 5098 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2746 /* 5102 */ GIR_RootToRootCopy, /*OpIdx*/1, // src3
2747 /* 5104 */ GIR_RootConstrainSelectedInstOperands,
2748 /* 5105 */ // GIR_Coverage, 25434,
2749 /* 5105 */ GIR_EraseRootFromParent_Done,
2750 /* 5106 */ // Label 223: @5106
2751 /* 5106 */ GIM_Try, /*On fail goto*//*Label 224*/ GIMT_Encode4(5144),
2752 /* 5111 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2753 /* 5115 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 225*/ GIMT_Encode4(5129), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2516 //
2754 /* 5122 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPADDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
2755 /* 5122 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDrr),
2756 /* 5127 */ GIR_RootConstrainSelectedInstOperands,
2757 /* 5128 */ // GIR_Coverage, 2516,
2758 /* 5128 */ GIR_Done,
2759 /* 5129 */ // Label 225: @5129
2760 /* 5129 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 226*/ GIMT_Encode4(5143), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2518 //
2761 /* 5136 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PADDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
2762 /* 5136 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDDrr),
2763 /* 5141 */ GIR_RootConstrainSelectedInstOperands,
2764 /* 5142 */ // GIR_Coverage, 2518,
2765 /* 5142 */ GIR_Done,
2766 /* 5143 */ // Label 226: @5143
2767 /* 5143 */ GIM_Reject,
2768 /* 5144 */ // Label 224: @5144
2769 /* 5144 */ GIM_Reject,
2770 /* 5145 */ // Label 222: @5145
2771 /* 5145 */ GIM_Reject,
2772 /* 5146 */ // Label 220: @5146
2773 /* 5146 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 227*/ GIMT_Encode4(5172), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4679 //
2774 /* 5153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2775 /* 5157 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2776 /* 5161 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2777 /* 5165 */ // (add:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPADDDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
2778 /* 5165 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rr),
2779 /* 5170 */ GIR_RootConstrainSelectedInstOperands,
2780 /* 5171 */ // GIR_Coverage, 4679,
2781 /* 5171 */ GIR_Done,
2782 /* 5172 */ // Label 227: @5172
2783 /* 5172 */ GIM_Reject,
2784 /* 5173 */ // Label 215: @5173
2785 /* 5173 */ GIM_Reject,
2786 /* 5174 */ // Label 99: @5174
2787 /* 5174 */ GIM_Try, /*On fail goto*//*Label 228*/ GIMT_Encode4(5482),
2788 /* 5179 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
2789 /* 5182 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
2790 /* 5185 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 229*/ GIMT_Encode4(5246), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23677 //
2791 /* 5192 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2792 /* 5196 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2793 /* 5200 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2794 /* 5204 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2795 /* 5207 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2796 /* 5211 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2797 /* 5215 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2798 /* 5219 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2799 /* 5221 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2800 /* 5228 */ // (add:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPADDDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2801 /* 5228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDYrm),
2802 /* 5231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2803 /* 5233 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2804 /* 5235 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2805 /* 5239 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2806 /* 5244 */ GIR_RootConstrainSelectedInstOperands,
2807 /* 5245 */ // GIR_Coverage, 23677,
2808 /* 5245 */ GIR_EraseRootFromParent_Done,
2809 /* 5246 */ // Label 229: @5246
2810 /* 5246 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 230*/ GIMT_Encode4(5307), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 23960 //
2811 /* 5253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2812 /* 5257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2813 /* 5261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2814 /* 5265 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2815 /* 5268 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2816 /* 5272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2817 /* 5276 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2818 /* 5280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2819 /* 5282 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2820 /* 5289 */ // (add:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPADDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2821 /* 5289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rm),
2822 /* 5292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2823 /* 5294 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2824 /* 5296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2825 /* 5300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2826 /* 5305 */ GIR_RootConstrainSelectedInstOperands,
2827 /* 5306 */ // GIR_Coverage, 23960,
2828 /* 5306 */ GIR_EraseRootFromParent_Done,
2829 /* 5307 */ // Label 230: @5307
2830 /* 5307 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 231*/ GIMT_Encode4(5368), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2521 //
2831 /* 5314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2832 /* 5318 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2833 /* 5322 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2834 /* 5326 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2835 /* 5330 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2836 /* 5333 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2837 /* 5337 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2838 /* 5341 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2839 /* 5343 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2840 /* 5350 */ // (add:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2841 /* 5350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDYrm),
2842 /* 5353 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2843 /* 5355 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2844 /* 5357 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2845 /* 5361 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2846 /* 5366 */ GIR_RootConstrainSelectedInstOperands,
2847 /* 5367 */ // GIR_Coverage, 2521,
2848 /* 5367 */ GIR_EraseRootFromParent_Done,
2849 /* 5368 */ // Label 231: @5368
2850 /* 5368 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 232*/ GIMT_Encode4(5429), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4673 //
2851 /* 5375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2852 /* 5379 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2853 /* 5383 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2854 /* 5387 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2855 /* 5391 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2856 /* 5394 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2857 /* 5398 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2858 /* 5402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2859 /* 5404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2860 /* 5411 */ // (add:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2861 /* 5411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rm),
2862 /* 5414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2863 /* 5416 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2864 /* 5418 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2865 /* 5422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2866 /* 5427 */ GIR_RootConstrainSelectedInstOperands,
2867 /* 5428 */ // GIR_Coverage, 4673,
2868 /* 5428 */ GIR_EraseRootFromParent_Done,
2869 /* 5429 */ // Label 232: @5429
2870 /* 5429 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 233*/ GIMT_Encode4(5455), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2520 //
2871 /* 5436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2872 /* 5440 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2873 /* 5444 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2874 /* 5448 */ // (add:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPADDDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
2875 /* 5448 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDYrr),
2876 /* 5453 */ GIR_RootConstrainSelectedInstOperands,
2877 /* 5454 */ // GIR_Coverage, 2520,
2878 /* 5454 */ GIR_Done,
2879 /* 5455 */ // Label 233: @5455
2880 /* 5455 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 234*/ GIMT_Encode4(5481), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4670 //
2881 /* 5462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2882 /* 5466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2883 /* 5470 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2884 /* 5474 */ // (add:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPADDDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
2885 /* 5474 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rr),
2886 /* 5479 */ GIR_RootConstrainSelectedInstOperands,
2887 /* 5480 */ // GIR_Coverage, 4670,
2888 /* 5480 */ GIR_Done,
2889 /* 5481 */ // Label 234: @5481
2890 /* 5481 */ GIM_Reject,
2891 /* 5482 */ // Label 228: @5482
2892 /* 5482 */ GIM_Reject,
2893 /* 5483 */ // Label 100: @5483
2894 /* 5483 */ GIM_Try, /*On fail goto*//*Label 235*/ GIMT_Encode4(5637),
2895 /* 5488 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
2896 /* 5491 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
2897 /* 5494 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2898 /* 5498 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 236*/ GIMT_Encode4(5555), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 23954 //
2899 /* 5505 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2900 /* 5509 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2901 /* 5513 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2902 /* 5516 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2903 /* 5520 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2904 /* 5524 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2905 /* 5528 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2906 /* 5530 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2907 /* 5537 */ // (add:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPADDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2908 /* 5537 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZrm),
2909 /* 5540 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2910 /* 5542 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2911 /* 5544 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2912 /* 5548 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2913 /* 5553 */ GIR_RootConstrainSelectedInstOperands,
2914 /* 5554 */ // GIR_Coverage, 23954,
2915 /* 5554 */ GIR_EraseRootFromParent_Done,
2916 /* 5555 */ // Label 236: @5555
2917 /* 5555 */ GIM_Try, /*On fail goto*//*Label 237*/ GIMT_Encode4(5636),
2918 /* 5560 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2919 /* 5564 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 238*/ GIMT_Encode4(5617), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4664 //
2920 /* 5571 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2921 /* 5575 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2922 /* 5579 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2923 /* 5582 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2924 /* 5586 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2925 /* 5590 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2926 /* 5592 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2927 /* 5599 */ // (add:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2928 /* 5599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZrm),
2929 /* 5602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2930 /* 5604 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2931 /* 5606 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2932 /* 5610 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2933 /* 5615 */ GIR_RootConstrainSelectedInstOperands,
2934 /* 5616 */ // GIR_Coverage, 4664,
2935 /* 5616 */ GIR_EraseRootFromParent_Done,
2936 /* 5617 */ // Label 238: @5617
2937 /* 5617 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 239*/ GIMT_Encode4(5635), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4661 //
2938 /* 5624 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2939 /* 5628 */ // (add:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPADDDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
2940 /* 5628 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZrr),
2941 /* 5633 */ GIR_RootConstrainSelectedInstOperands,
2942 /* 5634 */ // GIR_Coverage, 4661,
2943 /* 5634 */ GIR_Done,
2944 /* 5635 */ // Label 239: @5635
2945 /* 5635 */ GIM_Reject,
2946 /* 5636 */ // Label 237: @5636
2947 /* 5636 */ GIM_Reject,
2948 /* 5637 */ // Label 235: @5637
2949 /* 5637 */ GIM_Reject,
2950 /* 5638 */ // Label 101: @5638
2951 /* 5638 */ GIM_Try, /*On fail goto*//*Label 240*/ GIMT_Encode4(5966),
2952 /* 5643 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
2953 /* 5646 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
2954 /* 5649 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 241*/ GIMT_Encode4(5710), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23678 //
2955 /* 5656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2956 /* 5660 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2957 /* 5664 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2958 /* 5668 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2959 /* 5671 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2960 /* 5675 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2961 /* 5679 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2962 /* 5683 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2963 /* 5685 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2964 /* 5692 */ // (add:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPADDQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2965 /* 5692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQrm),
2966 /* 5695 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2967 /* 5697 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2968 /* 5699 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2969 /* 5703 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2970 /* 5708 */ GIR_RootConstrainSelectedInstOperands,
2971 /* 5709 */ // GIR_Coverage, 23678,
2972 /* 5709 */ GIR_EraseRootFromParent_Done,
2973 /* 5710 */ // Label 241: @5710
2974 /* 5710 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 242*/ GIMT_Encode4(5771), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 23948 //
2975 /* 5717 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2976 /* 5721 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2977 /* 5725 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2978 /* 5729 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2979 /* 5732 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2980 /* 5736 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2981 /* 5740 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2982 /* 5744 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2983 /* 5746 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2984 /* 5753 */ // (add:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPADDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2985 /* 5753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rm),
2986 /* 5756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2987 /* 5758 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2988 /* 5760 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2989 /* 5764 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2990 /* 5769 */ GIR_RootConstrainSelectedInstOperands,
2991 /* 5770 */ // GIR_Coverage, 23948,
2992 /* 5770 */ GIR_EraseRootFromParent_Done,
2993 /* 5771 */ // Label 242: @5771
2994 /* 5771 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 243*/ GIMT_Encode4(5832), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2523 //
2995 /* 5778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2996 /* 5782 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2997 /* 5786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2998 /* 5790 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2999 /* 5794 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3000 /* 5797 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3001 /* 5801 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3002 /* 5805 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3003 /* 5807 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3004 /* 5814 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3005 /* 5814 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQrm),
3006 /* 5817 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3007 /* 5819 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3008 /* 5821 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3009 /* 5825 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3010 /* 5830 */ GIR_RootConstrainSelectedInstOperands,
3011 /* 5831 */ // GIR_Coverage, 2523,
3012 /* 5831 */ GIR_EraseRootFromParent_Done,
3013 /* 5832 */ // Label 243: @5832
3014 /* 5832 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 244*/ GIMT_Encode4(5893), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4655 //
3015 /* 5839 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3016 /* 5843 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3017 /* 5847 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3018 /* 5851 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3019 /* 5855 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3020 /* 5858 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3021 /* 5862 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3022 /* 5866 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3023 /* 5868 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3024 /* 5875 */ // (add:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3025 /* 5875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rm),
3026 /* 5878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3027 /* 5880 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3028 /* 5882 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3029 /* 5886 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3030 /* 5891 */ GIR_RootConstrainSelectedInstOperands,
3031 /* 5892 */ // GIR_Coverage, 4655,
3032 /* 5892 */ GIR_EraseRootFromParent_Done,
3033 /* 5893 */ // Label 244: @5893
3034 /* 5893 */ GIM_Try, /*On fail goto*//*Label 245*/ GIMT_Encode4(5939),
3035 /* 5898 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3036 /* 5902 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3037 /* 5906 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3038 /* 5910 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 246*/ GIMT_Encode4(5924), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2522 //
3039 /* 5917 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPADDQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
3040 /* 5917 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQrr),
3041 /* 5922 */ GIR_RootConstrainSelectedInstOperands,
3042 /* 5923 */ // GIR_Coverage, 2522,
3043 /* 5923 */ GIR_Done,
3044 /* 5924 */ // Label 246: @5924
3045 /* 5924 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 247*/ GIMT_Encode4(5938), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2524 //
3046 /* 5931 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PADDQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
3047 /* 5931 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDQrr),
3048 /* 5936 */ GIR_RootConstrainSelectedInstOperands,
3049 /* 5937 */ // GIR_Coverage, 2524,
3050 /* 5937 */ GIR_Done,
3051 /* 5938 */ // Label 247: @5938
3052 /* 5938 */ GIM_Reject,
3053 /* 5939 */ // Label 245: @5939
3054 /* 5939 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 248*/ GIMT_Encode4(5965), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4652 //
3055 /* 5946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3056 /* 5950 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3057 /* 5954 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3058 /* 5958 */ // (add:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPADDQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
3059 /* 5958 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rr),
3060 /* 5963 */ GIR_RootConstrainSelectedInstOperands,
3061 /* 5964 */ // GIR_Coverage, 4652,
3062 /* 5964 */ GIR_Done,
3063 /* 5965 */ // Label 248: @5965
3064 /* 5965 */ GIM_Reject,
3065 /* 5966 */ // Label 240: @5966
3066 /* 5966 */ GIM_Reject,
3067 /* 5967 */ // Label 102: @5967
3068 /* 5967 */ GIM_Try, /*On fail goto*//*Label 249*/ GIMT_Encode4(6275),
3069 /* 5972 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
3070 /* 5975 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
3071 /* 5978 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 250*/ GIMT_Encode4(6039), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23680 //
3072 /* 5985 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3073 /* 5989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3074 /* 5993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3075 /* 5997 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3076 /* 6000 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3077 /* 6004 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3078 /* 6008 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3079 /* 6012 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3080 /* 6014 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3081 /* 6021 */ // (add:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPADDQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3082 /* 6021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQYrm),
3083 /* 6024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3084 /* 6026 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3085 /* 6028 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3086 /* 6032 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3087 /* 6037 */ GIR_RootConstrainSelectedInstOperands,
3088 /* 6038 */ // GIR_Coverage, 23680,
3089 /* 6038 */ GIR_EraseRootFromParent_Done,
3090 /* 6039 */ // Label 250: @6039
3091 /* 6039 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 251*/ GIMT_Encode4(6100), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 23942 //
3092 /* 6046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3093 /* 6050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3094 /* 6054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3095 /* 6058 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3096 /* 6061 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3097 /* 6065 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3098 /* 6069 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3099 /* 6073 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3100 /* 6075 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3101 /* 6082 */ // (add:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPADDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3102 /* 6082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rm),
3103 /* 6085 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3104 /* 6087 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3105 /* 6089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3106 /* 6093 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3107 /* 6098 */ GIR_RootConstrainSelectedInstOperands,
3108 /* 6099 */ // GIR_Coverage, 23942,
3109 /* 6099 */ GIR_EraseRootFromParent_Done,
3110 /* 6100 */ // Label 251: @6100
3111 /* 6100 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 252*/ GIMT_Encode4(6161), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2527 //
3112 /* 6107 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3113 /* 6111 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3114 /* 6115 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3115 /* 6119 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3116 /* 6123 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3117 /* 6126 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3118 /* 6130 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3119 /* 6134 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3120 /* 6136 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3121 /* 6143 */ // (add:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3122 /* 6143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQYrm),
3123 /* 6146 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3124 /* 6148 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3125 /* 6150 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3126 /* 6154 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3127 /* 6159 */ GIR_RootConstrainSelectedInstOperands,
3128 /* 6160 */ // GIR_Coverage, 2527,
3129 /* 6160 */ GIR_EraseRootFromParent_Done,
3130 /* 6161 */ // Label 252: @6161
3131 /* 6161 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 253*/ GIMT_Encode4(6222), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4646 //
3132 /* 6168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3133 /* 6172 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3134 /* 6176 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3135 /* 6180 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3136 /* 6184 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3137 /* 6187 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3138 /* 6191 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3139 /* 6195 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3140 /* 6197 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3141 /* 6204 */ // (add:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3142 /* 6204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rm),
3143 /* 6207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3144 /* 6209 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3145 /* 6211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3146 /* 6215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3147 /* 6220 */ GIR_RootConstrainSelectedInstOperands,
3148 /* 6221 */ // GIR_Coverage, 4646,
3149 /* 6221 */ GIR_EraseRootFromParent_Done,
3150 /* 6222 */ // Label 253: @6222
3151 /* 6222 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 254*/ GIMT_Encode4(6248), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2526 //
3152 /* 6229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3153 /* 6233 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3154 /* 6237 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3155 /* 6241 */ // (add:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPADDQYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
3156 /* 6241 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQYrr),
3157 /* 6246 */ GIR_RootConstrainSelectedInstOperands,
3158 /* 6247 */ // GIR_Coverage, 2526,
3159 /* 6247 */ GIR_Done,
3160 /* 6248 */ // Label 254: @6248
3161 /* 6248 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 255*/ GIMT_Encode4(6274), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4643 //
3162 /* 6255 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3163 /* 6259 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3164 /* 6263 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3165 /* 6267 */ // (add:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPADDQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
3166 /* 6267 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rr),
3167 /* 6272 */ GIR_RootConstrainSelectedInstOperands,
3168 /* 6273 */ // GIR_Coverage, 4643,
3169 /* 6273 */ GIR_Done,
3170 /* 6274 */ // Label 255: @6274
3171 /* 6274 */ GIM_Reject,
3172 /* 6275 */ // Label 249: @6275
3173 /* 6275 */ GIM_Reject,
3174 /* 6276 */ // Label 103: @6276
3175 /* 6276 */ GIM_Try, /*On fail goto*//*Label 256*/ GIMT_Encode4(6430),
3176 /* 6281 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
3177 /* 6284 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
3178 /* 6287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3179 /* 6291 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 257*/ GIMT_Encode4(6348), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 23936 //
3180 /* 6298 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3181 /* 6302 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3182 /* 6306 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3183 /* 6309 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3184 /* 6313 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3185 /* 6317 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3186 /* 6321 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3187 /* 6323 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3188 /* 6330 */ // (add:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPADDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3189 /* 6330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZrm),
3190 /* 6333 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3191 /* 6335 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3192 /* 6337 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3193 /* 6341 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3194 /* 6346 */ GIR_RootConstrainSelectedInstOperands,
3195 /* 6347 */ // GIR_Coverage, 23936,
3196 /* 6347 */ GIR_EraseRootFromParent_Done,
3197 /* 6348 */ // Label 257: @6348
3198 /* 6348 */ GIM_Try, /*On fail goto*//*Label 258*/ GIMT_Encode4(6429),
3199 /* 6353 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3200 /* 6357 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 259*/ GIMT_Encode4(6410), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4637 //
3201 /* 6364 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3202 /* 6368 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3203 /* 6372 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3204 /* 6375 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3205 /* 6379 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3206 /* 6383 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3207 /* 6385 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3208 /* 6392 */ // (add:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3209 /* 6392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZrm),
3210 /* 6395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3211 /* 6397 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3212 /* 6399 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3213 /* 6403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3214 /* 6408 */ GIR_RootConstrainSelectedInstOperands,
3215 /* 6409 */ // GIR_Coverage, 4637,
3216 /* 6409 */ GIR_EraseRootFromParent_Done,
3217 /* 6410 */ // Label 259: @6410
3218 /* 6410 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 260*/ GIMT_Encode4(6428), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4634 //
3219 /* 6417 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3220 /* 6421 */ // (add:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPADDQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
3221 /* 6421 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZrr),
3222 /* 6426 */ GIR_RootConstrainSelectedInstOperands,
3223 /* 6427 */ // GIR_Coverage, 4634,
3224 /* 6427 */ GIR_Done,
3225 /* 6428 */ // Label 260: @6428
3226 /* 6428 */ GIM_Reject,
3227 /* 6429 */ // Label 258: @6429
3228 /* 6429 */ GIM_Reject,
3229 /* 6430 */ // Label 256: @6430
3230 /* 6430 */ GIM_Reject,
3231 /* 6431 */ // Label 104: @6431
3232 /* 6431 */ GIM_Reject,
3233 /* 6432 */ // Label 1: @6432
3234 /* 6432 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 277*/ GIMT_Encode4(9567),
3235 /* 6443 */ /*GILLT_s8*//*Label 261*/ GIMT_Encode4(6539),
3236 /* 6447 */ /*GILLT_s16*//*Label 262*/ GIMT_Encode4(6808),
3237 /* 6451 */ /*GILLT_s32*//*Label 263*/ GIMT_Encode4(7077),
3238 /* 6455 */ /*GILLT_s64*//*Label 264*/ GIMT_Encode4(7346), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
3239 /* 6491 */ /*GILLT_v16s8*//*Label 265*/ GIMT_Encode4(7623),
3240 /* 6495 */ /*GILLT_v32s8*//*Label 266*/ GIMT_Encode4(7830),
3241 /* 6499 */ /*GILLT_v64s8*//*Label 267*/ GIMT_Encode4(8017),
3242 /* 6503 */ /*GILLT_v8s16*//*Label 268*/ GIMT_Encode4(8109),
3243 /* 6507 */ /*GILLT_v16s16*//*Label 269*/ GIMT_Encode4(8316),
3244 /* 6511 */ /*GILLT_v32s16*//*Label 270*/ GIMT_Encode4(8503),
3245 /* 6515 */ /*GILLT_v4s32*//*Label 271*/ GIMT_Encode4(8595),
3246 /* 6519 */ /*GILLT_v8s32*//*Label 272*/ GIMT_Encode4(8802),
3247 /* 6523 */ /*GILLT_v16s32*//*Label 273*/ GIMT_Encode4(8989),
3248 /* 6527 */ /*GILLT_v2s64*//*Label 274*/ GIMT_Encode4(9081),
3249 /* 6531 */ /*GILLT_v4s64*//*Label 275*/ GIMT_Encode4(9288),
3250 /* 6535 */ /*GILLT_v8s64*//*Label 276*/ GIMT_Encode4(9475),
3251 /* 6539 */ // Label 261: @6539
3252 /* 6539 */ GIM_Try, /*On fail goto*//*Label 278*/ GIMT_Encode4(6807),
3253 /* 6544 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
3254 /* 6547 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
3255 /* 6550 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3256 /* 6554 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 279*/ GIMT_Encode4(6614), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23044 //
3257 /* 6561 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3258 /* 6565 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3259 /* 6569 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3260 /* 6573 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3261 /* 6576 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3262 /* 6580 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
3263 /* 6584 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3264 /* 6586 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3265 /* 6593 */ // (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)
3266 /* 6593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8rm),
3267 /* 6596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3268 /* 6598 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3269 /* 6600 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3270 /* 6604 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3271 /* 6607 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3272 /* 6612 */ GIR_RootConstrainSelectedInstOperands,
3273 /* 6613 */ // GIR_Coverage, 23044,
3274 /* 6613 */ GIR_EraseRootFromParent_Done,
3275 /* 6614 */ // Label 279: @6614
3276 /* 6614 */ GIM_Try, /*On fail goto*//*Label 280*/ GIMT_Encode4(6682),
3277 /* 6619 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3278 /* 6623 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3279 /* 6627 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 281*/ GIMT_Encode4(6646), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 239 //
3280 /* 6634 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
3281 /* 6634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r),
3282 /* 6637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3283 /* 6639 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3284 /* 6641 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3285 /* 6644 */ GIR_RootConstrainSelectedInstOperands,
3286 /* 6645 */ // GIR_Coverage, 239,
3287 /* 6645 */ GIR_EraseRootFromParent_Done,
3288 /* 6646 */ // Label 281: @6646
3289 /* 6646 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 282*/ GIMT_Encode4(6665), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 247 //
3290 /* 6653 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
3291 /* 6653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r_ND),
3292 /* 6656 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3293 /* 6658 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3294 /* 6660 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3295 /* 6663 */ GIR_RootConstrainSelectedInstOperands,
3296 /* 6664 */ // GIR_Coverage, 247,
3297 /* 6664 */ GIR_EraseRootFromParent_Done,
3298 /* 6665 */ // Label 282: @6665
3299 /* 6665 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 283*/ GIMT_Encode4(6681), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 255 //
3300 /* 6672 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r_NF_ND:{ *:[i8] } GR8:{ *:[i8] }:$src1)
3301 /* 6672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r_NF_ND),
3302 /* 6675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3303 /* 6677 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3304 /* 6679 */ GIR_RootConstrainSelectedInstOperands,
3305 /* 6680 */ // GIR_Coverage, 255,
3306 /* 6680 */ GIR_EraseRootFromParent_Done,
3307 /* 6681 */ // Label 283: @6681
3308 /* 6681 */ GIM_Reject,
3309 /* 6682 */ // Label 280: @6682
3310 /* 6682 */ GIM_Try, /*On fail goto*//*Label 284*/ GIMT_Encode4(6806),
3311 /* 6687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3312 /* 6691 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 285*/ GIMT_Encode4(6723), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23048 //
3313 /* 6698 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3314 /* 6702 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3315 /* 6706 */ // MIs[1] Operand 1
3316 /* 6706 */ // No operand predicates
3317 /* 6706 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3318 /* 6708 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SUB8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
3319 /* 6708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8ri),
3320 /* 6711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3321 /* 6713 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3322 /* 6715 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3323 /* 6718 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3324 /* 6721 */ GIR_RootConstrainSelectedInstOperands,
3325 /* 6722 */ // GIR_Coverage, 23048,
3326 /* 6722 */ GIR_EraseRootFromParent_Done,
3327 /* 6723 */ // Label 285: @6723
3328 /* 6723 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 286*/ GIMT_Encode4(6755), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23138 //
3329 /* 6730 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3330 /* 6734 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3331 /* 6738 */ // MIs[1] Operand 1
3332 /* 6738 */ // No operand predicates
3333 /* 6738 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3334 /* 6740 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SUB8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
3335 /* 6740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8ri_ND),
3336 /* 6743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3337 /* 6745 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3338 /* 6747 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3339 /* 6750 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3340 /* 6753 */ GIR_RootConstrainSelectedInstOperands,
3341 /* 6754 */ // GIR_Coverage, 23138,
3342 /* 6754 */ GIR_EraseRootFromParent_Done,
3343 /* 6755 */ // Label 286: @6755
3344 /* 6755 */ GIM_Try, /*On fail goto*//*Label 287*/ GIMT_Encode4(6805),
3345 /* 6760 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3346 /* 6764 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 288*/ GIMT_Encode4(6784), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23040 //
3347 /* 6771 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (SUB8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
3348 /* 6771 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB8rr),
3349 /* 6776 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3350 /* 6782 */ GIR_RootConstrainSelectedInstOperands,
3351 /* 6783 */ // GIR_Coverage, 23040,
3352 /* 6783 */ GIR_Done,
3353 /* 6784 */ // Label 288: @6784
3354 /* 6784 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 289*/ GIMT_Encode4(6804), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23130 //
3355 /* 6791 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (SUB8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
3356 /* 6791 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB8rr_ND),
3357 /* 6796 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3358 /* 6802 */ GIR_RootConstrainSelectedInstOperands,
3359 /* 6803 */ // GIR_Coverage, 23130,
3360 /* 6803 */ GIR_Done,
3361 /* 6804 */ // Label 289: @6804
3362 /* 6804 */ GIM_Reject,
3363 /* 6805 */ // Label 287: @6805
3364 /* 6805 */ GIM_Reject,
3365 /* 6806 */ // Label 284: @6806
3366 /* 6806 */ GIM_Reject,
3367 /* 6807 */ // Label 278: @6807
3368 /* 6807 */ GIM_Reject,
3369 /* 6808 */ // Label 262: @6808
3370 /* 6808 */ GIM_Try, /*On fail goto*//*Label 290*/ GIMT_Encode4(7076),
3371 /* 6813 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
3372 /* 6816 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
3373 /* 6819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3374 /* 6823 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 291*/ GIMT_Encode4(6883), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23045 //
3375 /* 6830 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3376 /* 6834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3377 /* 6838 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3378 /* 6842 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3379 /* 6845 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3380 /* 6849 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
3381 /* 6853 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3382 /* 6855 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3383 /* 6862 */ // (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)
3384 /* 6862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16rm),
3385 /* 6865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3386 /* 6867 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3387 /* 6869 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3388 /* 6873 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3389 /* 6876 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3390 /* 6881 */ GIR_RootConstrainSelectedInstOperands,
3391 /* 6882 */ // GIR_Coverage, 23045,
3392 /* 6882 */ GIR_EraseRootFromParent_Done,
3393 /* 6883 */ // Label 291: @6883
3394 /* 6883 */ GIM_Try, /*On fail goto*//*Label 292*/ GIMT_Encode4(6951),
3395 /* 6888 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3396 /* 6892 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3397 /* 6896 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 293*/ GIMT_Encode4(6915), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 240 //
3398 /* 6903 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
3399 /* 6903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r),
3400 /* 6906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3401 /* 6908 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3402 /* 6910 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3403 /* 6913 */ GIR_RootConstrainSelectedInstOperands,
3404 /* 6914 */ // GIR_Coverage, 240,
3405 /* 6914 */ GIR_EraseRootFromParent_Done,
3406 /* 6915 */ // Label 293: @6915
3407 /* 6915 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 294*/ GIMT_Encode4(6934), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 248 //
3408 /* 6922 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
3409 /* 6922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r_ND),
3410 /* 6925 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3411 /* 6927 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3412 /* 6929 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3413 /* 6932 */ GIR_RootConstrainSelectedInstOperands,
3414 /* 6933 */ // GIR_Coverage, 248,
3415 /* 6933 */ GIR_EraseRootFromParent_Done,
3416 /* 6934 */ // Label 294: @6934
3417 /* 6934 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 295*/ GIMT_Encode4(6950), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 256 //
3418 /* 6941 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r_NF_ND:{ *:[i16] } GR16:{ *:[i16] }:$src1)
3419 /* 6941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r_NF_ND),
3420 /* 6944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3421 /* 6946 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3422 /* 6948 */ GIR_RootConstrainSelectedInstOperands,
3423 /* 6949 */ // GIR_Coverage, 256,
3424 /* 6949 */ GIR_EraseRootFromParent_Done,
3425 /* 6950 */ // Label 295: @6950
3426 /* 6950 */ GIM_Reject,
3427 /* 6951 */ // Label 292: @6951
3428 /* 6951 */ GIM_Try, /*On fail goto*//*Label 296*/ GIMT_Encode4(7075),
3429 /* 6956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3430 /* 6960 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 297*/ GIMT_Encode4(6992), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23049 //
3431 /* 6967 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3432 /* 6971 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3433 /* 6975 */ // MIs[1] Operand 1
3434 /* 6975 */ // No operand predicates
3435 /* 6975 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3436 /* 6977 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (SUB16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
3437 /* 6977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri),
3438 /* 6980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3439 /* 6982 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3440 /* 6984 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3441 /* 6987 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3442 /* 6990 */ GIR_RootConstrainSelectedInstOperands,
3443 /* 6991 */ // GIR_Coverage, 23049,
3444 /* 6991 */ GIR_EraseRootFromParent_Done,
3445 /* 6992 */ // Label 297: @6992
3446 /* 6992 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 298*/ GIMT_Encode4(7024), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23139 //
3447 /* 6999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3448 /* 7003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3449 /* 7007 */ // MIs[1] Operand 1
3450 /* 7007 */ // No operand predicates
3451 /* 7007 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3452 /* 7009 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (SUB16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
3453 /* 7009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri_ND),
3454 /* 7012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3455 /* 7014 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3456 /* 7016 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3457 /* 7019 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3458 /* 7022 */ GIR_RootConstrainSelectedInstOperands,
3459 /* 7023 */ // GIR_Coverage, 23139,
3460 /* 7023 */ GIR_EraseRootFromParent_Done,
3461 /* 7024 */ // Label 298: @7024
3462 /* 7024 */ GIM_Try, /*On fail goto*//*Label 299*/ GIMT_Encode4(7074),
3463 /* 7029 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3464 /* 7033 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 300*/ GIMT_Encode4(7053), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23041 //
3465 /* 7040 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (SUB16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
3466 /* 7040 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB16rr),
3467 /* 7045 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3468 /* 7051 */ GIR_RootConstrainSelectedInstOperands,
3469 /* 7052 */ // GIR_Coverage, 23041,
3470 /* 7052 */ GIR_Done,
3471 /* 7053 */ // Label 300: @7053
3472 /* 7053 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 301*/ GIMT_Encode4(7073), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23131 //
3473 /* 7060 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (SUB16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
3474 /* 7060 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB16rr_ND),
3475 /* 7065 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3476 /* 7071 */ GIR_RootConstrainSelectedInstOperands,
3477 /* 7072 */ // GIR_Coverage, 23131,
3478 /* 7072 */ GIR_Done,
3479 /* 7073 */ // Label 301: @7073
3480 /* 7073 */ GIM_Reject,
3481 /* 7074 */ // Label 299: @7074
3482 /* 7074 */ GIM_Reject,
3483 /* 7075 */ // Label 296: @7075
3484 /* 7075 */ GIM_Reject,
3485 /* 7076 */ // Label 290: @7076
3486 /* 7076 */ GIM_Reject,
3487 /* 7077 */ // Label 263: @7077
3488 /* 7077 */ GIM_Try, /*On fail goto*//*Label 302*/ GIMT_Encode4(7345),
3489 /* 7082 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3490 /* 7085 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
3491 /* 7088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3492 /* 7092 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 303*/ GIMT_Encode4(7152), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23046 //
3493 /* 7099 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3494 /* 7103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3495 /* 7107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3496 /* 7111 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3497 /* 7114 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3498 /* 7118 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
3499 /* 7122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3500 /* 7124 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3501 /* 7131 */ // (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)
3502 /* 7131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32rm),
3503 /* 7134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3504 /* 7136 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3505 /* 7138 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3506 /* 7142 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3507 /* 7145 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3508 /* 7150 */ GIR_RootConstrainSelectedInstOperands,
3509 /* 7151 */ // GIR_Coverage, 23046,
3510 /* 7151 */ GIR_EraseRootFromParent_Done,
3511 /* 7152 */ // Label 303: @7152
3512 /* 7152 */ GIM_Try, /*On fail goto*//*Label 304*/ GIMT_Encode4(7220),
3513 /* 7157 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3514 /* 7161 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3515 /* 7165 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 305*/ GIMT_Encode4(7184), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 241 //
3516 /* 7172 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3517 /* 7172 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r),
3518 /* 7175 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3519 /* 7177 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3520 /* 7179 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3521 /* 7182 */ GIR_RootConstrainSelectedInstOperands,
3522 /* 7183 */ // GIR_Coverage, 241,
3523 /* 7183 */ GIR_EraseRootFromParent_Done,
3524 /* 7184 */ // Label 305: @7184
3525 /* 7184 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 306*/ GIMT_Encode4(7203), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 249 //
3526 /* 7191 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3527 /* 7191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r_ND),
3528 /* 7194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3529 /* 7196 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3530 /* 7198 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3531 /* 7201 */ GIR_RootConstrainSelectedInstOperands,
3532 /* 7202 */ // GIR_Coverage, 249,
3533 /* 7202 */ GIR_EraseRootFromParent_Done,
3534 /* 7203 */ // Label 306: @7203
3535 /* 7203 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 307*/ GIMT_Encode4(7219), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 257 //
3536 /* 7210 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r_NF_ND:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3537 /* 7210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r_NF_ND),
3538 /* 7213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3539 /* 7215 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3540 /* 7217 */ GIR_RootConstrainSelectedInstOperands,
3541 /* 7218 */ // GIR_Coverage, 257,
3542 /* 7218 */ GIR_EraseRootFromParent_Done,
3543 /* 7219 */ // Label 307: @7219
3544 /* 7219 */ GIM_Reject,
3545 /* 7220 */ // Label 304: @7220
3546 /* 7220 */ GIM_Try, /*On fail goto*//*Label 308*/ GIMT_Encode4(7344),
3547 /* 7225 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3548 /* 7229 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 309*/ GIMT_Encode4(7261), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23050 //
3549 /* 7236 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3550 /* 7240 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3551 /* 7244 */ // MIs[1] Operand 1
3552 /* 7244 */ // No operand predicates
3553 /* 7244 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3554 /* 7246 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (SUB32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
3555 /* 7246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri),
3556 /* 7249 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3557 /* 7251 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3558 /* 7253 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3559 /* 7256 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3560 /* 7259 */ GIR_RootConstrainSelectedInstOperands,
3561 /* 7260 */ // GIR_Coverage, 23050,
3562 /* 7260 */ GIR_EraseRootFromParent_Done,
3563 /* 7261 */ // Label 309: @7261
3564 /* 7261 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 310*/ GIMT_Encode4(7293), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23140 //
3565 /* 7268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3566 /* 7272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3567 /* 7276 */ // MIs[1] Operand 1
3568 /* 7276 */ // No operand predicates
3569 /* 7276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3570 /* 7278 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (SUB32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
3571 /* 7278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri_ND),
3572 /* 7281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3573 /* 7283 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3574 /* 7285 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3575 /* 7288 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3576 /* 7291 */ GIR_RootConstrainSelectedInstOperands,
3577 /* 7292 */ // GIR_Coverage, 23140,
3578 /* 7292 */ GIR_EraseRootFromParent_Done,
3579 /* 7293 */ // Label 310: @7293
3580 /* 7293 */ GIM_Try, /*On fail goto*//*Label 311*/ GIMT_Encode4(7343),
3581 /* 7298 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3582 /* 7302 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 312*/ GIMT_Encode4(7322), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23042 //
3583 /* 7309 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (SUB32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
3584 /* 7309 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB32rr),
3585 /* 7314 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3586 /* 7320 */ GIR_RootConstrainSelectedInstOperands,
3587 /* 7321 */ // GIR_Coverage, 23042,
3588 /* 7321 */ GIR_Done,
3589 /* 7322 */ // Label 312: @7322
3590 /* 7322 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 313*/ GIMT_Encode4(7342), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23132 //
3591 /* 7329 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (SUB32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
3592 /* 7329 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB32rr_ND),
3593 /* 7334 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3594 /* 7340 */ GIR_RootConstrainSelectedInstOperands,
3595 /* 7341 */ // GIR_Coverage, 23132,
3596 /* 7341 */ GIR_Done,
3597 /* 7342 */ // Label 313: @7342
3598 /* 7342 */ GIM_Reject,
3599 /* 7343 */ // Label 311: @7343
3600 /* 7343 */ GIM_Reject,
3601 /* 7344 */ // Label 308: @7344
3602 /* 7344 */ GIM_Reject,
3603 /* 7345 */ // Label 302: @7345
3604 /* 7345 */ GIM_Reject,
3605 /* 7346 */ // Label 264: @7346
3606 /* 7346 */ GIM_Try, /*On fail goto*//*Label 314*/ GIMT_Encode4(7622),
3607 /* 7351 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
3608 /* 7354 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
3609 /* 7357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3610 /* 7361 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 315*/ GIMT_Encode4(7421), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23047 //
3611 /* 7368 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3612 /* 7372 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3613 /* 7376 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3614 /* 7380 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3615 /* 7383 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3616 /* 7387 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3617 /* 7391 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3618 /* 7393 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3619 /* 7400 */ // (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)
3620 /* 7400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64rm),
3621 /* 7403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3622 /* 7405 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3623 /* 7407 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3624 /* 7411 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3625 /* 7414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3626 /* 7419 */ GIR_RootConstrainSelectedInstOperands,
3627 /* 7420 */ // GIR_Coverage, 23047,
3628 /* 7420 */ GIR_EraseRootFromParent_Done,
3629 /* 7421 */ // Label 315: @7421
3630 /* 7421 */ GIM_Try, /*On fail goto*//*Label 316*/ GIMT_Encode4(7489),
3631 /* 7426 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3632 /* 7430 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3633 /* 7434 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 317*/ GIMT_Encode4(7453), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 242 //
3634 /* 7441 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
3635 /* 7441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r),
3636 /* 7444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3637 /* 7446 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3638 /* 7448 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3639 /* 7451 */ GIR_RootConstrainSelectedInstOperands,
3640 /* 7452 */ // GIR_Coverage, 242,
3641 /* 7452 */ GIR_EraseRootFromParent_Done,
3642 /* 7453 */ // Label 317: @7453
3643 /* 7453 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 318*/ GIMT_Encode4(7472), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 250 //
3644 /* 7460 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
3645 /* 7460 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r_ND),
3646 /* 7463 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3647 /* 7465 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3648 /* 7467 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3649 /* 7470 */ GIR_RootConstrainSelectedInstOperands,
3650 /* 7471 */ // GIR_Coverage, 250,
3651 /* 7471 */ GIR_EraseRootFromParent_Done,
3652 /* 7472 */ // Label 318: @7472
3653 /* 7472 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 319*/ GIMT_Encode4(7488), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 258 //
3654 /* 7479 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r_NF_ND:{ *:[i64] } GR64:{ *:[i64] }:$src1)
3655 /* 7479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r_NF_ND),
3656 /* 7482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3657 /* 7484 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3658 /* 7486 */ GIR_RootConstrainSelectedInstOperands,
3659 /* 7487 */ // GIR_Coverage, 258,
3660 /* 7487 */ GIR_EraseRootFromParent_Done,
3661 /* 7488 */ // Label 319: @7488
3662 /* 7488 */ GIM_Reject,
3663 /* 7489 */ // Label 316: @7489
3664 /* 7489 */ GIM_Try, /*On fail goto*//*Label 320*/ GIMT_Encode4(7621),
3665 /* 7494 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3666 /* 7498 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 321*/ GIMT_Encode4(7534), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23098 //
3667 /* 7505 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3668 /* 7509 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3669 /* 7513 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
3670 /* 7517 */ // MIs[1] Operand 1
3671 /* 7517 */ // No operand predicates
3672 /* 7517 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3673 /* 7519 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
3674 /* 7519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
3675 /* 7522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3676 /* 7524 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3677 /* 7526 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3678 /* 7529 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3679 /* 7532 */ GIR_RootConstrainSelectedInstOperands,
3680 /* 7533 */ // GIR_Coverage, 23098,
3681 /* 7533 */ GIR_EraseRootFromParent_Done,
3682 /* 7534 */ // Label 321: @7534
3683 /* 7534 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 322*/ GIMT_Encode4(7570), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23188 //
3684 /* 7541 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3685 /* 7545 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3686 /* 7549 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
3687 /* 7553 */ // MIs[1] Operand 1
3688 /* 7553 */ // No operand predicates
3689 /* 7553 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3690 /* 7555 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
3691 /* 7555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
3692 /* 7558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3693 /* 7560 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3694 /* 7562 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3695 /* 7565 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3696 /* 7568 */ GIR_RootConstrainSelectedInstOperands,
3697 /* 7569 */ // GIR_Coverage, 23188,
3698 /* 7569 */ GIR_EraseRootFromParent_Done,
3699 /* 7570 */ // Label 322: @7570
3700 /* 7570 */ GIM_Try, /*On fail goto*//*Label 323*/ GIMT_Encode4(7620),
3701 /* 7575 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3702 /* 7579 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 324*/ GIMT_Encode4(7599), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23043 //
3703 /* 7586 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (SUB64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
3704 /* 7586 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB64rr),
3705 /* 7591 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3706 /* 7597 */ GIR_RootConstrainSelectedInstOperands,
3707 /* 7598 */ // GIR_Coverage, 23043,
3708 /* 7598 */ GIR_Done,
3709 /* 7599 */ // Label 324: @7599
3710 /* 7599 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 325*/ GIMT_Encode4(7619), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23133 //
3711 /* 7606 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (SUB64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
3712 /* 7606 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB64rr_ND),
3713 /* 7611 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3714 /* 7617 */ GIR_RootConstrainSelectedInstOperands,
3715 /* 7618 */ // GIR_Coverage, 23133,
3716 /* 7618 */ GIR_Done,
3717 /* 7619 */ // Label 325: @7619
3718 /* 7619 */ GIM_Reject,
3719 /* 7620 */ // Label 323: @7620
3720 /* 7620 */ GIM_Reject,
3721 /* 7621 */ // Label 320: @7621
3722 /* 7621 */ GIM_Reject,
3723 /* 7622 */ // Label 314: @7622
3724 /* 7622 */ GIM_Reject,
3725 /* 7623 */ // Label 265: @7623
3726 /* 7623 */ GIM_Try, /*On fail goto*//*Label 326*/ GIMT_Encode4(7829),
3727 /* 7628 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
3728 /* 7631 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
3729 /* 7634 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 327*/ GIMT_Encode4(7695), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2571 //
3730 /* 7641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3731 /* 7645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3732 /* 7649 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3733 /* 7653 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3734 /* 7657 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3735 /* 7660 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3736 /* 7664 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3737 /* 7668 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3738 /* 7670 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3739 /* 7677 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3740 /* 7677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBrm),
3741 /* 7680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3742 /* 7682 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3743 /* 7684 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3744 /* 7688 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3745 /* 7693 */ GIR_RootConstrainSelectedInstOperands,
3746 /* 7694 */ // GIR_Coverage, 2571,
3747 /* 7694 */ GIR_EraseRootFromParent_Done,
3748 /* 7695 */ // Label 327: @7695
3749 /* 7695 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 328*/ GIMT_Encode4(7756), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4811 //
3750 /* 7702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3751 /* 7706 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3752 /* 7710 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3753 /* 7714 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3754 /* 7718 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3755 /* 7721 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3756 /* 7725 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3757 /* 7729 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3758 /* 7731 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3759 /* 7738 */ // (sub:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3760 /* 7738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ128rm),
3761 /* 7741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3762 /* 7743 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3763 /* 7745 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3764 /* 7749 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3765 /* 7754 */ GIR_RootConstrainSelectedInstOperands,
3766 /* 7755 */ // GIR_Coverage, 4811,
3767 /* 7755 */ GIR_EraseRootFromParent_Done,
3768 /* 7756 */ // Label 328: @7756
3769 /* 7756 */ GIM_Try, /*On fail goto*//*Label 329*/ GIMT_Encode4(7802),
3770 /* 7761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3771 /* 7765 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3772 /* 7769 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3773 /* 7773 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 330*/ GIMT_Encode4(7787), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2570 //
3774 /* 7780 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
3775 /* 7780 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBrr),
3776 /* 7785 */ GIR_RootConstrainSelectedInstOperands,
3777 /* 7786 */ // GIR_Coverage, 2570,
3778 /* 7786 */ GIR_Done,
3779 /* 7787 */ // Label 330: @7787
3780 /* 7787 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 331*/ GIMT_Encode4(7801), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2572 //
3781 /* 7794 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
3782 /* 7794 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBBrr),
3783 /* 7799 */ GIR_RootConstrainSelectedInstOperands,
3784 /* 7800 */ // GIR_Coverage, 2572,
3785 /* 7800 */ GIR_Done,
3786 /* 7801 */ // Label 331: @7801
3787 /* 7801 */ GIM_Reject,
3788 /* 7802 */ // Label 329: @7802
3789 /* 7802 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 332*/ GIMT_Encode4(7828), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4808 //
3790 /* 7809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3791 /* 7813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3792 /* 7817 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3793 /* 7821 */ // (sub:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
3794 /* 7821 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ128rr),
3795 /* 7826 */ GIR_RootConstrainSelectedInstOperands,
3796 /* 7827 */ // GIR_Coverage, 4808,
3797 /* 7827 */ GIR_Done,
3798 /* 7828 */ // Label 332: @7828
3799 /* 7828 */ GIM_Reject,
3800 /* 7829 */ // Label 326: @7829
3801 /* 7829 */ GIM_Reject,
3802 /* 7830 */ // Label 266: @7830
3803 /* 7830 */ GIM_Try, /*On fail goto*//*Label 333*/ GIMT_Encode4(8016),
3804 /* 7835 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
3805 /* 7838 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
3806 /* 7841 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 334*/ GIMT_Encode4(7902), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2575 //
3807 /* 7848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3808 /* 7852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3809 /* 7856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3810 /* 7860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3811 /* 7864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3812 /* 7867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3813 /* 7871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3814 /* 7875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3815 /* 7877 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3816 /* 7884 */ // (sub:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3817 /* 7884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBYrm),
3818 /* 7887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3819 /* 7889 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3820 /* 7891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3821 /* 7895 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3822 /* 7900 */ GIR_RootConstrainSelectedInstOperands,
3823 /* 7901 */ // GIR_Coverage, 2575,
3824 /* 7901 */ GIR_EraseRootFromParent_Done,
3825 /* 7902 */ // Label 334: @7902
3826 /* 7902 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 335*/ GIMT_Encode4(7963), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4805 //
3827 /* 7909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3828 /* 7913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3829 /* 7917 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3830 /* 7921 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3831 /* 7925 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3832 /* 7928 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3833 /* 7932 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3834 /* 7936 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3835 /* 7938 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3836 /* 7945 */ // (sub:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3837 /* 7945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ256rm),
3838 /* 7948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3839 /* 7950 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3840 /* 7952 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3841 /* 7956 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3842 /* 7961 */ GIR_RootConstrainSelectedInstOperands,
3843 /* 7962 */ // GIR_Coverage, 4805,
3844 /* 7962 */ GIR_EraseRootFromParent_Done,
3845 /* 7963 */ // Label 335: @7963
3846 /* 7963 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 336*/ GIMT_Encode4(7989), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2574 //
3847 /* 7970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3848 /* 7974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3849 /* 7978 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3850 /* 7982 */ // (sub:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
3851 /* 7982 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBYrr),
3852 /* 7987 */ GIR_RootConstrainSelectedInstOperands,
3853 /* 7988 */ // GIR_Coverage, 2574,
3854 /* 7988 */ GIR_Done,
3855 /* 7989 */ // Label 336: @7989
3856 /* 7989 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 337*/ GIMT_Encode4(8015), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4802 //
3857 /* 7996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3858 /* 8000 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3859 /* 8004 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3860 /* 8008 */ // (sub:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
3861 /* 8008 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ256rr),
3862 /* 8013 */ GIR_RootConstrainSelectedInstOperands,
3863 /* 8014 */ // GIR_Coverage, 4802,
3864 /* 8014 */ GIR_Done,
3865 /* 8015 */ // Label 337: @8015
3866 /* 8015 */ GIM_Reject,
3867 /* 8016 */ // Label 333: @8016
3868 /* 8016 */ GIM_Reject,
3869 /* 8017 */ // Label 267: @8017
3870 /* 8017 */ GIM_Try, /*On fail goto*//*Label 338*/ GIMT_Encode4(8108),
3871 /* 8022 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
3872 /* 8025 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
3873 /* 8028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3874 /* 8032 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3875 /* 8036 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 339*/ GIMT_Encode4(8089), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4799 //
3876 /* 8043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3877 /* 8047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3878 /* 8051 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3879 /* 8054 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3880 /* 8058 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3881 /* 8062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3882 /* 8064 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3883 /* 8071 */ // (sub:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3884 /* 8071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZrm),
3885 /* 8074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3886 /* 8076 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3887 /* 8078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3888 /* 8082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3889 /* 8087 */ GIR_RootConstrainSelectedInstOperands,
3890 /* 8088 */ // GIR_Coverage, 4799,
3891 /* 8088 */ GIR_EraseRootFromParent_Done,
3892 /* 8089 */ // Label 339: @8089
3893 /* 8089 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 340*/ GIMT_Encode4(8107), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4796 //
3894 /* 8096 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3895 /* 8100 */ // (sub:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
3896 /* 8100 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZrr),
3897 /* 8105 */ GIR_RootConstrainSelectedInstOperands,
3898 /* 8106 */ // GIR_Coverage, 4796,
3899 /* 8106 */ GIR_Done,
3900 /* 8107 */ // Label 340: @8107
3901 /* 8107 */ GIM_Reject,
3902 /* 8108 */ // Label 338: @8108
3903 /* 8108 */ GIM_Reject,
3904 /* 8109 */ // Label 268: @8109
3905 /* 8109 */ GIM_Try, /*On fail goto*//*Label 341*/ GIMT_Encode4(8315),
3906 /* 8114 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
3907 /* 8117 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
3908 /* 8120 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 342*/ GIMT_Encode4(8181), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2577 //
3909 /* 8127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3910 /* 8131 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3911 /* 8135 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3912 /* 8139 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3913 /* 8143 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3914 /* 8146 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3915 /* 8150 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3916 /* 8154 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3917 /* 8156 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3918 /* 8163 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3919 /* 8163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWrm),
3920 /* 8166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3921 /* 8168 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3922 /* 8170 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3923 /* 8174 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3924 /* 8179 */ GIR_RootConstrainSelectedInstOperands,
3925 /* 8180 */ // GIR_Coverage, 2577,
3926 /* 8180 */ GIR_EraseRootFromParent_Done,
3927 /* 8181 */ // Label 342: @8181
3928 /* 8181 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 343*/ GIMT_Encode4(8242), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4793 //
3929 /* 8188 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3930 /* 8192 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3931 /* 8196 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3932 /* 8200 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3933 /* 8204 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3934 /* 8207 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3935 /* 8211 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3936 /* 8215 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3937 /* 8217 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3938 /* 8224 */ // (sub:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3939 /* 8224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ128rm),
3940 /* 8227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3941 /* 8229 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3942 /* 8231 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3943 /* 8235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3944 /* 8240 */ GIR_RootConstrainSelectedInstOperands,
3945 /* 8241 */ // GIR_Coverage, 4793,
3946 /* 8241 */ GIR_EraseRootFromParent_Done,
3947 /* 8242 */ // Label 343: @8242
3948 /* 8242 */ GIM_Try, /*On fail goto*//*Label 344*/ GIMT_Encode4(8288),
3949 /* 8247 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3950 /* 8251 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3951 /* 8255 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3952 /* 8259 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 345*/ GIMT_Encode4(8273), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2576 //
3953 /* 8266 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
3954 /* 8266 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWrr),
3955 /* 8271 */ GIR_RootConstrainSelectedInstOperands,
3956 /* 8272 */ // GIR_Coverage, 2576,
3957 /* 8272 */ GIR_Done,
3958 /* 8273 */ // Label 345: @8273
3959 /* 8273 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 346*/ GIMT_Encode4(8287), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2578 //
3960 /* 8280 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
3961 /* 8280 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBWrr),
3962 /* 8285 */ GIR_RootConstrainSelectedInstOperands,
3963 /* 8286 */ // GIR_Coverage, 2578,
3964 /* 8286 */ GIR_Done,
3965 /* 8287 */ // Label 346: @8287
3966 /* 8287 */ GIM_Reject,
3967 /* 8288 */ // Label 344: @8288
3968 /* 8288 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 347*/ GIMT_Encode4(8314), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4790 //
3969 /* 8295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3970 /* 8299 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3971 /* 8303 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3972 /* 8307 */ // (sub:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
3973 /* 8307 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ128rr),
3974 /* 8312 */ GIR_RootConstrainSelectedInstOperands,
3975 /* 8313 */ // GIR_Coverage, 4790,
3976 /* 8313 */ GIR_Done,
3977 /* 8314 */ // Label 347: @8314
3978 /* 8314 */ GIM_Reject,
3979 /* 8315 */ // Label 341: @8315
3980 /* 8315 */ GIM_Reject,
3981 /* 8316 */ // Label 269: @8316
3982 /* 8316 */ GIM_Try, /*On fail goto*//*Label 348*/ GIMT_Encode4(8502),
3983 /* 8321 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
3984 /* 8324 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
3985 /* 8327 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 349*/ GIMT_Encode4(8388), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2581 //
3986 /* 8334 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3987 /* 8338 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3988 /* 8342 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3989 /* 8346 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3990 /* 8350 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3991 /* 8353 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3992 /* 8357 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3993 /* 8361 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3994 /* 8363 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3995 /* 8370 */ // (sub:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3996 /* 8370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWYrm),
3997 /* 8373 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3998 /* 8375 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3999 /* 8377 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4000 /* 8381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4001 /* 8386 */ GIR_RootConstrainSelectedInstOperands,
4002 /* 8387 */ // GIR_Coverage, 2581,
4003 /* 8387 */ GIR_EraseRootFromParent_Done,
4004 /* 8388 */ // Label 349: @8388
4005 /* 8388 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 350*/ GIMT_Encode4(8449), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4787 //
4006 /* 8395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4007 /* 8399 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4008 /* 8403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4009 /* 8407 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4010 /* 8411 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4011 /* 8414 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4012 /* 8418 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4013 /* 8422 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4014 /* 8424 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4015 /* 8431 */ // (sub:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4016 /* 8431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ256rm),
4017 /* 8434 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4018 /* 8436 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4019 /* 8438 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4020 /* 8442 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4021 /* 8447 */ GIR_RootConstrainSelectedInstOperands,
4022 /* 8448 */ // GIR_Coverage, 4787,
4023 /* 8448 */ GIR_EraseRootFromParent_Done,
4024 /* 8449 */ // Label 350: @8449
4025 /* 8449 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 351*/ GIMT_Encode4(8475), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2580 //
4026 /* 8456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4027 /* 8460 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4028 /* 8464 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4029 /* 8468 */ // (sub:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
4030 /* 8468 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWYrr),
4031 /* 8473 */ GIR_RootConstrainSelectedInstOperands,
4032 /* 8474 */ // GIR_Coverage, 2580,
4033 /* 8474 */ GIR_Done,
4034 /* 8475 */ // Label 351: @8475
4035 /* 8475 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 352*/ GIMT_Encode4(8501), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4784 //
4036 /* 8482 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4037 /* 8486 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4038 /* 8490 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4039 /* 8494 */ // (sub:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
4040 /* 8494 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ256rr),
4041 /* 8499 */ GIR_RootConstrainSelectedInstOperands,
4042 /* 8500 */ // GIR_Coverage, 4784,
4043 /* 8500 */ GIR_Done,
4044 /* 8501 */ // Label 352: @8501
4045 /* 8501 */ GIM_Reject,
4046 /* 8502 */ // Label 348: @8502
4047 /* 8502 */ GIM_Reject,
4048 /* 8503 */ // Label 270: @8503
4049 /* 8503 */ GIM_Try, /*On fail goto*//*Label 353*/ GIMT_Encode4(8594),
4050 /* 8508 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
4051 /* 8511 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
4052 /* 8514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4053 /* 8518 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4054 /* 8522 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 354*/ GIMT_Encode4(8575), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4781 //
4055 /* 8529 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4056 /* 8533 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4057 /* 8537 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4058 /* 8540 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4059 /* 8544 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4060 /* 8548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4061 /* 8550 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4062 /* 8557 */ // (sub:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4063 /* 8557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZrm),
4064 /* 8560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4065 /* 8562 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4066 /* 8564 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4067 /* 8568 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4068 /* 8573 */ GIR_RootConstrainSelectedInstOperands,
4069 /* 8574 */ // GIR_Coverage, 4781,
4070 /* 8574 */ GIR_EraseRootFromParent_Done,
4071 /* 8575 */ // Label 354: @8575
4072 /* 8575 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 355*/ GIMT_Encode4(8593), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4778 //
4073 /* 8582 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4074 /* 8586 */ // (sub:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
4075 /* 8586 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZrr),
4076 /* 8591 */ GIR_RootConstrainSelectedInstOperands,
4077 /* 8592 */ // GIR_Coverage, 4778,
4078 /* 8592 */ GIR_Done,
4079 /* 8593 */ // Label 355: @8593
4080 /* 8593 */ GIM_Reject,
4081 /* 8594 */ // Label 353: @8594
4082 /* 8594 */ GIM_Reject,
4083 /* 8595 */ // Label 271: @8595
4084 /* 8595 */ GIM_Try, /*On fail goto*//*Label 356*/ GIMT_Encode4(8801),
4085 /* 8600 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
4086 /* 8603 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
4087 /* 8606 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 357*/ GIMT_Encode4(8667), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2583 //
4088 /* 8613 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4089 /* 8617 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4090 /* 8621 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4091 /* 8625 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4092 /* 8629 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4093 /* 8632 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4094 /* 8636 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4095 /* 8640 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4096 /* 8642 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4097 /* 8649 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4098 /* 8649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDrm),
4099 /* 8652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4100 /* 8654 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4101 /* 8656 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4102 /* 8660 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4103 /* 8665 */ GIR_RootConstrainSelectedInstOperands,
4104 /* 8666 */ // GIR_Coverage, 2583,
4105 /* 8666 */ GIR_EraseRootFromParent_Done,
4106 /* 8667 */ // Label 357: @8667
4107 /* 8667 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 358*/ GIMT_Encode4(8728), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4772 //
4108 /* 8674 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4109 /* 8678 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4110 /* 8682 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4111 /* 8686 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4112 /* 8690 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4113 /* 8693 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4114 /* 8697 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4115 /* 8701 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4116 /* 8703 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4117 /* 8710 */ // (sub:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4118 /* 8710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ128rm),
4119 /* 8713 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4120 /* 8715 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4121 /* 8717 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4122 /* 8721 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4123 /* 8726 */ GIR_RootConstrainSelectedInstOperands,
4124 /* 8727 */ // GIR_Coverage, 4772,
4125 /* 8727 */ GIR_EraseRootFromParent_Done,
4126 /* 8728 */ // Label 358: @8728
4127 /* 8728 */ GIM_Try, /*On fail goto*//*Label 359*/ GIMT_Encode4(8774),
4128 /* 8733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4129 /* 8737 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4130 /* 8741 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4131 /* 8745 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 360*/ GIMT_Encode4(8759), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2582 //
4132 /* 8752 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPSUBDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
4133 /* 8752 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDrr),
4134 /* 8757 */ GIR_RootConstrainSelectedInstOperands,
4135 /* 8758 */ // GIR_Coverage, 2582,
4136 /* 8758 */ GIR_Done,
4137 /* 8759 */ // Label 360: @8759
4138 /* 8759 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 361*/ GIMT_Encode4(8773), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2584 //
4139 /* 8766 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PSUBDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
4140 /* 8766 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBDrr),
4141 /* 8771 */ GIR_RootConstrainSelectedInstOperands,
4142 /* 8772 */ // GIR_Coverage, 2584,
4143 /* 8772 */ GIR_Done,
4144 /* 8773 */ // Label 361: @8773
4145 /* 8773 */ GIM_Reject,
4146 /* 8774 */ // Label 359: @8774
4147 /* 8774 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 362*/ GIMT_Encode4(8800), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4769 //
4148 /* 8781 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4149 /* 8785 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4150 /* 8789 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4151 /* 8793 */ // (sub:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPSUBDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
4152 /* 8793 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ128rr),
4153 /* 8798 */ GIR_RootConstrainSelectedInstOperands,
4154 /* 8799 */ // GIR_Coverage, 4769,
4155 /* 8799 */ GIR_Done,
4156 /* 8800 */ // Label 362: @8800
4157 /* 8800 */ GIM_Reject,
4158 /* 8801 */ // Label 356: @8801
4159 /* 8801 */ GIM_Reject,
4160 /* 8802 */ // Label 272: @8802
4161 /* 8802 */ GIM_Try, /*On fail goto*//*Label 363*/ GIMT_Encode4(8988),
4162 /* 8807 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
4163 /* 8810 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
4164 /* 8813 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 364*/ GIMT_Encode4(8874), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2587 //
4165 /* 8820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4166 /* 8824 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4167 /* 8828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4168 /* 8832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4169 /* 8836 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4170 /* 8839 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4171 /* 8843 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4172 /* 8847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4173 /* 8849 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4174 /* 8856 */ // (sub:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4175 /* 8856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDYrm),
4176 /* 8859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4177 /* 8861 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4178 /* 8863 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4179 /* 8867 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4180 /* 8872 */ GIR_RootConstrainSelectedInstOperands,
4181 /* 8873 */ // GIR_Coverage, 2587,
4182 /* 8873 */ GIR_EraseRootFromParent_Done,
4183 /* 8874 */ // Label 364: @8874
4184 /* 8874 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 365*/ GIMT_Encode4(8935), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4763 //
4185 /* 8881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4186 /* 8885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4187 /* 8889 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4188 /* 8893 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4189 /* 8897 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4190 /* 8900 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4191 /* 8904 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4192 /* 8908 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4193 /* 8910 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4194 /* 8917 */ // (sub:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4195 /* 8917 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ256rm),
4196 /* 8920 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4197 /* 8922 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4198 /* 8924 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4199 /* 8928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4200 /* 8933 */ GIR_RootConstrainSelectedInstOperands,
4201 /* 8934 */ // GIR_Coverage, 4763,
4202 /* 8934 */ GIR_EraseRootFromParent_Done,
4203 /* 8935 */ // Label 365: @8935
4204 /* 8935 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 366*/ GIMT_Encode4(8961), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2586 //
4205 /* 8942 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4206 /* 8946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4207 /* 8950 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4208 /* 8954 */ // (sub:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPSUBDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
4209 /* 8954 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDYrr),
4210 /* 8959 */ GIR_RootConstrainSelectedInstOperands,
4211 /* 8960 */ // GIR_Coverage, 2586,
4212 /* 8960 */ GIR_Done,
4213 /* 8961 */ // Label 366: @8961
4214 /* 8961 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 367*/ GIMT_Encode4(8987), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4760 //
4215 /* 8968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4216 /* 8972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4217 /* 8976 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4218 /* 8980 */ // (sub:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPSUBDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
4219 /* 8980 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ256rr),
4220 /* 8985 */ GIR_RootConstrainSelectedInstOperands,
4221 /* 8986 */ // GIR_Coverage, 4760,
4222 /* 8986 */ GIR_Done,
4223 /* 8987 */ // Label 367: @8987
4224 /* 8987 */ GIM_Reject,
4225 /* 8988 */ // Label 363: @8988
4226 /* 8988 */ GIM_Reject,
4227 /* 8989 */ // Label 273: @8989
4228 /* 8989 */ GIM_Try, /*On fail goto*//*Label 368*/ GIMT_Encode4(9080),
4229 /* 8994 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
4230 /* 8997 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
4231 /* 9000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4232 /* 9004 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4233 /* 9008 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 369*/ GIMT_Encode4(9061), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4754 //
4234 /* 9015 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4235 /* 9019 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4236 /* 9023 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4237 /* 9026 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4238 /* 9030 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4239 /* 9034 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4240 /* 9036 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4241 /* 9043 */ // (sub:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4242 /* 9043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZrm),
4243 /* 9046 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4244 /* 9048 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4245 /* 9050 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4246 /* 9054 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4247 /* 9059 */ GIR_RootConstrainSelectedInstOperands,
4248 /* 9060 */ // GIR_Coverage, 4754,
4249 /* 9060 */ GIR_EraseRootFromParent_Done,
4250 /* 9061 */ // Label 369: @9061
4251 /* 9061 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 370*/ GIMT_Encode4(9079), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4751 //
4252 /* 9068 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4253 /* 9072 */ // (sub:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPSUBDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
4254 /* 9072 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZrr),
4255 /* 9077 */ GIR_RootConstrainSelectedInstOperands,
4256 /* 9078 */ // GIR_Coverage, 4751,
4257 /* 9078 */ GIR_Done,
4258 /* 9079 */ // Label 370: @9079
4259 /* 9079 */ GIM_Reject,
4260 /* 9080 */ // Label 368: @9080
4261 /* 9080 */ GIM_Reject,
4262 /* 9081 */ // Label 274: @9081
4263 /* 9081 */ GIM_Try, /*On fail goto*//*Label 371*/ GIMT_Encode4(9287),
4264 /* 9086 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
4265 /* 9089 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
4266 /* 9092 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 372*/ GIMT_Encode4(9153), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2589 //
4267 /* 9099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4268 /* 9103 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4269 /* 9107 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4270 /* 9111 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4271 /* 9115 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4272 /* 9118 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4273 /* 9122 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4274 /* 9126 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4275 /* 9128 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4276 /* 9135 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4277 /* 9135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQrm),
4278 /* 9138 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4279 /* 9140 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4280 /* 9142 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4281 /* 9146 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4282 /* 9151 */ GIR_RootConstrainSelectedInstOperands,
4283 /* 9152 */ // GIR_Coverage, 2589,
4284 /* 9152 */ GIR_EraseRootFromParent_Done,
4285 /* 9153 */ // Label 372: @9153
4286 /* 9153 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 373*/ GIMT_Encode4(9214), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4745 //
4287 /* 9160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4288 /* 9164 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4289 /* 9168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4290 /* 9172 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4291 /* 9176 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4292 /* 9179 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4293 /* 9183 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4294 /* 9187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4295 /* 9189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4296 /* 9196 */ // (sub:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4297 /* 9196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ128rm),
4298 /* 9199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4299 /* 9201 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4300 /* 9203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4301 /* 9207 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4302 /* 9212 */ GIR_RootConstrainSelectedInstOperands,
4303 /* 9213 */ // GIR_Coverage, 4745,
4304 /* 9213 */ GIR_EraseRootFromParent_Done,
4305 /* 9214 */ // Label 373: @9214
4306 /* 9214 */ GIM_Try, /*On fail goto*//*Label 374*/ GIMT_Encode4(9260),
4307 /* 9219 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4308 /* 9223 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4309 /* 9227 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4310 /* 9231 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 375*/ GIMT_Encode4(9245), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2588 //
4311 /* 9238 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPSUBQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
4312 /* 9238 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQrr),
4313 /* 9243 */ GIR_RootConstrainSelectedInstOperands,
4314 /* 9244 */ // GIR_Coverage, 2588,
4315 /* 9244 */ GIR_Done,
4316 /* 9245 */ // Label 375: @9245
4317 /* 9245 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 376*/ GIMT_Encode4(9259), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2590 //
4318 /* 9252 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PSUBQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
4319 /* 9252 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBQrr),
4320 /* 9257 */ GIR_RootConstrainSelectedInstOperands,
4321 /* 9258 */ // GIR_Coverage, 2590,
4322 /* 9258 */ GIR_Done,
4323 /* 9259 */ // Label 376: @9259
4324 /* 9259 */ GIM_Reject,
4325 /* 9260 */ // Label 374: @9260
4326 /* 9260 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 377*/ GIMT_Encode4(9286), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4742 //
4327 /* 9267 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4328 /* 9271 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4329 /* 9275 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4330 /* 9279 */ // (sub:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPSUBQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
4331 /* 9279 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ128rr),
4332 /* 9284 */ GIR_RootConstrainSelectedInstOperands,
4333 /* 9285 */ // GIR_Coverage, 4742,
4334 /* 9285 */ GIR_Done,
4335 /* 9286 */ // Label 377: @9286
4336 /* 9286 */ GIM_Reject,
4337 /* 9287 */ // Label 371: @9287
4338 /* 9287 */ GIM_Reject,
4339 /* 9288 */ // Label 275: @9288
4340 /* 9288 */ GIM_Try, /*On fail goto*//*Label 378*/ GIMT_Encode4(9474),
4341 /* 9293 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
4342 /* 9296 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
4343 /* 9299 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 379*/ GIMT_Encode4(9360), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2593 //
4344 /* 9306 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4345 /* 9310 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4346 /* 9314 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4347 /* 9318 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4348 /* 9322 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4349 /* 9325 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4350 /* 9329 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4351 /* 9333 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4352 /* 9335 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4353 /* 9342 */ // (sub:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4354 /* 9342 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQYrm),
4355 /* 9345 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4356 /* 9347 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4357 /* 9349 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4358 /* 9353 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4359 /* 9358 */ GIR_RootConstrainSelectedInstOperands,
4360 /* 9359 */ // GIR_Coverage, 2593,
4361 /* 9359 */ GIR_EraseRootFromParent_Done,
4362 /* 9360 */ // Label 379: @9360
4363 /* 9360 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 380*/ GIMT_Encode4(9421), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4736 //
4364 /* 9367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4365 /* 9371 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4366 /* 9375 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4367 /* 9379 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4368 /* 9383 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4369 /* 9386 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4370 /* 9390 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4371 /* 9394 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4372 /* 9396 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4373 /* 9403 */ // (sub:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4374 /* 9403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ256rm),
4375 /* 9406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4376 /* 9408 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4377 /* 9410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4378 /* 9414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4379 /* 9419 */ GIR_RootConstrainSelectedInstOperands,
4380 /* 9420 */ // GIR_Coverage, 4736,
4381 /* 9420 */ GIR_EraseRootFromParent_Done,
4382 /* 9421 */ // Label 380: @9421
4383 /* 9421 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 381*/ GIMT_Encode4(9447), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2592 //
4384 /* 9428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4385 /* 9432 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4386 /* 9436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4387 /* 9440 */ // (sub:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPSUBQYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
4388 /* 9440 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQYrr),
4389 /* 9445 */ GIR_RootConstrainSelectedInstOperands,
4390 /* 9446 */ // GIR_Coverage, 2592,
4391 /* 9446 */ GIR_Done,
4392 /* 9447 */ // Label 381: @9447
4393 /* 9447 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 382*/ GIMT_Encode4(9473), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4733 //
4394 /* 9454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4395 /* 9458 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4396 /* 9462 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4397 /* 9466 */ // (sub:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPSUBQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
4398 /* 9466 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ256rr),
4399 /* 9471 */ GIR_RootConstrainSelectedInstOperands,
4400 /* 9472 */ // GIR_Coverage, 4733,
4401 /* 9472 */ GIR_Done,
4402 /* 9473 */ // Label 382: @9473
4403 /* 9473 */ GIM_Reject,
4404 /* 9474 */ // Label 378: @9474
4405 /* 9474 */ GIM_Reject,
4406 /* 9475 */ // Label 276: @9475
4407 /* 9475 */ GIM_Try, /*On fail goto*//*Label 383*/ GIMT_Encode4(9566),
4408 /* 9480 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
4409 /* 9483 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
4410 /* 9486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4411 /* 9490 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4412 /* 9494 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 384*/ GIMT_Encode4(9547), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4727 //
4413 /* 9501 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4414 /* 9505 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4415 /* 9509 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4416 /* 9512 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4417 /* 9516 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4418 /* 9520 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4419 /* 9522 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4420 /* 9529 */ // (sub:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4421 /* 9529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZrm),
4422 /* 9532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4423 /* 9534 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4424 /* 9536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4425 /* 9540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4426 /* 9545 */ GIR_RootConstrainSelectedInstOperands,
4427 /* 9546 */ // GIR_Coverage, 4727,
4428 /* 9546 */ GIR_EraseRootFromParent_Done,
4429 /* 9547 */ // Label 384: @9547
4430 /* 9547 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 385*/ GIMT_Encode4(9565), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4724 //
4431 /* 9554 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4432 /* 9558 */ // (sub:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPSUBQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
4433 /* 9558 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZrr),
4434 /* 9563 */ GIR_RootConstrainSelectedInstOperands,
4435 /* 9564 */ // GIR_Coverage, 4724,
4436 /* 9564 */ GIR_Done,
4437 /* 9565 */ // Label 385: @9565
4438 /* 9565 */ GIM_Reject,
4439 /* 9566 */ // Label 383: @9566
4440 /* 9566 */ GIM_Reject,
4441 /* 9567 */ // Label 277: @9567
4442 /* 9567 */ GIM_Reject,
4443 /* 9568 */ // Label 2: @9568
4444 /* 9568 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 398*/ GIMT_Encode4(12919),
4445 /* 9579 */ /*GILLT_s16*//*Label 386*/ GIMT_Encode4(9671),
4446 /* 9583 */ /*GILLT_s32*//*Label 387*/ GIMT_Encode4(9958),
4447 /* 9587 */ /*GILLT_s64*//*Label 388*/ GIMT_Encode4(10245), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
4448 /* 9635 */ /*GILLT_v8s16*//*Label 389*/ GIMT_Encode4(10540),
4449 /* 9639 */ /*GILLT_v16s16*//*Label 390*/ GIMT_Encode4(10869),
4450 /* 9643 */ /*GILLT_v32s16*//*Label 391*/ GIMT_Encode4(11178),
4451 /* 9647 */ /*GILLT_v4s32*//*Label 392*/ GIMT_Encode4(11333),
4452 /* 9651 */ /*GILLT_v8s32*//*Label 393*/ GIMT_Encode4(11662),
4453 /* 9655 */ /*GILLT_v16s32*//*Label 394*/ GIMT_Encode4(11971),
4454 /* 9659 */ /*GILLT_v2s64*//*Label 395*/ GIMT_Encode4(12126),
4455 /* 9663 */ /*GILLT_v4s64*//*Label 396*/ GIMT_Encode4(12451),
4456 /* 9667 */ /*GILLT_v8s64*//*Label 397*/ GIMT_Encode4(12764),
4457 /* 9671 */ // Label 386: @9671
4458 /* 9671 */ GIM_Try, /*On fail goto*//*Label 399*/ GIMT_Encode4(9957),
4459 /* 9676 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
4460 /* 9679 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
4461 /* 9682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4462 /* 9686 */ GIM_Try, /*On fail goto*//*Label 400*/ GIMT_Encode4(9750), // Rule ID 23216 //
4463 /* 9691 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4464 /* 9695 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4465 /* 9699 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4466 /* 9702 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4467 /* 9706 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4468 /* 9710 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
4469 /* 9714 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4470 /* 9718 */ // MIs[2] Operand 1
4471 /* 9718 */ // No operand predicates
4472 /* 9718 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
4473 /* 9720 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4474 /* 9727 */ // (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)
4475 /* 9727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rmi),
4476 /* 9730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4477 /* 9732 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
4478 /* 9736 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
4479 /* 9739 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4480 /* 9742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
4481 /* 9748 */ GIR_RootConstrainSelectedInstOperands,
4482 /* 9749 */ // GIR_Coverage, 23216,
4483 /* 9749 */ GIR_EraseRootFromParent_Done,
4484 /* 9750 */ // Label 400: @9750
4485 /* 9750 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 401*/ GIMT_Encode4(9810), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26306 //
4486 /* 9757 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4487 /* 9761 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4488 /* 9765 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4489 /* 9768 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4490 /* 9772 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4491 /* 9776 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4492 /* 9780 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4493 /* 9782 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4494 /* 9789 */ // (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)
4495 /* 9789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rm),
4496 /* 9792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4497 /* 9794 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4498 /* 9796 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4499 /* 9800 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4500 /* 9803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4501 /* 9808 */ GIR_RootConstrainSelectedInstOperands,
4502 /* 9809 */ // GIR_Coverage, 26306,
4503 /* 9809 */ GIR_EraseRootFromParent_Done,
4504 /* 9810 */ // Label 401: @9810
4505 /* 9810 */ GIM_Try, /*On fail goto*//*Label 402*/ GIMT_Encode4(9956),
4506 /* 9815 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4507 /* 9819 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 403*/ GIMT_Encode4(9875), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23058 //
4508 /* 9826 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4509 /* 9830 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4510 /* 9834 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4511 /* 9837 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4512 /* 9841 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4513 /* 9845 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4514 /* 9847 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4515 /* 9854 */ // (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)
4516 /* 9854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rm),
4517 /* 9857 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4518 /* 9859 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4519 /* 9861 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4520 /* 9865 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4521 /* 9868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4522 /* 9873 */ GIR_RootConstrainSelectedInstOperands,
4523 /* 9874 */ // GIR_Coverage, 23058,
4524 /* 9874 */ GIR_EraseRootFromParent_Done,
4525 /* 9875 */ // Label 403: @9875
4526 /* 9875 */ GIM_Try, /*On fail goto*//*Label 404*/ GIMT_Encode4(9905), // Rule ID 23213 //
4527 /* 9880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4528 /* 9884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4529 /* 9888 */ // MIs[1] Operand 1
4530 /* 9888 */ // No operand predicates
4531 /* 9888 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4532 /* 9890 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (IMUL16rri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
4533 /* 9890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rri),
4534 /* 9893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4535 /* 9895 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4536 /* 9897 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
4537 /* 9900 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4538 /* 9903 */ GIR_RootConstrainSelectedInstOperands,
4539 /* 9904 */ // GIR_Coverage, 23213,
4540 /* 9904 */ GIR_EraseRootFromParent_Done,
4541 /* 9905 */ // Label 404: @9905
4542 /* 9905 */ GIM_Try, /*On fail goto*//*Label 405*/ GIMT_Encode4(9955),
4543 /* 9910 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4544 /* 9914 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 406*/ GIMT_Encode4(9934), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23055 //
4545 /* 9921 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (IMUL16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
4546 /* 9921 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL16rr),
4547 /* 9926 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4548 /* 9932 */ GIR_RootConstrainSelectedInstOperands,
4549 /* 9933 */ // GIR_Coverage, 23055,
4550 /* 9933 */ GIR_Done,
4551 /* 9934 */ // Label 406: @9934
4552 /* 9934 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 407*/ GIMT_Encode4(9954), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23145 //
4553 /* 9941 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (IMUL16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
4554 /* 9941 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL16rr_ND),
4555 /* 9946 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4556 /* 9952 */ GIR_RootConstrainSelectedInstOperands,
4557 /* 9953 */ // GIR_Coverage, 23145,
4558 /* 9953 */ GIR_Done,
4559 /* 9954 */ // Label 407: @9954
4560 /* 9954 */ GIM_Reject,
4561 /* 9955 */ // Label 405: @9955
4562 /* 9955 */ GIM_Reject,
4563 /* 9956 */ // Label 402: @9956
4564 /* 9956 */ GIM_Reject,
4565 /* 9957 */ // Label 399: @9957
4566 /* 9957 */ GIM_Reject,
4567 /* 9958 */ // Label 387: @9958
4568 /* 9958 */ GIM_Try, /*On fail goto*//*Label 408*/ GIMT_Encode4(10244),
4569 /* 9963 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
4570 /* 9966 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4571 /* 9969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4572 /* 9973 */ GIM_Try, /*On fail goto*//*Label 409*/ GIMT_Encode4(10037), // Rule ID 23217 //
4573 /* 9978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4574 /* 9982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4575 /* 9986 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4576 /* 9989 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4577 /* 9993 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
4578 /* 9997 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
4579 /* 10001 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4580 /* 10005 */ // MIs[2] Operand 1
4581 /* 10005 */ // No operand predicates
4582 /* 10005 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
4583 /* 10007 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4584 /* 10014 */ // (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)
4585 /* 10014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rmi),
4586 /* 10017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4587 /* 10019 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
4588 /* 10023 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
4589 /* 10026 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4590 /* 10029 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
4591 /* 10035 */ GIR_RootConstrainSelectedInstOperands,
4592 /* 10036 */ // GIR_Coverage, 23217,
4593 /* 10036 */ GIR_EraseRootFromParent_Done,
4594 /* 10037 */ // Label 409: @10037
4595 /* 10037 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 410*/ GIMT_Encode4(10097), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26307 //
4596 /* 10044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4597 /* 10048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4598 /* 10052 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4599 /* 10055 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4600 /* 10059 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
4601 /* 10063 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4602 /* 10067 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4603 /* 10069 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4604 /* 10076 */ // (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)
4605 /* 10076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rm),
4606 /* 10079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4607 /* 10081 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4608 /* 10083 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4609 /* 10087 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4610 /* 10090 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4611 /* 10095 */ GIR_RootConstrainSelectedInstOperands,
4612 /* 10096 */ // GIR_Coverage, 26307,
4613 /* 10096 */ GIR_EraseRootFromParent_Done,
4614 /* 10097 */ // Label 410: @10097
4615 /* 10097 */ GIM_Try, /*On fail goto*//*Label 411*/ GIMT_Encode4(10243),
4616 /* 10102 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4617 /* 10106 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 412*/ GIMT_Encode4(10162), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23059 //
4618 /* 10113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4619 /* 10117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4620 /* 10121 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4621 /* 10124 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4622 /* 10128 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
4623 /* 10132 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4624 /* 10134 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4625 /* 10141 */ // (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)
4626 /* 10141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rm),
4627 /* 10144 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4628 /* 10146 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4629 /* 10148 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4630 /* 10152 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4631 /* 10155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4632 /* 10160 */ GIR_RootConstrainSelectedInstOperands,
4633 /* 10161 */ // GIR_Coverage, 23059,
4634 /* 10161 */ GIR_EraseRootFromParent_Done,
4635 /* 10162 */ // Label 412: @10162
4636 /* 10162 */ GIM_Try, /*On fail goto*//*Label 413*/ GIMT_Encode4(10192), // Rule ID 23214 //
4637 /* 10167 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4638 /* 10171 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4639 /* 10175 */ // MIs[1] Operand 1
4640 /* 10175 */ // No operand predicates
4641 /* 10175 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4642 /* 10177 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (IMUL32rri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
4643 /* 10177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rri),
4644 /* 10180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4645 /* 10182 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4646 /* 10184 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
4647 /* 10187 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4648 /* 10190 */ GIR_RootConstrainSelectedInstOperands,
4649 /* 10191 */ // GIR_Coverage, 23214,
4650 /* 10191 */ GIR_EraseRootFromParent_Done,
4651 /* 10192 */ // Label 413: @10192
4652 /* 10192 */ GIM_Try, /*On fail goto*//*Label 414*/ GIMT_Encode4(10242),
4653 /* 10197 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4654 /* 10201 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 415*/ GIMT_Encode4(10221), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23056 //
4655 /* 10208 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (IMUL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
4656 /* 10208 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL32rr),
4657 /* 10213 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4658 /* 10219 */ GIR_RootConstrainSelectedInstOperands,
4659 /* 10220 */ // GIR_Coverage, 23056,
4660 /* 10220 */ GIR_Done,
4661 /* 10221 */ // Label 415: @10221
4662 /* 10221 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 416*/ GIMT_Encode4(10241), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23146 //
4663 /* 10228 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (IMUL32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
4664 /* 10228 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL32rr_ND),
4665 /* 10233 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4666 /* 10239 */ GIR_RootConstrainSelectedInstOperands,
4667 /* 10240 */ // GIR_Coverage, 23146,
4668 /* 10240 */ GIR_Done,
4669 /* 10241 */ // Label 416: @10241
4670 /* 10241 */ GIM_Reject,
4671 /* 10242 */ // Label 414: @10242
4672 /* 10242 */ GIM_Reject,
4673 /* 10243 */ // Label 411: @10243
4674 /* 10243 */ GIM_Reject,
4675 /* 10244 */ // Label 408: @10244
4676 /* 10244 */ GIM_Reject,
4677 /* 10245 */ // Label 388: @10245
4678 /* 10245 */ GIM_Try, /*On fail goto*//*Label 417*/ GIMT_Encode4(10539),
4679 /* 10250 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
4680 /* 10253 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4681 /* 10256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4682 /* 10260 */ GIM_Try, /*On fail goto*//*Label 418*/ GIMT_Encode4(10328), // Rule ID 23218 //
4683 /* 10265 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4684 /* 10269 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4685 /* 10273 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4686 /* 10276 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4687 /* 10280 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4688 /* 10284 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
4689 /* 10288 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4690 /* 10292 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
4691 /* 10296 */ // MIs[2] Operand 1
4692 /* 10296 */ // No operand predicates
4693 /* 10296 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
4694 /* 10298 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4695 /* 10305 */ // (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)
4696 /* 10305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rmi32),
4697 /* 10308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4698 /* 10310 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
4699 /* 10314 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
4700 /* 10317 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4701 /* 10320 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
4702 /* 10326 */ GIR_RootConstrainSelectedInstOperands,
4703 /* 10327 */ // GIR_Coverage, 23218,
4704 /* 10327 */ GIR_EraseRootFromParent_Done,
4705 /* 10328 */ // Label 418: @10328
4706 /* 10328 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 419*/ GIMT_Encode4(10388), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26308 //
4707 /* 10335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4708 /* 10339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4709 /* 10343 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4710 /* 10346 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4711 /* 10350 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4712 /* 10354 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4713 /* 10358 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4714 /* 10360 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4715 /* 10367 */ // (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)
4716 /* 10367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rm),
4717 /* 10370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4718 /* 10372 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4719 /* 10374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4720 /* 10378 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4721 /* 10381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4722 /* 10386 */ GIR_RootConstrainSelectedInstOperands,
4723 /* 10387 */ // GIR_Coverage, 26308,
4724 /* 10387 */ GIR_EraseRootFromParent_Done,
4725 /* 10388 */ // Label 419: @10388
4726 /* 10388 */ GIM_Try, /*On fail goto*//*Label 420*/ GIMT_Encode4(10538),
4727 /* 10393 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4728 /* 10397 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 421*/ GIMT_Encode4(10453), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23060 //
4729 /* 10404 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4730 /* 10408 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4731 /* 10412 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4732 /* 10415 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4733 /* 10419 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4734 /* 10423 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4735 /* 10425 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4736 /* 10432 */ // (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)
4737 /* 10432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rm),
4738 /* 10435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4739 /* 10437 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4740 /* 10439 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4741 /* 10443 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4742 /* 10446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4743 /* 10451 */ GIR_RootConstrainSelectedInstOperands,
4744 /* 10452 */ // GIR_Coverage, 23060,
4745 /* 10452 */ GIR_EraseRootFromParent_Done,
4746 /* 10453 */ // Label 421: @10453
4747 /* 10453 */ GIM_Try, /*On fail goto*//*Label 422*/ GIMT_Encode4(10487), // Rule ID 23215 //
4748 /* 10458 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4749 /* 10462 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4750 /* 10466 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
4751 /* 10470 */ // MIs[1] Operand 1
4752 /* 10470 */ // No operand predicates
4753 /* 10470 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4754 /* 10472 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (IMUL64rri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
4755 /* 10472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rri32),
4756 /* 10475 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4757 /* 10477 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4758 /* 10479 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
4759 /* 10482 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4760 /* 10485 */ GIR_RootConstrainSelectedInstOperands,
4761 /* 10486 */ // GIR_Coverage, 23215,
4762 /* 10486 */ GIR_EraseRootFromParent_Done,
4763 /* 10487 */ // Label 422: @10487
4764 /* 10487 */ GIM_Try, /*On fail goto*//*Label 423*/ GIMT_Encode4(10537),
4765 /* 10492 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4766 /* 10496 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 424*/ GIMT_Encode4(10516), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23057 //
4767 /* 10503 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (IMUL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
4768 /* 10503 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL64rr),
4769 /* 10508 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4770 /* 10514 */ GIR_RootConstrainSelectedInstOperands,
4771 /* 10515 */ // GIR_Coverage, 23057,
4772 /* 10515 */ GIR_Done,
4773 /* 10516 */ // Label 424: @10516
4774 /* 10516 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 425*/ GIMT_Encode4(10536), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23147 //
4775 /* 10523 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (IMUL64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
4776 /* 10523 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL64rr_ND),
4777 /* 10528 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4778 /* 10534 */ GIR_RootConstrainSelectedInstOperands,
4779 /* 10535 */ // GIR_Coverage, 23147,
4780 /* 10535 */ GIR_Done,
4781 /* 10536 */ // Label 425: @10536
4782 /* 10536 */ GIM_Reject,
4783 /* 10537 */ // Label 423: @10537
4784 /* 10537 */ GIM_Reject,
4785 /* 10538 */ // Label 420: @10538
4786 /* 10538 */ GIM_Reject,
4787 /* 10539 */ // Label 417: @10539
4788 /* 10539 */ GIM_Reject,
4789 /* 10540 */ // Label 389: @10540
4790 /* 10540 */ GIM_Try, /*On fail goto*//*Label 426*/ GIMT_Encode4(10868),
4791 /* 10545 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
4792 /* 10548 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
4793 /* 10551 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 427*/ GIMT_Encode4(10612), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23693 //
4794 /* 10558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4795 /* 10562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4796 /* 10566 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4797 /* 10570 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4798 /* 10573 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4799 /* 10577 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4800 /* 10581 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4801 /* 10585 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4802 /* 10587 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4803 /* 10594 */ // (mul:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULLWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4804 /* 10594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWrm),
4805 /* 10597 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4806 /* 10599 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4807 /* 10601 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4808 /* 10605 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4809 /* 10610 */ GIR_RootConstrainSelectedInstOperands,
4810 /* 10611 */ // GIR_Coverage, 23693,
4811 /* 10611 */ GIR_EraseRootFromParent_Done,
4812 /* 10612 */ // Label 427: @10612
4813 /* 10612 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 428*/ GIMT_Encode4(10673), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24050 //
4814 /* 10619 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4815 /* 10623 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4816 /* 10627 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4817 /* 10631 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4818 /* 10634 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4819 /* 10638 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4820 /* 10642 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4821 /* 10646 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4822 /* 10648 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4823 /* 10655 */ // (mul:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULLWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4824 /* 10655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rm),
4825 /* 10658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4826 /* 10660 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4827 /* 10662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4828 /* 10666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4829 /* 10671 */ GIR_RootConstrainSelectedInstOperands,
4830 /* 10672 */ // GIR_Coverage, 24050,
4831 /* 10672 */ GIR_EraseRootFromParent_Done,
4832 /* 10673 */ // Label 428: @10673
4833 /* 10673 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 429*/ GIMT_Encode4(10734), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2553 //
4834 /* 10680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4835 /* 10684 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4836 /* 10688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4837 /* 10692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4838 /* 10696 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4839 /* 10699 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4840 /* 10703 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4841 /* 10707 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4842 /* 10709 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4843 /* 10716 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4844 /* 10716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWrm),
4845 /* 10719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4846 /* 10721 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4847 /* 10723 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4848 /* 10727 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4849 /* 10732 */ GIR_RootConstrainSelectedInstOperands,
4850 /* 10733 */ // GIR_Coverage, 2553,
4851 /* 10733 */ GIR_EraseRootFromParent_Done,
4852 /* 10734 */ // Label 429: @10734
4853 /* 10734 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 430*/ GIMT_Encode4(10795), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5000 //
4854 /* 10741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4855 /* 10745 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4856 /* 10749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4857 /* 10753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4858 /* 10757 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4859 /* 10760 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4860 /* 10764 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4861 /* 10768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4862 /* 10770 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4863 /* 10777 */ // (mul:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4864 /* 10777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rm),
4865 /* 10780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4866 /* 10782 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4867 /* 10784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4868 /* 10788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4869 /* 10793 */ GIR_RootConstrainSelectedInstOperands,
4870 /* 10794 */ // GIR_Coverage, 5000,
4871 /* 10794 */ GIR_EraseRootFromParent_Done,
4872 /* 10795 */ // Label 430: @10795
4873 /* 10795 */ GIM_Try, /*On fail goto*//*Label 431*/ GIMT_Encode4(10841),
4874 /* 10800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4875 /* 10804 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4876 /* 10808 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4877 /* 10812 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 432*/ GIMT_Encode4(10826), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2552 //
4878 /* 10819 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULLWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
4879 /* 10819 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWrr),
4880 /* 10824 */ GIR_RootConstrainSelectedInstOperands,
4881 /* 10825 */ // GIR_Coverage, 2552,
4882 /* 10825 */ GIR_Done,
4883 /* 10826 */ // Label 432: @10826
4884 /* 10826 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 433*/ GIMT_Encode4(10840), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2554 //
4885 /* 10833 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULLWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
4886 /* 10833 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULLWrr),
4887 /* 10838 */ GIR_RootConstrainSelectedInstOperands,
4888 /* 10839 */ // GIR_Coverage, 2554,
4889 /* 10839 */ GIR_Done,
4890 /* 10840 */ // Label 433: @10840
4891 /* 10840 */ GIM_Reject,
4892 /* 10841 */ // Label 431: @10841
4893 /* 10841 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 434*/ GIMT_Encode4(10867), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4997 //
4894 /* 10848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4895 /* 10852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4896 /* 10856 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4897 /* 10860 */ // (mul:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULLWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
4898 /* 10860 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rr),
4899 /* 10865 */ GIR_RootConstrainSelectedInstOperands,
4900 /* 10866 */ // GIR_Coverage, 4997,
4901 /* 10866 */ GIR_Done,
4902 /* 10867 */ // Label 434: @10867
4903 /* 10867 */ GIM_Reject,
4904 /* 10868 */ // Label 426: @10868
4905 /* 10868 */ GIM_Reject,
4906 /* 10869 */ // Label 390: @10869
4907 /* 10869 */ GIM_Try, /*On fail goto*//*Label 435*/ GIMT_Encode4(11177),
4908 /* 10874 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
4909 /* 10877 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
4910 /* 10880 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 436*/ GIMT_Encode4(10941), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23695 //
4911 /* 10887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4912 /* 10891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4913 /* 10895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4914 /* 10899 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4915 /* 10902 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4916 /* 10906 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4917 /* 10910 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4918 /* 10914 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4919 /* 10916 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4920 /* 10923 */ // (mul:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULLWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4921 /* 10923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrm),
4922 /* 10926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4923 /* 10928 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4924 /* 10930 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4925 /* 10934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4926 /* 10939 */ GIR_RootConstrainSelectedInstOperands,
4927 /* 10940 */ // GIR_Coverage, 23695,
4928 /* 10940 */ GIR_EraseRootFromParent_Done,
4929 /* 10941 */ // Label 436: @10941
4930 /* 10941 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 437*/ GIMT_Encode4(11002), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24047 //
4931 /* 10948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4932 /* 10952 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4933 /* 10956 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4934 /* 10960 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4935 /* 10963 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4936 /* 10967 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4937 /* 10971 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4938 /* 10975 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4939 /* 10977 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4940 /* 10984 */ // (mul:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULLWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4941 /* 10984 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rm),
4942 /* 10987 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4943 /* 10989 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4944 /* 10991 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4945 /* 10995 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4946 /* 11000 */ GIR_RootConstrainSelectedInstOperands,
4947 /* 11001 */ // GIR_Coverage, 24047,
4948 /* 11001 */ GIR_EraseRootFromParent_Done,
4949 /* 11002 */ // Label 437: @11002
4950 /* 11002 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 438*/ GIMT_Encode4(11063), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2557 //
4951 /* 11009 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4952 /* 11013 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4953 /* 11017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4954 /* 11021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4955 /* 11025 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4956 /* 11028 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4957 /* 11032 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4958 /* 11036 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4959 /* 11038 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4960 /* 11045 */ // (mul:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4961 /* 11045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrm),
4962 /* 11048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4963 /* 11050 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4964 /* 11052 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4965 /* 11056 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4966 /* 11061 */ GIR_RootConstrainSelectedInstOperands,
4967 /* 11062 */ // GIR_Coverage, 2557,
4968 /* 11062 */ GIR_EraseRootFromParent_Done,
4969 /* 11063 */ // Label 438: @11063
4970 /* 11063 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 439*/ GIMT_Encode4(11124), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4994 //
4971 /* 11070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4972 /* 11074 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4973 /* 11078 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4974 /* 11082 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4975 /* 11086 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4976 /* 11089 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4977 /* 11093 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4978 /* 11097 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4979 /* 11099 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4980 /* 11106 */ // (mul:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4981 /* 11106 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rm),
4982 /* 11109 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4983 /* 11111 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4984 /* 11113 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4985 /* 11117 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4986 /* 11122 */ GIR_RootConstrainSelectedInstOperands,
4987 /* 11123 */ // GIR_Coverage, 4994,
4988 /* 11123 */ GIR_EraseRootFromParent_Done,
4989 /* 11124 */ // Label 439: @11124
4990 /* 11124 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 440*/ GIMT_Encode4(11150), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2556 //
4991 /* 11131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4992 /* 11135 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4993 /* 11139 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4994 /* 11143 */ // (mul:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULLWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
4995 /* 11143 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrr),
4996 /* 11148 */ GIR_RootConstrainSelectedInstOperands,
4997 /* 11149 */ // GIR_Coverage, 2556,
4998 /* 11149 */ GIR_Done,
4999 /* 11150 */ // Label 440: @11150
5000 /* 11150 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 441*/ GIMT_Encode4(11176), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4991 //
5001 /* 11157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5002 /* 11161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5003 /* 11165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5004 /* 11169 */ // (mul:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULLWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
5005 /* 11169 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rr),
5006 /* 11174 */ GIR_RootConstrainSelectedInstOperands,
5007 /* 11175 */ // GIR_Coverage, 4991,
5008 /* 11175 */ GIR_Done,
5009 /* 11176 */ // Label 441: @11176
5010 /* 11176 */ GIM_Reject,
5011 /* 11177 */ // Label 435: @11177
5012 /* 11177 */ GIM_Reject,
5013 /* 11178 */ // Label 391: @11178
5014 /* 11178 */ GIM_Try, /*On fail goto*//*Label 442*/ GIMT_Encode4(11332),
5015 /* 11183 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
5016 /* 11186 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
5017 /* 11189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5018 /* 11193 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 443*/ GIMT_Encode4(11250), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24044 //
5019 /* 11200 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5020 /* 11204 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5021 /* 11208 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5022 /* 11211 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5023 /* 11215 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5024 /* 11219 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5025 /* 11223 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5026 /* 11225 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5027 /* 11232 */ // (mul:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULLWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5028 /* 11232 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrm),
5029 /* 11235 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5030 /* 11237 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5031 /* 11239 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5032 /* 11243 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5033 /* 11248 */ GIR_RootConstrainSelectedInstOperands,
5034 /* 11249 */ // GIR_Coverage, 24044,
5035 /* 11249 */ GIR_EraseRootFromParent_Done,
5036 /* 11250 */ // Label 443: @11250
5037 /* 11250 */ GIM_Try, /*On fail goto*//*Label 444*/ GIMT_Encode4(11331),
5038 /* 11255 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5039 /* 11259 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 445*/ GIMT_Encode4(11312), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4988 //
5040 /* 11266 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5041 /* 11270 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5042 /* 11274 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5043 /* 11277 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5044 /* 11281 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5045 /* 11285 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5046 /* 11287 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5047 /* 11294 */ // (mul:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5048 /* 11294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrm),
5049 /* 11297 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5050 /* 11299 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5051 /* 11301 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5052 /* 11305 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5053 /* 11310 */ GIR_RootConstrainSelectedInstOperands,
5054 /* 11311 */ // GIR_Coverage, 4988,
5055 /* 11311 */ GIR_EraseRootFromParent_Done,
5056 /* 11312 */ // Label 445: @11312
5057 /* 11312 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 446*/ GIMT_Encode4(11330), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4985 //
5058 /* 11319 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5059 /* 11323 */ // (mul:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULLWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
5060 /* 11323 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrr),
5061 /* 11328 */ GIR_RootConstrainSelectedInstOperands,
5062 /* 11329 */ // GIR_Coverage, 4985,
5063 /* 11329 */ GIR_Done,
5064 /* 11330 */ // Label 446: @11330
5065 /* 11330 */ GIM_Reject,
5066 /* 11331 */ // Label 444: @11331
5067 /* 11331 */ GIM_Reject,
5068 /* 11332 */ // Label 442: @11332
5069 /* 11332 */ GIM_Reject,
5070 /* 11333 */ // Label 392: @11333
5071 /* 11333 */ GIM_Try, /*On fail goto*//*Label 447*/ GIMT_Encode4(11661),
5072 /* 11338 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
5073 /* 11341 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
5074 /* 11344 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 448*/ GIMT_Encode4(11405), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23768 //
5075 /* 11351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5076 /* 11355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5077 /* 11359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5078 /* 11363 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5079 /* 11366 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5080 /* 11370 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5081 /* 11374 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5082 /* 11378 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5083 /* 11380 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5084 /* 11387 */ // (mul:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMULLDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5085 /* 11387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDrm),
5086 /* 11390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5087 /* 11392 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5088 /* 11394 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5089 /* 11398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5090 /* 11403 */ GIR_RootConstrainSelectedInstOperands,
5091 /* 11404 */ // GIR_Coverage, 23768,
5092 /* 11404 */ GIR_EraseRootFromParent_Done,
5093 /* 11405 */ // Label 448: @11405
5094 /* 11405 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 449*/ GIMT_Encode4(11466), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24038 //
5095 /* 11412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5096 /* 11416 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5097 /* 11420 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5098 /* 11424 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5099 /* 11427 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5100 /* 11431 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5101 /* 11435 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5102 /* 11439 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5103 /* 11441 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5104 /* 11448 */ // (mul:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMULLDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5105 /* 11448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rm),
5106 /* 11451 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5107 /* 11453 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5108 /* 11455 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5109 /* 11459 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5110 /* 11464 */ GIR_RootConstrainSelectedInstOperands,
5111 /* 11465 */ // GIR_Coverage, 24038,
5112 /* 11465 */ GIR_EraseRootFromParent_Done,
5113 /* 11466 */ // Label 449: @11466
5114 /* 11466 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 450*/ GIMT_Encode4(11527), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3228 //
5115 /* 11473 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5116 /* 11477 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5117 /* 11481 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5118 /* 11485 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5119 /* 11489 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5120 /* 11492 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5121 /* 11496 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5122 /* 11500 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5123 /* 11502 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5124 /* 11509 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5125 /* 11509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDrm),
5126 /* 11512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5127 /* 11514 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5128 /* 11516 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5129 /* 11520 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5130 /* 11525 */ GIR_RootConstrainSelectedInstOperands,
5131 /* 11526 */ // GIR_Coverage, 3228,
5132 /* 11526 */ GIR_EraseRootFromParent_Done,
5133 /* 11527 */ // Label 450: @11527
5134 /* 11527 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 451*/ GIMT_Encode4(11588), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4979 //
5135 /* 11534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5136 /* 11538 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5137 /* 11542 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5138 /* 11546 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5139 /* 11550 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5140 /* 11553 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5141 /* 11557 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5142 /* 11561 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5143 /* 11563 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5144 /* 11570 */ // (mul:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5145 /* 11570 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rm),
5146 /* 11573 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5147 /* 11575 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5148 /* 11577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5149 /* 11581 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5150 /* 11586 */ GIR_RootConstrainSelectedInstOperands,
5151 /* 11587 */ // GIR_Coverage, 4979,
5152 /* 11587 */ GIR_EraseRootFromParent_Done,
5153 /* 11588 */ // Label 451: @11588
5154 /* 11588 */ GIM_Try, /*On fail goto*//*Label 452*/ GIMT_Encode4(11634),
5155 /* 11593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5156 /* 11597 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5157 /* 11601 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5158 /* 11605 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 453*/ GIMT_Encode4(11619), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3227 //
5159 /* 11612 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMULLDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
5160 /* 11612 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDrr),
5161 /* 11617 */ GIR_RootConstrainSelectedInstOperands,
5162 /* 11618 */ // GIR_Coverage, 3227,
5163 /* 11618 */ GIR_Done,
5164 /* 11619 */ // Label 453: @11619
5165 /* 11619 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 454*/ GIMT_Encode4(11633), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3235 //
5166 /* 11626 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMULLDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
5167 /* 11626 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULLDrr),
5168 /* 11631 */ GIR_RootConstrainSelectedInstOperands,
5169 /* 11632 */ // GIR_Coverage, 3235,
5170 /* 11632 */ GIR_Done,
5171 /* 11633 */ // Label 454: @11633
5172 /* 11633 */ GIM_Reject,
5173 /* 11634 */ // Label 452: @11634
5174 /* 11634 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 455*/ GIMT_Encode4(11660), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4976 //
5175 /* 11641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5176 /* 11645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5177 /* 11649 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5178 /* 11653 */ // (mul:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMULLDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
5179 /* 11653 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rr),
5180 /* 11658 */ GIR_RootConstrainSelectedInstOperands,
5181 /* 11659 */ // GIR_Coverage, 4976,
5182 /* 11659 */ GIR_Done,
5183 /* 11660 */ // Label 455: @11660
5184 /* 11660 */ GIM_Reject,
5185 /* 11661 */ // Label 447: @11661
5186 /* 11661 */ GIM_Reject,
5187 /* 11662 */ // Label 393: @11662
5188 /* 11662 */ GIM_Try, /*On fail goto*//*Label 456*/ GIMT_Encode4(11970),
5189 /* 11667 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
5190 /* 11670 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
5191 /* 11673 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 457*/ GIMT_Encode4(11734), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23770 //
5192 /* 11680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5193 /* 11684 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5194 /* 11688 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5195 /* 11692 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5196 /* 11695 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5197 /* 11699 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5198 /* 11703 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5199 /* 11707 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5200 /* 11709 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5201 /* 11716 */ // (mul:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMULLDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5202 /* 11716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrm),
5203 /* 11719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5204 /* 11721 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5205 /* 11723 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5206 /* 11727 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5207 /* 11732 */ GIR_RootConstrainSelectedInstOperands,
5208 /* 11733 */ // GIR_Coverage, 23770,
5209 /* 11733 */ GIR_EraseRootFromParent_Done,
5210 /* 11734 */ // Label 457: @11734
5211 /* 11734 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 458*/ GIMT_Encode4(11795), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24032 //
5212 /* 11741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5213 /* 11745 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5214 /* 11749 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5215 /* 11753 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5216 /* 11756 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5217 /* 11760 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5218 /* 11764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5219 /* 11768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5220 /* 11770 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5221 /* 11777 */ // (mul:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMULLDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5222 /* 11777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rm),
5223 /* 11780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5224 /* 11782 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5225 /* 11784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5226 /* 11788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5227 /* 11793 */ GIR_RootConstrainSelectedInstOperands,
5228 /* 11794 */ // GIR_Coverage, 24032,
5229 /* 11794 */ GIR_EraseRootFromParent_Done,
5230 /* 11795 */ // Label 458: @11795
5231 /* 11795 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 459*/ GIMT_Encode4(11856), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3232 //
5232 /* 11802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5233 /* 11806 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5234 /* 11810 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5235 /* 11814 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5236 /* 11818 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5237 /* 11821 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5238 /* 11825 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5239 /* 11829 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5240 /* 11831 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5241 /* 11838 */ // (mul:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5242 /* 11838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrm),
5243 /* 11841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5244 /* 11843 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5245 /* 11845 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5246 /* 11849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5247 /* 11854 */ GIR_RootConstrainSelectedInstOperands,
5248 /* 11855 */ // GIR_Coverage, 3232,
5249 /* 11855 */ GIR_EraseRootFromParent_Done,
5250 /* 11856 */ // Label 459: @11856
5251 /* 11856 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 460*/ GIMT_Encode4(11917), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4970 //
5252 /* 11863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5253 /* 11867 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5254 /* 11871 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5255 /* 11875 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5256 /* 11879 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5257 /* 11882 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5258 /* 11886 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5259 /* 11890 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5260 /* 11892 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5261 /* 11899 */ // (mul:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5262 /* 11899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rm),
5263 /* 11902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5264 /* 11904 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5265 /* 11906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5266 /* 11910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5267 /* 11915 */ GIR_RootConstrainSelectedInstOperands,
5268 /* 11916 */ // GIR_Coverage, 4970,
5269 /* 11916 */ GIR_EraseRootFromParent_Done,
5270 /* 11917 */ // Label 460: @11917
5271 /* 11917 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 461*/ GIMT_Encode4(11943), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3231 //
5272 /* 11924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5273 /* 11928 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5274 /* 11932 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5275 /* 11936 */ // (mul:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMULLDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
5276 /* 11936 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrr),
5277 /* 11941 */ GIR_RootConstrainSelectedInstOperands,
5278 /* 11942 */ // GIR_Coverage, 3231,
5279 /* 11942 */ GIR_Done,
5280 /* 11943 */ // Label 461: @11943
5281 /* 11943 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 462*/ GIMT_Encode4(11969), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4967 //
5282 /* 11950 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5283 /* 11954 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5284 /* 11958 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5285 /* 11962 */ // (mul:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMULLDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
5286 /* 11962 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rr),
5287 /* 11967 */ GIR_RootConstrainSelectedInstOperands,
5288 /* 11968 */ // GIR_Coverage, 4967,
5289 /* 11968 */ GIR_Done,
5290 /* 11969 */ // Label 462: @11969
5291 /* 11969 */ GIM_Reject,
5292 /* 11970 */ // Label 456: @11970
5293 /* 11970 */ GIM_Reject,
5294 /* 11971 */ // Label 394: @11971
5295 /* 11971 */ GIM_Try, /*On fail goto*//*Label 463*/ GIMT_Encode4(12125),
5296 /* 11976 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
5297 /* 11979 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
5298 /* 11982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5299 /* 11986 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 464*/ GIMT_Encode4(12043), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24026 //
5300 /* 11993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5301 /* 11997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5302 /* 12001 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5303 /* 12004 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5304 /* 12008 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5305 /* 12012 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5306 /* 12016 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5307 /* 12018 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5308 /* 12025 */ // (mul:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMULLDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5309 /* 12025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrm),
5310 /* 12028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5311 /* 12030 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5312 /* 12032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5313 /* 12036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5314 /* 12041 */ GIR_RootConstrainSelectedInstOperands,
5315 /* 12042 */ // GIR_Coverage, 24026,
5316 /* 12042 */ GIR_EraseRootFromParent_Done,
5317 /* 12043 */ // Label 464: @12043
5318 /* 12043 */ GIM_Try, /*On fail goto*//*Label 465*/ GIMT_Encode4(12124),
5319 /* 12048 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5320 /* 12052 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 466*/ GIMT_Encode4(12105), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4961 //
5321 /* 12059 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5322 /* 12063 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5323 /* 12067 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5324 /* 12070 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5325 /* 12074 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5326 /* 12078 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5327 /* 12080 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5328 /* 12087 */ // (mul:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5329 /* 12087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrm),
5330 /* 12090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5331 /* 12092 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5332 /* 12094 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5333 /* 12098 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5334 /* 12103 */ GIR_RootConstrainSelectedInstOperands,
5335 /* 12104 */ // GIR_Coverage, 4961,
5336 /* 12104 */ GIR_EraseRootFromParent_Done,
5337 /* 12105 */ // Label 466: @12105
5338 /* 12105 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 467*/ GIMT_Encode4(12123), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4958 //
5339 /* 12112 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5340 /* 12116 */ // (mul:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMULLDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
5341 /* 12116 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrr),
5342 /* 12121 */ GIR_RootConstrainSelectedInstOperands,
5343 /* 12122 */ // GIR_Coverage, 4958,
5344 /* 12122 */ GIR_Done,
5345 /* 12123 */ // Label 467: @12123
5346 /* 12123 */ GIM_Reject,
5347 /* 12124 */ // Label 465: @12124
5348 /* 12124 */ GIM_Reject,
5349 /* 12125 */ // Label 463: @12125
5350 /* 12125 */ GIM_Reject,
5351 /* 12126 */ // Label 395: @12126
5352 /* 12126 */ GIM_Try, /*On fail goto*//*Label 468*/ GIMT_Encode4(12450),
5353 /* 12131 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
5354 /* 12134 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
5355 /* 12137 */ GIM_Try, /*On fail goto*//*Label 469*/ GIMT_Encode4(12285),
5356 /* 12142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5357 /* 12146 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 470*/ GIMT_Encode4(12203), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 24065 //
5358 /* 12153 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5359 /* 12157 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5360 /* 12161 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5361 /* 12164 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5362 /* 12168 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5363 /* 12172 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5364 /* 12176 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5365 /* 12178 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5366 /* 12185 */ // (mul:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMULLQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5367 /* 12185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rm),
5368 /* 12188 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5369 /* 12190 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5370 /* 12192 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5371 /* 12196 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5372 /* 12201 */ GIR_RootConstrainSelectedInstOperands,
5373 /* 12202 */ // GIR_Coverage, 24065,
5374 /* 12202 */ GIR_EraseRootFromParent_Done,
5375 /* 12203 */ // Label 470: @12203
5376 /* 12203 */ GIM_Try, /*On fail goto*//*Label 471*/ GIMT_Encode4(12284),
5377 /* 12208 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5378 /* 12212 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 472*/ GIMT_Encode4(12265), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 5024 //
5379 /* 12219 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5380 /* 12223 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5381 /* 12227 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5382 /* 12230 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5383 /* 12234 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5384 /* 12238 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5385 /* 12240 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5386 /* 12247 */ // (mul:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5387 /* 12247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rm),
5388 /* 12250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5389 /* 12252 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5390 /* 12254 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5391 /* 12258 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5392 /* 12263 */ GIR_RootConstrainSelectedInstOperands,
5393 /* 12264 */ // GIR_Coverage, 5024,
5394 /* 12264 */ GIR_EraseRootFromParent_Done,
5395 /* 12265 */ // Label 472: @12265
5396 /* 12265 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 473*/ GIMT_Encode4(12283), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 5021 //
5397 /* 12272 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5398 /* 12276 */ // (mul:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMULLQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
5399 /* 12276 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rr),
5400 /* 12281 */ GIR_RootConstrainSelectedInstOperands,
5401 /* 12282 */ // GIR_Coverage, 5021,
5402 /* 12282 */ GIR_Done,
5403 /* 12283 */ // Label 473: @12283
5404 /* 12283 */ GIM_Reject,
5405 /* 12284 */ // Label 471: @12284
5406 /* 12284 */ GIM_Reject,
5407 /* 12285 */ // Label 469: @12285
5408 /* 12285 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 474*/ GIMT_Encode4(12449), GIMT_Encode2(GIFBS_HasDQI_NoVLX), // Rule ID 20123 //
5409 /* 12292 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
5410 /* 12296 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5411 /* 12300 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5412 /* 12304 */ // (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] })
5413 /* 12304 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
5414 /* 12307 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5415 /* 12311 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5416 /* 12316 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
5417 /* 12318 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
5418 /* 12321 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5419 /* 12325 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5420 /* 12330 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
5421 /* 12333 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
5422 /* 12337 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
5423 /* 12340 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5424 /* 12345 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5425 /* 12350 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
5426 /* 12355 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
5427 /* 12358 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5428 /* 12362 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5429 /* 12367 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
5430 /* 12369 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
5431 /* 12372 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5432 /* 12376 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5433 /* 12381 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
5434 /* 12384 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
5435 /* 12388 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
5436 /* 12391 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5437 /* 12396 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5438 /* 12401 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
5439 /* 12406 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
5440 /* 12409 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
5441 /* 12413 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5442 /* 12418 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5443 /* 12421 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
5444 /* 12424 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5445 /* 12426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5446 /* 12429 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5447 /* 12431 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
5448 /* 12438 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
5449 /* 12443 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5450 /* 12448 */ // GIR_Coverage, 20123,
5451 /* 12448 */ GIR_EraseRootFromParent_Done,
5452 /* 12449 */ // Label 474: @12449
5453 /* 12449 */ GIM_Reject,
5454 /* 12450 */ // Label 468: @12450
5455 /* 12450 */ GIM_Reject,
5456 /* 12451 */ // Label 396: @12451
5457 /* 12451 */ GIM_Try, /*On fail goto*//*Label 475*/ GIMT_Encode4(12763),
5458 /* 12456 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
5459 /* 12459 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
5460 /* 12462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5461 /* 12466 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 476*/ GIMT_Encode4(12523), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 24059 //
5462 /* 12473 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5463 /* 12477 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5464 /* 12481 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5465 /* 12484 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5466 /* 12488 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5467 /* 12492 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5468 /* 12496 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5469 /* 12498 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5470 /* 12505 */ // (mul:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMULLQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5471 /* 12505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rm),
5472 /* 12508 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5473 /* 12510 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5474 /* 12512 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5475 /* 12516 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5476 /* 12521 */ GIR_RootConstrainSelectedInstOperands,
5477 /* 12522 */ // GIR_Coverage, 24059,
5478 /* 12522 */ GIR_EraseRootFromParent_Done,
5479 /* 12523 */ // Label 476: @12523
5480 /* 12523 */ GIM_Try, /*On fail goto*//*Label 477*/ GIMT_Encode4(12762),
5481 /* 12528 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5482 /* 12532 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 478*/ GIMT_Encode4(12585), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 5015 //
5483 /* 12539 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5484 /* 12543 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5485 /* 12547 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5486 /* 12550 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5487 /* 12554 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5488 /* 12558 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5489 /* 12560 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5490 /* 12567 */ // (mul:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5491 /* 12567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rm),
5492 /* 12570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5493 /* 12572 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5494 /* 12574 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5495 /* 12578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5496 /* 12583 */ GIR_RootConstrainSelectedInstOperands,
5497 /* 12584 */ // GIR_Coverage, 5015,
5498 /* 12584 */ GIR_EraseRootFromParent_Done,
5499 /* 12585 */ // Label 478: @12585
5500 /* 12585 */ GIM_Try, /*On fail goto*//*Label 479*/ GIMT_Encode4(12761),
5501 /* 12590 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5502 /* 12594 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 480*/ GIMT_Encode4(12608), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 5012 //
5503 /* 12601 */ // (mul:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMULLQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
5504 /* 12601 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rr),
5505 /* 12606 */ GIR_RootConstrainSelectedInstOperands,
5506 /* 12607 */ // GIR_Coverage, 5012,
5507 /* 12607 */ GIR_Done,
5508 /* 12608 */ // Label 480: @12608
5509 /* 12608 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 481*/ GIMT_Encode4(12760), GIMT_Encode2(GIFBS_HasDQI_NoVLX), // Rule ID 20122 //
5510 /* 12615 */ // (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] })
5511 /* 12615 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
5512 /* 12618 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5513 /* 12622 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5514 /* 12627 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
5515 /* 12629 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
5516 /* 12632 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5517 /* 12636 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5518 /* 12641 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
5519 /* 12644 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
5520 /* 12648 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
5521 /* 12651 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5522 /* 12656 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5523 /* 12661 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
5524 /* 12666 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
5525 /* 12669 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5526 /* 12673 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5527 /* 12678 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
5528 /* 12680 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
5529 /* 12683 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5530 /* 12687 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5531 /* 12692 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
5532 /* 12695 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
5533 /* 12699 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
5534 /* 12702 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5535 /* 12707 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5536 /* 12712 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
5537 /* 12717 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
5538 /* 12720 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
5539 /* 12724 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5540 /* 12729 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5541 /* 12732 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
5542 /* 12735 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5543 /* 12737 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5544 /* 12740 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5545 /* 12742 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
5546 /* 12749 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
5547 /* 12754 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5548 /* 12759 */ // GIR_Coverage, 20122,
5549 /* 12759 */ GIR_EraseRootFromParent_Done,
5550 /* 12760 */ // Label 481: @12760
5551 /* 12760 */ GIM_Reject,
5552 /* 12761 */ // Label 479: @12761
5553 /* 12761 */ GIM_Reject,
5554 /* 12762 */ // Label 477: @12762
5555 /* 12762 */ GIM_Reject,
5556 /* 12763 */ // Label 475: @12763
5557 /* 12763 */ GIM_Reject,
5558 /* 12764 */ // Label 397: @12764
5559 /* 12764 */ GIM_Try, /*On fail goto*//*Label 482*/ GIMT_Encode4(12918),
5560 /* 12769 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
5561 /* 12772 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
5562 /* 12775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5563 /* 12779 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 483*/ GIMT_Encode4(12836), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 24053 //
5564 /* 12786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5565 /* 12790 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5566 /* 12794 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5567 /* 12797 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5568 /* 12801 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5569 /* 12805 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5570 /* 12809 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5571 /* 12811 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5572 /* 12818 */ // (mul:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMULLQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5573 /* 12818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrm),
5574 /* 12821 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5575 /* 12823 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5576 /* 12825 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5577 /* 12829 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5578 /* 12834 */ GIR_RootConstrainSelectedInstOperands,
5579 /* 12835 */ // GIR_Coverage, 24053,
5580 /* 12835 */ GIR_EraseRootFromParent_Done,
5581 /* 12836 */ // Label 483: @12836
5582 /* 12836 */ GIM_Try, /*On fail goto*//*Label 484*/ GIMT_Encode4(12917),
5583 /* 12841 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5584 /* 12845 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 485*/ GIMT_Encode4(12898), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 5006 //
5585 /* 12852 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5586 /* 12856 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5587 /* 12860 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5588 /* 12863 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5589 /* 12867 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5590 /* 12871 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5591 /* 12873 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5592 /* 12880 */ // (mul:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5593 /* 12880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrm),
5594 /* 12883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5595 /* 12885 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5596 /* 12887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5597 /* 12891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5598 /* 12896 */ GIR_RootConstrainSelectedInstOperands,
5599 /* 12897 */ // GIR_Coverage, 5006,
5600 /* 12897 */ GIR_EraseRootFromParent_Done,
5601 /* 12898 */ // Label 485: @12898
5602 /* 12898 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 486*/ GIMT_Encode4(12916), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 5003 //
5603 /* 12905 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5604 /* 12909 */ // (mul:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMULLQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
5605 /* 12909 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
5606 /* 12914 */ GIR_RootConstrainSelectedInstOperands,
5607 /* 12915 */ // GIR_Coverage, 5003,
5608 /* 12915 */ GIR_Done,
5609 /* 12916 */ // Label 486: @12916
5610 /* 12916 */ GIM_Reject,
5611 /* 12917 */ // Label 484: @12917
5612 /* 12917 */ GIM_Reject,
5613 /* 12918 */ // Label 482: @12918
5614 /* 12918 */ GIM_Reject,
5615 /* 12919 */ // Label 398: @12919
5616 /* 12919 */ GIM_Reject,
5617 /* 12920 */ // Label 3: @12920
5618 /* 12920 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 510*/ GIMT_Encode4(22516),
5619 /* 12931 */ /*GILLT_s1*//*Label 487*/ GIMT_Encode4(13031),
5620 /* 12935 */ /*GILLT_s8*//*Label 488*/ GIMT_Encode4(13379),
5621 /* 12939 */ /*GILLT_s16*//*Label 489*/ GIMT_Encode4(13636),
5622 /* 12943 */ /*GILLT_s32*//*Label 490*/ GIMT_Encode4(14181),
5623 /* 12947 */ /*GILLT_s64*//*Label 491*/ GIMT_Encode4(15700), GIMT_Encode4(0), GIMT_Encode4(0),
5624 /* 12959 */ /*GILLT_v2s1*//*Label 492*/ GIMT_Encode4(17119),
5625 /* 12963 */ /*GILLT_v4s1*//*Label 493*/ GIMT_Encode4(17467),
5626 /* 12967 */ /*GILLT_v8s1*//*Label 494*/ GIMT_Encode4(17815),
5627 /* 12971 */ /*GILLT_v16s1*//*Label 495*/ GIMT_Encode4(18305),
5628 /* 12975 */ /*GILLT_v32s1*//*Label 496*/ GIMT_Encode4(18464),
5629 /* 12979 */ /*GILLT_v64s1*//*Label 497*/ GIMT_Encode4(18623),
5630 /* 12983 */ /*GILLT_v16s8*//*Label 498*/ GIMT_Encode4(18782),
5631 /* 12987 */ /*GILLT_v32s8*//*Label 499*/ GIMT_Encode4(19111),
5632 /* 12991 */ /*GILLT_v64s8*//*Label 500*/ GIMT_Encode4(19558),
5633 /* 12995 */ /*GILLT_v8s16*//*Label 501*/ GIMT_Encode4(19713),
5634 /* 12999 */ /*GILLT_v16s16*//*Label 502*/ GIMT_Encode4(20042),
5635 /* 13003 */ /*GILLT_v32s16*//*Label 503*/ GIMT_Encode4(20489),
5636 /* 13007 */ /*GILLT_v4s32*//*Label 504*/ GIMT_Encode4(20644),
5637 /* 13011 */ /*GILLT_v8s32*//*Label 505*/ GIMT_Encode4(20973),
5638 /* 13015 */ /*GILLT_v16s32*//*Label 506*/ GIMT_Encode4(21420),
5639 /* 13019 */ /*GILLT_v2s64*//*Label 507*/ GIMT_Encode4(21575),
5640 /* 13023 */ /*GILLT_v4s64*//*Label 508*/ GIMT_Encode4(21904),
5641 /* 13027 */ /*GILLT_v8s64*//*Label 509*/ GIMT_Encode4(22361),
5642 /* 13031 */ // Label 487: @13031
5643 /* 13031 */ GIM_Try, /*On fail goto*//*Label 511*/ GIMT_Encode4(13378),
5644 /* 13036 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
5645 /* 13039 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
5646 /* 13042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5647 /* 13046 */ GIM_Try, /*On fail goto*//*Label 512*/ GIMT_Encode4(13166), // Rule ID 19588 //
5648 /* 13051 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5649 /* 13055 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
5650 /* 13059 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
5651 /* 13063 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
5652 /* 13067 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5653 /* 13072 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5654 /* 13076 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
5655 /* 13082 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
5656 /* 13084 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5657 /* 13088 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
5658 /* 13090 */ // (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] })
5659 /* 13090 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
5660 /* 13093 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5661 /* 13097 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5662 /* 13102 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
5663 /* 13106 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5664 /* 13111 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
5665 /* 13114 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5666 /* 13118 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5667 /* 13123 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
5668 /* 13127 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5669 /* 13132 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
5670 /* 13135 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
5671 /* 13139 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5672 /* 13144 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5673 /* 13147 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
5674 /* 13150 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5675 /* 13152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5676 /* 13155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5677 /* 13157 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
5678 /* 13160 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
5679 /* 13165 */ // GIR_Coverage, 19588,
5680 /* 13165 */ GIR_EraseRootFromParent_Done,
5681 /* 13166 */ // Label 512: @13166
5682 /* 13166 */ GIM_Try, /*On fail goto*//*Label 513*/ GIMT_Encode4(13377),
5683 /* 13171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5684 /* 13175 */ GIM_Try, /*On fail goto*//*Label 514*/ GIMT_Encode4(13291), // Rule ID 25611 //
5685 /* 13180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5686 /* 13184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
5687 /* 13188 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
5688 /* 13192 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
5689 /* 13196 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5690 /* 13201 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5691 /* 13205 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
5692 /* 13211 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
5693 /* 13213 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
5694 /* 13215 */ // (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] })
5695 /* 13215 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
5696 /* 13218 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5697 /* 13222 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5698 /* 13227 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
5699 /* 13231 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5700 /* 13236 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
5701 /* 13239 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5702 /* 13243 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5703 /* 13248 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
5704 /* 13252 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5705 /* 13257 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
5706 /* 13260 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
5707 /* 13264 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5708 /* 13269 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5709 /* 13272 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
5710 /* 13275 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5711 /* 13277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5712 /* 13280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5713 /* 13282 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
5714 /* 13285 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
5715 /* 13290 */ // GIR_Coverage, 25611,
5716 /* 13290 */ GIR_EraseRootFromParent_Done,
5717 /* 13291 */ // Label 514: @13291
5718 /* 13291 */ GIM_Try, /*On fail goto*//*Label 515*/ GIMT_Encode4(13376), // Rule ID 19584 //
5719 /* 13296 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5720 /* 13300 */ // (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] })
5721 /* 13300 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
5722 /* 13303 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5723 /* 13307 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5724 /* 13312 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
5725 /* 13316 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5726 /* 13321 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
5727 /* 13324 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5728 /* 13328 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5729 /* 13333 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
5730 /* 13337 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5731 /* 13342 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
5732 /* 13345 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
5733 /* 13349 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5734 /* 13354 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5735 /* 13357 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
5736 /* 13360 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5737 /* 13362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5738 /* 13365 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5739 /* 13367 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
5740 /* 13370 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
5741 /* 13375 */ // GIR_Coverage, 19584,
5742 /* 13375 */ GIR_EraseRootFromParent_Done,
5743 /* 13376 */ // Label 515: @13376
5744 /* 13376 */ GIM_Reject,
5745 /* 13377 */ // Label 513: @13377
5746 /* 13377 */ GIM_Reject,
5747 /* 13378 */ // Label 511: @13378
5748 /* 13378 */ GIM_Reject,
5749 /* 13379 */ // Label 488: @13379
5750 /* 13379 */ GIM_Try, /*On fail goto*//*Label 516*/ GIMT_Encode4(13635),
5751 /* 13384 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
5752 /* 13387 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
5753 /* 13390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5754 /* 13394 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 517*/ GIMT_Encode4(13454), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26317 //
5755 /* 13401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5756 /* 13405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5757 /* 13409 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5758 /* 13412 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5759 /* 13416 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
5760 /* 13420 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5761 /* 13424 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5762 /* 13426 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5763 /* 13433 */ // (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)
5764 /* 13433 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8rm),
5765 /* 13436 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5766 /* 13438 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5767 /* 13440 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5768 /* 13444 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5769 /* 13447 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5770 /* 13452 */ GIR_RootConstrainSelectedInstOperands,
5771 /* 13453 */ // GIR_Coverage, 26317,
5772 /* 13453 */ GIR_EraseRootFromParent_Done,
5773 /* 13454 */ // Label 517: @13454
5774 /* 13454 */ GIM_Try, /*On fail goto*//*Label 518*/ GIMT_Encode4(13634),
5775 /* 13459 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5776 /* 13463 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 519*/ GIMT_Encode4(13519), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23089 //
5777 /* 13470 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5778 /* 13474 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5779 /* 13478 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5780 /* 13481 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5781 /* 13485 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
5782 /* 13489 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5783 /* 13491 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5784 /* 13498 */ // (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)
5785 /* 13498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8rm),
5786 /* 13501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5787 /* 13503 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5788 /* 13505 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5789 /* 13509 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5790 /* 13512 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5791 /* 13517 */ GIR_RootConstrainSelectedInstOperands,
5792 /* 13518 */ // GIR_Coverage, 23089,
5793 /* 13518 */ GIR_EraseRootFromParent_Done,
5794 /* 13519 */ // Label 519: @13519
5795 /* 13519 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 520*/ GIMT_Encode4(13551), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23093 //
5796 /* 13526 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5797 /* 13530 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5798 /* 13534 */ // MIs[1] Operand 1
5799 /* 13534 */ // No operand predicates
5800 /* 13534 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5801 /* 13536 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (AND8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
5802 /* 13536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8ri),
5803 /* 13539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5804 /* 13541 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5805 /* 13543 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
5806 /* 13546 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5807 /* 13549 */ GIR_RootConstrainSelectedInstOperands,
5808 /* 13550 */ // GIR_Coverage, 23093,
5809 /* 13550 */ GIR_EraseRootFromParent_Done,
5810 /* 13551 */ // Label 520: @13551
5811 /* 13551 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 521*/ GIMT_Encode4(13583), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23183 //
5812 /* 13558 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5813 /* 13562 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5814 /* 13566 */ // MIs[1] Operand 1
5815 /* 13566 */ // No operand predicates
5816 /* 13566 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5817 /* 13568 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (AND8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
5818 /* 13568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8ri_ND),
5819 /* 13571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5820 /* 13573 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5821 /* 13575 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
5822 /* 13578 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5823 /* 13581 */ GIR_RootConstrainSelectedInstOperands,
5824 /* 13582 */ // GIR_Coverage, 23183,
5825 /* 13582 */ GIR_EraseRootFromParent_Done,
5826 /* 13583 */ // Label 521: @13583
5827 /* 13583 */ GIM_Try, /*On fail goto*//*Label 522*/ GIMT_Encode4(13633),
5828 /* 13588 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5829 /* 13592 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 523*/ GIMT_Encode4(13612), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23085 //
5830 /* 13599 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (AND8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
5831 /* 13599 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND8rr),
5832 /* 13604 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
5833 /* 13610 */ GIR_RootConstrainSelectedInstOperands,
5834 /* 13611 */ // GIR_Coverage, 23085,
5835 /* 13611 */ GIR_Done,
5836 /* 13612 */ // Label 523: @13612
5837 /* 13612 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 524*/ GIMT_Encode4(13632), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23175 //
5838 /* 13619 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (AND8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
5839 /* 13619 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND8rr_ND),
5840 /* 13624 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
5841 /* 13630 */ GIR_RootConstrainSelectedInstOperands,
5842 /* 13631 */ // GIR_Coverage, 23175,
5843 /* 13631 */ GIR_Done,
5844 /* 13632 */ // Label 524: @13632
5845 /* 13632 */ GIM_Reject,
5846 /* 13633 */ // Label 522: @13633
5847 /* 13633 */ GIM_Reject,
5848 /* 13634 */ // Label 518: @13634
5849 /* 13634 */ GIM_Reject,
5850 /* 13635 */ // Label 516: @13635
5851 /* 13635 */ GIM_Reject,
5852 /* 13636 */ // Label 489: @13636
5853 /* 13636 */ GIM_Try, /*On fail goto*//*Label 525*/ GIMT_Encode4(14180),
5854 /* 13641 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
5855 /* 13644 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
5856 /* 13647 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5857 /* 13651 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 526*/ GIMT_Encode4(13711), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26318 //
5858 /* 13658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5859 /* 13662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5860 /* 13666 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5861 /* 13669 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5862 /* 13673 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
5863 /* 13677 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5864 /* 13681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5865 /* 13683 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5866 /* 13690 */ // (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)
5867 /* 13690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16rm),
5868 /* 13693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5869 /* 13695 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5870 /* 13697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5871 /* 13701 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5872 /* 13704 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5873 /* 13709 */ GIR_RootConstrainSelectedInstOperands,
5874 /* 13710 */ // GIR_Coverage, 26318,
5875 /* 13710 */ GIR_EraseRootFromParent_Done,
5876 /* 13711 */ // Label 526: @13711
5877 /* 13711 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 527*/ GIMT_Encode4(13771), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23090 //
5878 /* 13718 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5879 /* 13722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5880 /* 13726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5881 /* 13730 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5882 /* 13733 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5883 /* 13737 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
5884 /* 13741 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5885 /* 13743 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5886 /* 13750 */ // (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)
5887 /* 13750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16rm),
5888 /* 13753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5889 /* 13755 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5890 /* 13757 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5891 /* 13761 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5892 /* 13764 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5893 /* 13769 */ GIR_RootConstrainSelectedInstOperands,
5894 /* 13770 */ // GIR_Coverage, 23090,
5895 /* 13770 */ GIR_EraseRootFromParent_Done,
5896 /* 13771 */ // Label 527: @13771
5897 /* 13771 */ GIM_Try, /*On fail goto*//*Label 528*/ GIMT_Encode4(13873), // Rule ID 26284 //
5898 /* 13776 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5899 /* 13780 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
5900 /* 13784 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
5901 /* 13788 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
5902 /* 13792 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
5903 /* 13796 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5904 /* 13801 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5905 /* 13805 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5906 /* 13807 */ // (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] }))
5907 /* 13807 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
5908 /* 13810 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5909 /* 13814 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5910 /* 13819 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
5911 /* 13821 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
5912 /* 13824 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5913 /* 13828 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5914 /* 13833 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5915 /* 13836 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
5916 /* 13840 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
5917 /* 13843 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
5918 /* 13848 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
5919 /* 13853 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
5920 /* 13858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR16rr),
5921 /* 13861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5922 /* 13863 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5923 /* 13865 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
5924 /* 13868 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5925 /* 13871 */ GIR_RootConstrainSelectedInstOperands,
5926 /* 13872 */ // GIR_Coverage, 26284,
5927 /* 13872 */ GIR_EraseRootFromParent_Done,
5928 /* 13873 */ // Label 528: @13873
5929 /* 13873 */ GIM_Try, /*On fail goto*//*Label 529*/ GIMT_Encode4(14179),
5930 /* 13878 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5931 /* 13882 */ GIM_Try, /*On fail goto*//*Label 530*/ GIMT_Encode4(13980), // Rule ID 23005 //
5932 /* 13887 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5933 /* 13891 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
5934 /* 13895 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
5935 /* 13899 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
5936 /* 13903 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
5937 /* 13907 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5938 /* 13912 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5939 /* 13914 */ // (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] }))
5940 /* 13914 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
5941 /* 13917 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5942 /* 13921 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5943 /* 13926 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
5944 /* 13928 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
5945 /* 13931 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5946 /* 13935 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5947 /* 13940 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5948 /* 13943 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
5949 /* 13947 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
5950 /* 13950 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
5951 /* 13955 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
5952 /* 13960 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
5953 /* 13965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR16rr),
5954 /* 13968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5955 /* 13970 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5956 /* 13972 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
5957 /* 13975 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5958 /* 13978 */ GIR_RootConstrainSelectedInstOperands,
5959 /* 13979 */ // GIR_Coverage, 23005,
5960 /* 13979 */ GIR_EraseRootFromParent_Done,
5961 /* 13980 */ // Label 530: @13980
5962 /* 13980 */ GIM_Try, /*On fail goto*//*Label 531*/ GIMT_Encode4(14064), // Rule ID 22865 //
5963 /* 13985 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(255),
5964 /* 13996 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, 255:{ *:[i16] }) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR16:{ *:[i16] }:$src1, sub_8bit:{ *:[i32] })), sub_16bit:{ *:[i32] })
5965 /* 13996 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s8,
5966 /* 13999 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5967 /* 14003 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5968 /* 14008 */ GIR_CopySubReg, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src1
5969 /* 14014 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
5970 /* 14019 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
5971 /* 14024 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
5972 /* 14027 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
5973 /* 14031 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5974 /* 14036 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5975 /* 14039 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5976 /* 14041 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5977 /* 14044 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5978 /* 14046 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
5979 /* 14053 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
5980 /* 14058 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
5981 /* 14063 */ // GIR_Coverage, 22865,
5982 /* 14063 */ GIR_EraseRootFromParent_Done,
5983 /* 14064 */ // Label 531: @14064
5984 /* 14064 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 532*/ GIMT_Encode4(14096), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23094 //
5985 /* 14071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5986 /* 14075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5987 /* 14079 */ // MIs[1] Operand 1
5988 /* 14079 */ // No operand predicates
5989 /* 14079 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5990 /* 14081 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (AND16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
5991 /* 14081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16ri),
5992 /* 14084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5993 /* 14086 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5994 /* 14088 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
5995 /* 14091 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5996 /* 14094 */ GIR_RootConstrainSelectedInstOperands,
5997 /* 14095 */ // GIR_Coverage, 23094,
5998 /* 14095 */ GIR_EraseRootFromParent_Done,
5999 /* 14096 */ // Label 532: @14096
6000 /* 14096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 533*/ GIMT_Encode4(14128), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23184 //
6001 /* 14103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6002 /* 14107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6003 /* 14111 */ // MIs[1] Operand 1
6004 /* 14111 */ // No operand predicates
6005 /* 14111 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6006 /* 14113 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (AND16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
6007 /* 14113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16ri_ND),
6008 /* 14116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6009 /* 14118 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6010 /* 14120 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6011 /* 14123 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6012 /* 14126 */ GIR_RootConstrainSelectedInstOperands,
6013 /* 14127 */ // GIR_Coverage, 23184,
6014 /* 14127 */ GIR_EraseRootFromParent_Done,
6015 /* 14128 */ // Label 533: @14128
6016 /* 14128 */ GIM_Try, /*On fail goto*//*Label 534*/ GIMT_Encode4(14178),
6017 /* 14133 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6018 /* 14137 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 535*/ GIMT_Encode4(14157), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23086 //
6019 /* 14144 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (AND16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
6020 /* 14144 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND16rr),
6021 /* 14149 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6022 /* 14155 */ GIR_RootConstrainSelectedInstOperands,
6023 /* 14156 */ // GIR_Coverage, 23086,
6024 /* 14156 */ GIR_Done,
6025 /* 14157 */ // Label 535: @14157
6026 /* 14157 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 536*/ GIMT_Encode4(14177), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23176 //
6027 /* 14164 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (AND16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
6028 /* 14164 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND16rr_ND),
6029 /* 14169 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6030 /* 14175 */ GIR_RootConstrainSelectedInstOperands,
6031 /* 14176 */ // GIR_Coverage, 23176,
6032 /* 14176 */ GIR_Done,
6033 /* 14177 */ // Label 536: @14177
6034 /* 14177 */ GIM_Reject,
6035 /* 14178 */ // Label 534: @14178
6036 /* 14178 */ GIM_Reject,
6037 /* 14179 */ // Label 529: @14179
6038 /* 14179 */ GIM_Reject,
6039 /* 14180 */ // Label 525: @14180
6040 /* 14180 */ GIM_Reject,
6041 /* 14181 */ // Label 490: @14181
6042 /* 14181 */ GIM_Try, /*On fail goto*//*Label 537*/ GIMT_Encode4(15699),
6043 /* 14186 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
6044 /* 14189 */ GIM_Try, /*On fail goto*//*Label 538*/ GIMT_Encode4(14934),
6045 /* 14194 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6046 /* 14197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6047 /* 14201 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 539*/ GIMT_Encode4(14285), GIMT_Encode2(GIFBS_HasBMI_NoEGPR), // Rule ID 17591 //
6048 /* 14208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6049 /* 14212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6050 /* 14216 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6051 /* 14220 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6052 /* 14224 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6053 /* 14229 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6054 /* 14233 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6055 /* 14237 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6056 /* 14241 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6057 /* 14244 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6058 /* 14248 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6059 /* 14252 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6060 /* 14254 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6061 /* 14261 */ // (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)
6062 /* 14261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm),
6063 /* 14264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6064 /* 14266 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6065 /* 14270 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6066 /* 14274 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6067 /* 14277 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6068 /* 14283 */ GIR_RootConstrainSelectedInstOperands,
6069 /* 14284 */ // GIR_Coverage, 17591,
6070 /* 14284 */ GIR_EraseRootFromParent_Done,
6071 /* 14285 */ // Label 539: @14285
6072 /* 14285 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 540*/ GIMT_Encode4(14369), GIMT_Encode2(GIFBS_HasBMI_HasEGPR), // Rule ID 17595 //
6073 /* 14292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6074 /* 14296 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6075 /* 14300 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6076 /* 14304 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6077 /* 14308 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6078 /* 14313 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6079 /* 14317 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6080 /* 14321 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6081 /* 14325 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6082 /* 14328 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6083 /* 14332 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6084 /* 14336 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6085 /* 14338 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6086 /* 14345 */ // (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)
6087 /* 14345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm_EVEX),
6088 /* 14348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6089 /* 14350 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6090 /* 14354 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6091 /* 14358 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6092 /* 14361 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6093 /* 14367 */ GIR_RootConstrainSelectedInstOperands,
6094 /* 14368 */ // GIR_Coverage, 17595,
6095 /* 14368 */ GIR_EraseRootFromParent_Done,
6096 /* 14369 */ // Label 540: @14369
6097 /* 14369 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 541*/ GIMT_Encode4(14453), GIMT_Encode2(GIFBS_HasBMI_NoEGPR), // Rule ID 25347 //
6098 /* 14376 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6099 /* 14380 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6100 /* 14384 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6101 /* 14387 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6102 /* 14391 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6103 /* 14395 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6104 /* 14399 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6105 /* 14403 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
6106 /* 14407 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6107 /* 14411 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6108 /* 14416 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6109 /* 14420 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6110 /* 14422 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6111 /* 14429 */ // (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)
6112 /* 14429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm),
6113 /* 14432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6114 /* 14434 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6115 /* 14438 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6116 /* 14442 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6117 /* 14445 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6118 /* 14451 */ GIR_RootConstrainSelectedInstOperands,
6119 /* 14452 */ // GIR_Coverage, 25347,
6120 /* 14452 */ GIR_EraseRootFromParent_Done,
6121 /* 14453 */ // Label 541: @14453
6122 /* 14453 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 542*/ GIMT_Encode4(14537), GIMT_Encode2(GIFBS_HasBMI_HasEGPR), // Rule ID 25351 //
6123 /* 14460 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6124 /* 14464 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6125 /* 14468 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6126 /* 14471 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6127 /* 14475 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6128 /* 14479 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6129 /* 14483 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6130 /* 14487 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
6131 /* 14491 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6132 /* 14495 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6133 /* 14500 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6134 /* 14504 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6135 /* 14506 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6136 /* 14513 */ // (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)
6137 /* 14513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm_EVEX),
6138 /* 14516 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6139 /* 14518 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6140 /* 14522 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6141 /* 14526 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6142 /* 14529 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6143 /* 14535 */ GIR_RootConstrainSelectedInstOperands,
6144 /* 14536 */ // GIR_Coverage, 25351,
6145 /* 14536 */ GIR_EraseRootFromParent_Done,
6146 /* 14537 */ // Label 542: @14537
6147 /* 14537 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 543*/ GIMT_Encode4(14597), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26319 //
6148 /* 14544 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6149 /* 14548 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6150 /* 14552 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6151 /* 14555 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6152 /* 14559 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6153 /* 14563 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6154 /* 14567 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6155 /* 14569 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6156 /* 14576 */ // (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)
6157 /* 14576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32rm),
6158 /* 14579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6159 /* 14581 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6160 /* 14583 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6161 /* 14587 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6162 /* 14590 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6163 /* 14595 */ GIR_RootConstrainSelectedInstOperands,
6164 /* 14596 */ // GIR_Coverage, 26319,
6165 /* 14596 */ GIR_EraseRootFromParent_Done,
6166 /* 14597 */ // Label 543: @14597
6167 /* 14597 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 544*/ GIMT_Encode4(14657), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23091 //
6168 /* 14604 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6169 /* 14608 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6170 /* 14612 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6171 /* 14616 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6172 /* 14619 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6173 /* 14623 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6174 /* 14627 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6175 /* 14629 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6176 /* 14636 */ // (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)
6177 /* 14636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32rm),
6178 /* 14639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6179 /* 14641 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6180 /* 14643 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6181 /* 14647 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6182 /* 14650 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6183 /* 14655 */ GIR_RootConstrainSelectedInstOperands,
6184 /* 14656 */ // GIR_Coverage, 23091,
6185 /* 14656 */ GIR_EraseRootFromParent_Done,
6186 /* 14657 */ // Label 544: @14657
6187 /* 14657 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 545*/ GIMT_Encode4(14726), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25237 //
6188 /* 14664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6189 /* 14668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6190 /* 14672 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6191 /* 14676 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6192 /* 14680 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6193 /* 14685 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6194 /* 14689 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6195 /* 14693 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6196 /* 14697 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6197 /* 14701 */ // MIs[2] src
6198 /* 14701 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6199 /* 14706 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6200 /* 14710 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6201 /* 14712 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLCIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6202 /* 14712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC32rr),
6203 /* 14715 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6204 /* 14717 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6205 /* 14721 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6206 /* 14724 */ GIR_RootConstrainSelectedInstOperands,
6207 /* 14725 */ // GIR_Coverage, 25237,
6208 /* 14725 */ GIR_EraseRootFromParent_Done,
6209 /* 14726 */ // Label 545: @14726
6210 /* 14726 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 546*/ GIMT_Encode4(14795), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25251 //
6211 /* 14733 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6212 /* 14737 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6213 /* 14741 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6214 /* 14745 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6215 /* 14749 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6216 /* 14754 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6217 /* 14758 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6218 /* 14762 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6219 /* 14766 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6220 /* 14770 */ // MIs[2] src
6221 /* 14770 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6222 /* 14775 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6223 /* 14779 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6224 /* 14781 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (TZMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6225 /* 14781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK32rr),
6226 /* 14784 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6227 /* 14786 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6228 /* 14790 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6229 /* 14793 */ GIR_RootConstrainSelectedInstOperands,
6230 /* 14794 */ // GIR_Coverage, 25251,
6231 /* 14794 */ GIR_EraseRootFromParent_Done,
6232 /* 14795 */ // Label 546: @14795
6233 /* 14795 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 547*/ GIMT_Encode4(14864), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17397 //
6234 /* 14802 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6235 /* 14806 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6236 /* 14810 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6237 /* 14814 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6238 /* 14818 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6239 /* 14823 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6240 /* 14827 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6241 /* 14831 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
6242 /* 14835 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6243 /* 14839 */ // MIs[2] src
6244 /* 14839 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6245 /* 14844 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
6246 /* 14848 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6247 /* 14850 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6248 /* 14850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC32rr),
6249 /* 14853 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6250 /* 14855 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6251 /* 14859 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6252 /* 14862 */ GIR_RootConstrainSelectedInstOperands,
6253 /* 14863 */ // GIR_Coverage, 17397,
6254 /* 14863 */ GIR_EraseRootFromParent_Done,
6255 /* 14864 */ // Label 547: @14864
6256 /* 14864 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 548*/ GIMT_Encode4(14933), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17411 //
6257 /* 14871 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6258 /* 14875 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6259 /* 14879 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6260 /* 14883 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6261 /* 14887 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6262 /* 14892 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6263 /* 14896 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6264 /* 14900 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
6265 /* 14904 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6266 /* 14908 */ // MIs[2] src
6267 /* 14908 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6268 /* 14913 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6269 /* 14917 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6270 /* 14919 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (TZMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6271 /* 14919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK32rr),
6272 /* 14922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6273 /* 14924 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6274 /* 14928 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6275 /* 14931 */ GIR_RootConstrainSelectedInstOperands,
6276 /* 14932 */ // GIR_Coverage, 17411,
6277 /* 14932 */ GIR_EraseRootFromParent_Done,
6278 /* 14933 */ // Label 548: @14933
6279 /* 14933 */ GIM_Reject,
6280 /* 14934 */ // Label 538: @14934
6281 /* 14934 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 549*/ GIMT_Encode4(14991), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25231 //
6282 /* 14941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6283 /* 14945 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6284 /* 14949 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6285 /* 14953 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6286 /* 14957 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6287 /* 14961 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6288 /* 14966 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6289 /* 14970 */ // MIs[0] src
6290 /* 14970 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
6291 /* 14975 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6292 /* 14977 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6293 /* 14977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL32rr),
6294 /* 14980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6295 /* 14982 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6296 /* 14986 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6297 /* 14989 */ GIR_RootConstrainSelectedInstOperands,
6298 /* 14990 */ // GIR_Coverage, 25231,
6299 /* 14990 */ GIR_EraseRootFromParent_Done,
6300 /* 14991 */ // Label 549: @14991
6301 /* 14991 */ GIM_Try, /*On fail goto*//*Label 550*/ GIMT_Encode4(15698),
6302 /* 14996 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6303 /* 14999 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6304 /* 15003 */ GIM_Try, /*On fail goto*//*Label 551*/ GIMT_Encode4(15105), // Rule ID 26290 //
6305 /* 15008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6306 /* 15012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6307 /* 15016 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6308 /* 15020 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6309 /* 15024 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6310 /* 15028 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6311 /* 15033 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6312 /* 15037 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6313 /* 15039 */ // (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] }))
6314 /* 15039 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
6315 /* 15042 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6316 /* 15046 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6317 /* 15051 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6318 /* 15053 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6319 /* 15056 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6320 /* 15060 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6321 /* 15065 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6322 /* 15068 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6323 /* 15072 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6324 /* 15075 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
6325 /* 15080 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
6326 /* 15085 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6327 /* 15090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR32rr),
6328 /* 15093 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6329 /* 15095 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6330 /* 15097 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6331 /* 15100 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6332 /* 15103 */ GIR_RootConstrainSelectedInstOperands,
6333 /* 15104 */ // GIR_Coverage, 26290,
6334 /* 15104 */ GIR_EraseRootFromParent_Done,
6335 /* 15105 */ // Label 551: @15105
6336 /* 15105 */ GIM_Try, /*On fail goto*//*Label 552*/ GIMT_Encode4(15427),
6337 /* 15110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6338 /* 15114 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 553*/ GIMT_Encode4(15156), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17391 //
6339 /* 15121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6340 /* 15125 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6341 /* 15129 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6342 /* 15133 */ // MIs[1] src
6343 /* 15133 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
6344 /* 15138 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6345 /* 15142 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6346 /* 15144 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6347 /* 15144 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL32rr),
6348 /* 15147 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6349 /* 15149 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
6350 /* 15151 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6351 /* 15154 */ GIR_RootConstrainSelectedInstOperands,
6352 /* 15155 */ // GIR_Coverage, 17391,
6353 /* 15155 */ GIR_EraseRootFromParent_Done,
6354 /* 15156 */ // Label 553: @15156
6355 /* 15156 */ GIM_Try, /*On fail goto*//*Label 554*/ GIMT_Encode4(15254), // Rule ID 23011 //
6356 /* 15161 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6357 /* 15165 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6358 /* 15169 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6359 /* 15173 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6360 /* 15177 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6361 /* 15181 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6362 /* 15186 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6363 /* 15188 */ // (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] }))
6364 /* 15188 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
6365 /* 15191 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6366 /* 15195 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6367 /* 15200 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6368 /* 15202 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6369 /* 15205 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6370 /* 15209 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6371 /* 15214 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6372 /* 15217 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6373 /* 15221 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6374 /* 15224 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
6375 /* 15229 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
6376 /* 15234 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6377 /* 15239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR32rr),
6378 /* 15242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6379 /* 15244 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6380 /* 15246 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6381 /* 15249 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6382 /* 15252 */ GIR_RootConstrainSelectedInstOperands,
6383 /* 15253 */ // GIR_Coverage, 23011,
6384 /* 15253 */ GIR_EraseRootFromParent_Done,
6385 /* 15254 */ // Label 554: @15254
6386 /* 15254 */ GIM_Try, /*On fail goto*//*Label 555*/ GIMT_Encode4(15308), // Rule ID 22863 //
6387 /* 15259 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(65535),
6388 /* 15270 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, 65535:{ *:[i32] }) => (MOVZX32rr16:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src1, sub_16bit:{ *:[i32] }))
6389 /* 15270 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
6390 /* 15273 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6391 /* 15277 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6392 /* 15282 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src1
6393 /* 15288 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
6394 /* 15293 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
6395 /* 15298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
6396 /* 15301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6397 /* 15303 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6398 /* 15306 */ GIR_RootConstrainSelectedInstOperands,
6399 /* 15307 */ // GIR_Coverage, 22863,
6400 /* 15307 */ GIR_EraseRootFromParent_Done,
6401 /* 15308 */ // Label 555: @15308
6402 /* 15308 */ GIM_Try, /*On fail goto*//*Label 556*/ GIMT_Encode4(15362), // Rule ID 22864 //
6403 /* 15313 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(255),
6404 /* 15324 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, 255:{ *:[i32] }) => (MOVZX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src1, sub_8bit:{ *:[i32] }))
6405 /* 15324 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s8,
6406 /* 15327 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6407 /* 15331 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6408 /* 15336 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src1
6409 /* 15342 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
6410 /* 15347 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
6411 /* 15352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
6412 /* 15355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6413 /* 15357 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6414 /* 15360 */ GIR_RootConstrainSelectedInstOperands,
6415 /* 15361 */ // GIR_Coverage, 22864,
6416 /* 15361 */ GIR_EraseRootFromParent_Done,
6417 /* 15362 */ // Label 556: @15362
6418 /* 15362 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 557*/ GIMT_Encode4(15394), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23095 //
6419 /* 15369 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6420 /* 15373 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6421 /* 15377 */ // MIs[1] Operand 1
6422 /* 15377 */ // No operand predicates
6423 /* 15377 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6424 /* 15379 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (AND32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
6425 /* 15379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32ri),
6426 /* 15382 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6427 /* 15384 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6428 /* 15386 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6429 /* 15389 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6430 /* 15392 */ GIR_RootConstrainSelectedInstOperands,
6431 /* 15393 */ // GIR_Coverage, 23095,
6432 /* 15393 */ GIR_EraseRootFromParent_Done,
6433 /* 15394 */ // Label 557: @15394
6434 /* 15394 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 558*/ GIMT_Encode4(15426), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23185 //
6435 /* 15401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6436 /* 15405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6437 /* 15409 */ // MIs[1] Operand 1
6438 /* 15409 */ // No operand predicates
6439 /* 15409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6440 /* 15411 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (AND32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
6441 /* 15411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32ri_ND),
6442 /* 15414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6443 /* 15416 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6444 /* 15418 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6445 /* 15421 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6446 /* 15424 */ GIR_RootConstrainSelectedInstOperands,
6447 /* 15425 */ // GIR_Coverage, 23185,
6448 /* 15425 */ GIR_EraseRootFromParent_Done,
6449 /* 15426 */ // Label 558: @15426
6450 /* 15426 */ GIM_Reject,
6451 /* 15427 */ // Label 552: @15427
6452 /* 15427 */ GIM_Try, /*On fail goto*//*Label 559*/ GIMT_Encode4(15537),
6453 /* 15432 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6454 /* 15436 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 560*/ GIMT_Encode4(15486), GIMT_Encode2(GIFBS_HasBMI_NoEGPR), // Rule ID 17589 //
6455 /* 15443 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6456 /* 15447 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6457 /* 15451 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6458 /* 15455 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6459 /* 15459 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6460 /* 15464 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6461 /* 15468 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6462 /* 15470 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src2) => (ANDN32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6463 /* 15470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr),
6464 /* 15473 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6465 /* 15475 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6466 /* 15479 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
6467 /* 15481 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6468 /* 15484 */ GIR_RootConstrainSelectedInstOperands,
6469 /* 15485 */ // GIR_Coverage, 17589,
6470 /* 15485 */ GIR_EraseRootFromParent_Done,
6471 /* 15486 */ // Label 560: @15486
6472 /* 15486 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 561*/ GIMT_Encode4(15536), GIMT_Encode2(GIFBS_HasBMI_HasEGPR), // Rule ID 17593 //
6473 /* 15493 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6474 /* 15497 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6475 /* 15501 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6476 /* 15505 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6477 /* 15509 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6478 /* 15514 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6479 /* 15518 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6480 /* 15520 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src2) => (ANDN32rr_EVEX:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6481 /* 15520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr_EVEX),
6482 /* 15523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6483 /* 15525 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6484 /* 15529 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
6485 /* 15531 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6486 /* 15534 */ GIR_RootConstrainSelectedInstOperands,
6487 /* 15535 */ // GIR_Coverage, 17593,
6488 /* 15535 */ GIR_EraseRootFromParent_Done,
6489 /* 15536 */ // Label 561: @15536
6490 /* 15536 */ GIM_Reject,
6491 /* 15537 */ // Label 559: @15537
6492 /* 15537 */ GIM_Try, /*On fail goto*//*Label 562*/ GIMT_Encode4(15697),
6493 /* 15542 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6494 /* 15546 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 563*/ GIMT_Encode4(15596), GIMT_Encode2(GIFBS_HasBMI_NoEGPR), // Rule ID 25345 //
6495 /* 15553 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6496 /* 15557 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6497 /* 15561 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6498 /* 15565 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6499 /* 15569 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6500 /* 15574 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6501 /* 15578 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6502 /* 15580 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src2, (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] })) => (ANDN32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6503 /* 15580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr),
6504 /* 15583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6505 /* 15585 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6506 /* 15589 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
6507 /* 15591 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6508 /* 15594 */ GIR_RootConstrainSelectedInstOperands,
6509 /* 15595 */ // GIR_Coverage, 25345,
6510 /* 15595 */ GIR_EraseRootFromParent_Done,
6511 /* 15596 */ // Label 563: @15596
6512 /* 15596 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 564*/ GIMT_Encode4(15646), GIMT_Encode2(GIFBS_HasBMI_HasEGPR), // Rule ID 25349 //
6513 /* 15603 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6514 /* 15607 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6515 /* 15611 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6516 /* 15615 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6517 /* 15619 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6518 /* 15624 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6519 /* 15628 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6520 /* 15630 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src2, (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] })) => (ANDN32rr_EVEX:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6521 /* 15630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr_EVEX),
6522 /* 15633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6523 /* 15635 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6524 /* 15639 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
6525 /* 15641 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6526 /* 15644 */ GIR_RootConstrainSelectedInstOperands,
6527 /* 15645 */ // GIR_Coverage, 25349,
6528 /* 15645 */ GIR_EraseRootFromParent_Done,
6529 /* 15646 */ // Label 564: @15646
6530 /* 15646 */ GIM_Try, /*On fail goto*//*Label 565*/ GIMT_Encode4(15696),
6531 /* 15651 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6532 /* 15655 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 566*/ GIMT_Encode4(15675), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23087 //
6533 /* 15662 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (AND32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6534 /* 15662 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND32rr),
6535 /* 15667 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6536 /* 15673 */ GIR_RootConstrainSelectedInstOperands,
6537 /* 15674 */ // GIR_Coverage, 23087,
6538 /* 15674 */ GIR_Done,
6539 /* 15675 */ // Label 566: @15675
6540 /* 15675 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 567*/ GIMT_Encode4(15695), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23177 //
6541 /* 15682 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (AND32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6542 /* 15682 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND32rr_ND),
6543 /* 15687 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6544 /* 15693 */ GIR_RootConstrainSelectedInstOperands,
6545 /* 15694 */ // GIR_Coverage, 23177,
6546 /* 15694 */ GIR_Done,
6547 /* 15695 */ // Label 567: @15695
6548 /* 15695 */ GIM_Reject,
6549 /* 15696 */ // Label 565: @15696
6550 /* 15696 */ GIM_Reject,
6551 /* 15697 */ // Label 562: @15697
6552 /* 15697 */ GIM_Reject,
6553 /* 15698 */ // Label 550: @15698
6554 /* 15698 */ GIM_Reject,
6555 /* 15699 */ // Label 537: @15699
6556 /* 15699 */ GIM_Reject,
6557 /* 15700 */ // Label 491: @15700
6558 /* 15700 */ GIM_Try, /*On fail goto*//*Label 568*/ GIMT_Encode4(17118),
6559 /* 15705 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
6560 /* 15708 */ GIM_Try, /*On fail goto*//*Label 569*/ GIMT_Encode4(16453),
6561 /* 15713 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6562 /* 15716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6563 /* 15720 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 570*/ GIMT_Encode4(15804), GIMT_Encode2(GIFBS_HasBMI_NoEGPR), // Rule ID 17592 //
6564 /* 15727 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6565 /* 15731 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6566 /* 15735 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6567 /* 15739 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6568 /* 15743 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6569 /* 15748 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6570 /* 15752 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6571 /* 15756 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6572 /* 15760 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6573 /* 15763 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
6574 /* 15767 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6575 /* 15771 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6576 /* 15773 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6577 /* 15780 */ // (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)
6578 /* 15780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm),
6579 /* 15783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6580 /* 15785 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6581 /* 15789 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6582 /* 15793 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6583 /* 15796 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6584 /* 15802 */ GIR_RootConstrainSelectedInstOperands,
6585 /* 15803 */ // GIR_Coverage, 17592,
6586 /* 15803 */ GIR_EraseRootFromParent_Done,
6587 /* 15804 */ // Label 570: @15804
6588 /* 15804 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 571*/ GIMT_Encode4(15888), GIMT_Encode2(GIFBS_HasBMI_HasEGPR), // Rule ID 17596 //
6589 /* 15811 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6590 /* 15815 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6591 /* 15819 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6592 /* 15823 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6593 /* 15827 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6594 /* 15832 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6595 /* 15836 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6596 /* 15840 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6597 /* 15844 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6598 /* 15847 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
6599 /* 15851 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6600 /* 15855 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6601 /* 15857 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6602 /* 15864 */ // (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)
6603 /* 15864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm_EVEX),
6604 /* 15867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6605 /* 15869 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6606 /* 15873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6607 /* 15877 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6608 /* 15880 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6609 /* 15886 */ GIR_RootConstrainSelectedInstOperands,
6610 /* 15887 */ // GIR_Coverage, 17596,
6611 /* 15887 */ GIR_EraseRootFromParent_Done,
6612 /* 15888 */ // Label 571: @15888
6613 /* 15888 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 572*/ GIMT_Encode4(15972), GIMT_Encode2(GIFBS_HasBMI_NoEGPR), // Rule ID 25348 //
6614 /* 15895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6615 /* 15899 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6616 /* 15903 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6617 /* 15906 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6618 /* 15910 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6619 /* 15914 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6620 /* 15918 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6621 /* 15922 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
6622 /* 15926 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6623 /* 15930 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6624 /* 15935 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6625 /* 15939 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6626 /* 15941 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6627 /* 15948 */ // (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)
6628 /* 15948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm),
6629 /* 15951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6630 /* 15953 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6631 /* 15957 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6632 /* 15961 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6633 /* 15964 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6634 /* 15970 */ GIR_RootConstrainSelectedInstOperands,
6635 /* 15971 */ // GIR_Coverage, 25348,
6636 /* 15971 */ GIR_EraseRootFromParent_Done,
6637 /* 15972 */ // Label 572: @15972
6638 /* 15972 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 573*/ GIMT_Encode4(16056), GIMT_Encode2(GIFBS_HasBMI_HasEGPR), // Rule ID 25352 //
6639 /* 15979 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6640 /* 15983 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6641 /* 15987 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6642 /* 15990 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6643 /* 15994 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6644 /* 15998 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6645 /* 16002 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6646 /* 16006 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
6647 /* 16010 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6648 /* 16014 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6649 /* 16019 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6650 /* 16023 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6651 /* 16025 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6652 /* 16032 */ // (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)
6653 /* 16032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm_EVEX),
6654 /* 16035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6655 /* 16037 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6656 /* 16041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6657 /* 16045 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6658 /* 16048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6659 /* 16054 */ GIR_RootConstrainSelectedInstOperands,
6660 /* 16055 */ // GIR_Coverage, 25352,
6661 /* 16055 */ GIR_EraseRootFromParent_Done,
6662 /* 16056 */ // Label 573: @16056
6663 /* 16056 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 574*/ GIMT_Encode4(16116), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26320 //
6664 /* 16063 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6665 /* 16067 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6666 /* 16071 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6667 /* 16074 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6668 /* 16078 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6669 /* 16082 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6670 /* 16086 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6671 /* 16088 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6672 /* 16095 */ // (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)
6673 /* 16095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64rm),
6674 /* 16098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6675 /* 16100 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6676 /* 16102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6677 /* 16106 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6678 /* 16109 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6679 /* 16114 */ GIR_RootConstrainSelectedInstOperands,
6680 /* 16115 */ // GIR_Coverage, 26320,
6681 /* 16115 */ GIR_EraseRootFromParent_Done,
6682 /* 16116 */ // Label 574: @16116
6683 /* 16116 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 575*/ GIMT_Encode4(16176), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23092 //
6684 /* 16123 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6685 /* 16127 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6686 /* 16131 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6687 /* 16135 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6688 /* 16138 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6689 /* 16142 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6690 /* 16146 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6691 /* 16148 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6692 /* 16155 */ // (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)
6693 /* 16155 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64rm),
6694 /* 16158 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6695 /* 16160 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6696 /* 16162 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6697 /* 16166 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6698 /* 16169 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6699 /* 16174 */ GIR_RootConstrainSelectedInstOperands,
6700 /* 16175 */ // GIR_Coverage, 23092,
6701 /* 16175 */ GIR_EraseRootFromParent_Done,
6702 /* 16176 */ // Label 575: @16176
6703 /* 16176 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 576*/ GIMT_Encode4(16245), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25238 //
6704 /* 16183 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6705 /* 16187 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6706 /* 16191 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6707 /* 16195 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6708 /* 16199 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6709 /* 16204 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6710 /* 16208 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6711 /* 16212 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6712 /* 16216 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6713 /* 16220 */ // MIs[2] src
6714 /* 16220 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6715 /* 16225 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6716 /* 16229 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6717 /* 16231 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLCIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
6718 /* 16231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC64rr),
6719 /* 16234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6720 /* 16236 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6721 /* 16240 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6722 /* 16243 */ GIR_RootConstrainSelectedInstOperands,
6723 /* 16244 */ // GIR_Coverage, 25238,
6724 /* 16244 */ GIR_EraseRootFromParent_Done,
6725 /* 16245 */ // Label 576: @16245
6726 /* 16245 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 577*/ GIMT_Encode4(16314), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25252 //
6727 /* 16252 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6728 /* 16256 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6729 /* 16260 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6730 /* 16264 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6731 /* 16268 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6732 /* 16273 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6733 /* 16277 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6734 /* 16281 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6735 /* 16285 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6736 /* 16289 */ // MIs[2] src
6737 /* 16289 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6738 /* 16294 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6739 /* 16298 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6740 /* 16300 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (TZMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
6741 /* 16300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK64rr),
6742 /* 16303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6743 /* 16305 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6744 /* 16309 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6745 /* 16312 */ GIR_RootConstrainSelectedInstOperands,
6746 /* 16313 */ // GIR_Coverage, 25252,
6747 /* 16313 */ GIR_EraseRootFromParent_Done,
6748 /* 16314 */ // Label 577: @16314
6749 /* 16314 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 578*/ GIMT_Encode4(16383), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17398 //
6750 /* 16321 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6751 /* 16325 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6752 /* 16329 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6753 /* 16333 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6754 /* 16337 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6755 /* 16342 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6756 /* 16346 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6757 /* 16350 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
6758 /* 16354 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6759 /* 16358 */ // MIs[2] src
6760 /* 16358 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6761 /* 16363 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
6762 /* 16367 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6763 /* 16369 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
6764 /* 16369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC64rr),
6765 /* 16372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6766 /* 16374 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6767 /* 16378 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6768 /* 16381 */ GIR_RootConstrainSelectedInstOperands,
6769 /* 16382 */ // GIR_Coverage, 17398,
6770 /* 16382 */ GIR_EraseRootFromParent_Done,
6771 /* 16383 */ // Label 578: @16383
6772 /* 16383 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 579*/ GIMT_Encode4(16452), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17412 //
6773 /* 16390 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6774 /* 16394 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6775 /* 16398 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6776 /* 16402 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6777 /* 16406 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6778 /* 16411 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6779 /* 16415 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6780 /* 16419 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
6781 /* 16423 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6782 /* 16427 */ // MIs[2] src
6783 /* 16427 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6784 /* 16432 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6785 /* 16436 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6786 /* 16438 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (TZMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
6787 /* 16438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK64rr),
6788 /* 16441 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6789 /* 16443 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6790 /* 16447 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6791 /* 16450 */ GIR_RootConstrainSelectedInstOperands,
6792 /* 16451 */ // GIR_Coverage, 17412,
6793 /* 16451 */ GIR_EraseRootFromParent_Done,
6794 /* 16452 */ // Label 579: @16452
6795 /* 16452 */ GIM_Reject,
6796 /* 16453 */ // Label 569: @16453
6797 /* 16453 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 580*/ GIMT_Encode4(16510), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25232 //
6798 /* 16460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6799 /* 16464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6800 /* 16468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6801 /* 16472 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6802 /* 16476 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6803 /* 16480 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6804 /* 16485 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6805 /* 16489 */ // MIs[0] src
6806 /* 16489 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
6807 /* 16494 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6808 /* 16496 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
6809 /* 16496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL64rr),
6810 /* 16499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6811 /* 16501 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6812 /* 16505 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6813 /* 16508 */ GIR_RootConstrainSelectedInstOperands,
6814 /* 16509 */ // GIR_Coverage, 25232,
6815 /* 16509 */ GIR_EraseRootFromParent_Done,
6816 /* 16510 */ // Label 580: @16510
6817 /* 16510 */ GIM_Try, /*On fail goto*//*Label 581*/ GIMT_Encode4(17117),
6818 /* 16515 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6819 /* 16518 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6820 /* 16522 */ GIM_Try, /*On fail goto*//*Label 582*/ GIMT_Encode4(16624), // Rule ID 26296 //
6821 /* 16527 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6822 /* 16531 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6823 /* 16535 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6824 /* 16539 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6825 /* 16543 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6826 /* 16547 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6827 /* 16552 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6828 /* 16556 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6829 /* 16558 */ // (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] }))
6830 /* 16558 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
6831 /* 16561 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6832 /* 16565 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6833 /* 16570 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6834 /* 16572 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
6835 /* 16575 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6836 /* 16579 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6837 /* 16584 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6838 /* 16587 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6839 /* 16591 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6840 /* 16594 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
6841 /* 16599 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
6842 /* 16604 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6843 /* 16609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR64rr),
6844 /* 16612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6845 /* 16614 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6846 /* 16616 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6847 /* 16619 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6848 /* 16622 */ GIR_RootConstrainSelectedInstOperands,
6849 /* 16623 */ // GIR_Coverage, 26296,
6850 /* 16623 */ GIR_EraseRootFromParent_Done,
6851 /* 16624 */ // Label 582: @16624
6852 /* 16624 */ GIM_Try, /*On fail goto*//*Label 583*/ GIMT_Encode4(16846),
6853 /* 16629 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6854 /* 16633 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 584*/ GIMT_Encode4(16675), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17392 //
6855 /* 16640 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6856 /* 16644 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6857 /* 16648 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6858 /* 16652 */ // MIs[1] src
6859 /* 16652 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
6860 /* 16657 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6861 /* 16661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6862 /* 16663 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
6863 /* 16663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL64rr),
6864 /* 16666 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6865 /* 16668 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
6866 /* 16670 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6867 /* 16673 */ GIR_RootConstrainSelectedInstOperands,
6868 /* 16674 */ // GIR_Coverage, 17392,
6869 /* 16674 */ GIR_EraseRootFromParent_Done,
6870 /* 16675 */ // Label 584: @16675
6871 /* 16675 */ GIM_Try, /*On fail goto*//*Label 585*/ GIMT_Encode4(16773), // Rule ID 23017 //
6872 /* 16680 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6873 /* 16684 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6874 /* 16688 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6875 /* 16692 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6876 /* 16696 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6877 /* 16700 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6878 /* 16705 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6879 /* 16707 */ // (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] }))
6880 /* 16707 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
6881 /* 16710 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6882 /* 16714 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6883 /* 16719 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6884 /* 16721 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
6885 /* 16724 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6886 /* 16728 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6887 /* 16733 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6888 /* 16736 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6889 /* 16740 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6890 /* 16743 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
6891 /* 16748 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
6892 /* 16753 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6893 /* 16758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR64rr),
6894 /* 16761 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6895 /* 16763 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6896 /* 16765 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6897 /* 16768 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6898 /* 16771 */ GIR_RootConstrainSelectedInstOperands,
6899 /* 16772 */ // GIR_Coverage, 23017,
6900 /* 16772 */ GIR_EraseRootFromParent_Done,
6901 /* 16773 */ // Label 585: @16773
6902 /* 16773 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 586*/ GIMT_Encode4(16809), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23096 //
6903 /* 16780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6904 /* 16784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6905 /* 16788 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
6906 /* 16792 */ // MIs[1] Operand 1
6907 /* 16792 */ // No operand predicates
6908 /* 16792 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6909 /* 16794 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (AND64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
6910 /* 16794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64ri32),
6911 /* 16797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6912 /* 16799 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6913 /* 16801 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6914 /* 16804 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6915 /* 16807 */ GIR_RootConstrainSelectedInstOperands,
6916 /* 16808 */ // GIR_Coverage, 23096,
6917 /* 16808 */ GIR_EraseRootFromParent_Done,
6918 /* 16809 */ // Label 586: @16809
6919 /* 16809 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 587*/ GIMT_Encode4(16845), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23186 //
6920 /* 16816 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6921 /* 16820 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6922 /* 16824 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
6923 /* 16828 */ // MIs[1] Operand 1
6924 /* 16828 */ // No operand predicates
6925 /* 16828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6926 /* 16830 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (AND64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
6927 /* 16830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64ri32_ND),
6928 /* 16833 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6929 /* 16835 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6930 /* 16837 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6931 /* 16840 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6932 /* 16843 */ GIR_RootConstrainSelectedInstOperands,
6933 /* 16844 */ // GIR_Coverage, 23186,
6934 /* 16844 */ GIR_EraseRootFromParent_Done,
6935 /* 16845 */ // Label 587: @16845
6936 /* 16845 */ GIM_Reject,
6937 /* 16846 */ // Label 583: @16846
6938 /* 16846 */ GIM_Try, /*On fail goto*//*Label 588*/ GIMT_Encode4(16956),
6939 /* 16851 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6940 /* 16855 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 589*/ GIMT_Encode4(16905), GIMT_Encode2(GIFBS_HasBMI_NoEGPR), // Rule ID 17590 //
6941 /* 16862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6942 /* 16866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6943 /* 16870 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6944 /* 16874 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6945 /* 16878 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6946 /* 16883 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6947 /* 16887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6948 /* 16889 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src2) => (ANDN64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
6949 /* 16889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr),
6950 /* 16892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6951 /* 16894 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6952 /* 16898 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
6953 /* 16900 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6954 /* 16903 */ GIR_RootConstrainSelectedInstOperands,
6955 /* 16904 */ // GIR_Coverage, 17590,
6956 /* 16904 */ GIR_EraseRootFromParent_Done,
6957 /* 16905 */ // Label 589: @16905
6958 /* 16905 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 590*/ GIMT_Encode4(16955), GIMT_Encode2(GIFBS_HasBMI_HasEGPR), // Rule ID 17594 //
6959 /* 16912 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6960 /* 16916 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6961 /* 16920 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6962 /* 16924 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6963 /* 16928 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6964 /* 16933 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6965 /* 16937 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6966 /* 16939 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src2) => (ANDN64rr_EVEX:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
6967 /* 16939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr_EVEX),
6968 /* 16942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6969 /* 16944 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6970 /* 16948 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
6971 /* 16950 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6972 /* 16953 */ GIR_RootConstrainSelectedInstOperands,
6973 /* 16954 */ // GIR_Coverage, 17594,
6974 /* 16954 */ GIR_EraseRootFromParent_Done,
6975 /* 16955 */ // Label 590: @16955
6976 /* 16955 */ GIM_Reject,
6977 /* 16956 */ // Label 588: @16956
6978 /* 16956 */ GIM_Try, /*On fail goto*//*Label 591*/ GIMT_Encode4(17116),
6979 /* 16961 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6980 /* 16965 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 592*/ GIMT_Encode4(17015), GIMT_Encode2(GIFBS_HasBMI_NoEGPR), // Rule ID 25346 //
6981 /* 16972 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6982 /* 16976 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6983 /* 16980 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6984 /* 16984 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6985 /* 16988 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6986 /* 16993 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6987 /* 16997 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6988 /* 16999 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src2, (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] })) => (ANDN64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
6989 /* 16999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr),
6990 /* 17002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6991 /* 17004 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6992 /* 17008 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
6993 /* 17010 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6994 /* 17013 */ GIR_RootConstrainSelectedInstOperands,
6995 /* 17014 */ // GIR_Coverage, 25346,
6996 /* 17014 */ GIR_EraseRootFromParent_Done,
6997 /* 17015 */ // Label 592: @17015
6998 /* 17015 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 593*/ GIMT_Encode4(17065), GIMT_Encode2(GIFBS_HasBMI_HasEGPR), // Rule ID 25350 //
6999 /* 17022 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7000 /* 17026 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7001 /* 17030 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7002 /* 17034 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7003 /* 17038 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7004 /* 17043 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7005 /* 17047 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7006 /* 17049 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src2, (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] })) => (ANDN64rr_EVEX:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7007 /* 17049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr_EVEX),
7008 /* 17052 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7009 /* 17054 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7010 /* 17058 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7011 /* 17060 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7012 /* 17063 */ GIR_RootConstrainSelectedInstOperands,
7013 /* 17064 */ // GIR_Coverage, 25350,
7014 /* 17064 */ GIR_EraseRootFromParent_Done,
7015 /* 17065 */ // Label 593: @17065
7016 /* 17065 */ GIM_Try, /*On fail goto*//*Label 594*/ GIMT_Encode4(17115),
7017 /* 17070 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7018 /* 17074 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 595*/ GIMT_Encode4(17094), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23088 //
7019 /* 17081 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (AND64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7020 /* 17081 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND64rr),
7021 /* 17086 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
7022 /* 17092 */ GIR_RootConstrainSelectedInstOperands,
7023 /* 17093 */ // GIR_Coverage, 23088,
7024 /* 17093 */ GIR_Done,
7025 /* 17094 */ // Label 595: @17094
7026 /* 17094 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 596*/ GIMT_Encode4(17114), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23178 //
7027 /* 17101 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (AND64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7028 /* 17101 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND64rr_ND),
7029 /* 17106 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
7030 /* 17112 */ GIR_RootConstrainSelectedInstOperands,
7031 /* 17113 */ // GIR_Coverage, 23178,
7032 /* 17113 */ GIR_Done,
7033 /* 17114 */ // Label 596: @17114
7034 /* 17114 */ GIM_Reject,
7035 /* 17115 */ // Label 594: @17115
7036 /* 17115 */ GIM_Reject,
7037 /* 17116 */ // Label 591: @17116
7038 /* 17116 */ GIM_Reject,
7039 /* 17117 */ // Label 581: @17117
7040 /* 17117 */ GIM_Reject,
7041 /* 17118 */ // Label 568: @17118
7042 /* 17118 */ GIM_Reject,
7043 /* 17119 */ // Label 492: @17119
7044 /* 17119 */ GIM_Try, /*On fail goto*//*Label 597*/ GIMT_Encode4(17466),
7045 /* 17124 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
7046 /* 17127 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
7047 /* 17130 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7048 /* 17134 */ GIM_Try, /*On fail goto*//*Label 598*/ GIMT_Encode4(17254), // Rule ID 19589 //
7049 /* 17139 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7050 /* 17143 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7051 /* 17147 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
7052 /* 17151 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
7053 /* 17155 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7054 /* 17160 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7055 /* 17164 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7056 /* 17170 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7057 /* 17172 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7058 /* 17176 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7059 /* 17178 */ // (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] })
7060 /* 17178 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7061 /* 17181 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7062 /* 17185 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7063 /* 17190 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7064 /* 17194 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7065 /* 17199 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7066 /* 17202 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7067 /* 17206 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7068 /* 17211 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7069 /* 17215 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7070 /* 17220 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7071 /* 17223 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7072 /* 17227 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7073 /* 17232 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7074 /* 17235 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7075 /* 17238 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7076 /* 17240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7077 /* 17243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7078 /* 17245 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7079 /* 17248 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
7080 /* 17253 */ // GIR_Coverage, 19589,
7081 /* 17253 */ GIR_EraseRootFromParent_Done,
7082 /* 17254 */ // Label 598: @17254
7083 /* 17254 */ GIM_Try, /*On fail goto*//*Label 599*/ GIMT_Encode4(17465),
7084 /* 17259 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7085 /* 17263 */ GIM_Try, /*On fail goto*//*Label 600*/ GIMT_Encode4(17379), // Rule ID 25612 //
7086 /* 17268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7087 /* 17272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7088 /* 17276 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
7089 /* 17280 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
7090 /* 17284 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7091 /* 17289 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7092 /* 17293 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7093 /* 17299 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7094 /* 17301 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7095 /* 17303 */ // (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] })
7096 /* 17303 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7097 /* 17306 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7098 /* 17310 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7099 /* 17315 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
7100 /* 17319 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7101 /* 17324 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7102 /* 17327 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7103 /* 17331 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7104 /* 17336 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7105 /* 17340 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7106 /* 17345 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7107 /* 17348 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7108 /* 17352 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7109 /* 17357 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7110 /* 17360 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7111 /* 17363 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7112 /* 17365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7113 /* 17368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7114 /* 17370 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7115 /* 17373 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
7116 /* 17378 */ // GIR_Coverage, 25612,
7117 /* 17378 */ GIR_EraseRootFromParent_Done,
7118 /* 17379 */ // Label 600: @17379
7119 /* 17379 */ GIM_Try, /*On fail goto*//*Label 601*/ GIMT_Encode4(17464), // Rule ID 19585 //
7120 /* 17384 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7121 /* 17388 */ // (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] })
7122 /* 17388 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7123 /* 17391 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7124 /* 17395 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7125 /* 17400 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7126 /* 17404 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7127 /* 17409 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7128 /* 17412 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7129 /* 17416 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7130 /* 17421 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
7131 /* 17425 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7132 /* 17430 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7133 /* 17433 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
7134 /* 17437 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7135 /* 17442 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7136 /* 17445 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7137 /* 17448 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7138 /* 17450 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7139 /* 17453 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7140 /* 17455 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7141 /* 17458 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
7142 /* 17463 */ // GIR_Coverage, 19585,
7143 /* 17463 */ GIR_EraseRootFromParent_Done,
7144 /* 17464 */ // Label 601: @17464
7145 /* 17464 */ GIM_Reject,
7146 /* 17465 */ // Label 599: @17465
7147 /* 17465 */ GIM_Reject,
7148 /* 17466 */ // Label 597: @17466
7149 /* 17466 */ GIM_Reject,
7150 /* 17467 */ // Label 493: @17467
7151 /* 17467 */ GIM_Try, /*On fail goto*//*Label 602*/ GIMT_Encode4(17814),
7152 /* 17472 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
7153 /* 17475 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
7154 /* 17478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7155 /* 17482 */ GIM_Try, /*On fail goto*//*Label 603*/ GIMT_Encode4(17602), // Rule ID 19590 //
7156 /* 17487 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7157 /* 17491 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7158 /* 17495 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
7159 /* 17499 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
7160 /* 17503 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7161 /* 17508 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7162 /* 17512 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7163 /* 17518 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7164 /* 17520 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7165 /* 17524 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7166 /* 17526 */ // (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] })
7167 /* 17526 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7168 /* 17529 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7169 /* 17533 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7170 /* 17538 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7171 /* 17542 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7172 /* 17547 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7173 /* 17550 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7174 /* 17554 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7175 /* 17559 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7176 /* 17563 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7177 /* 17568 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7178 /* 17571 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7179 /* 17575 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7180 /* 17580 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7181 /* 17583 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7182 /* 17586 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7183 /* 17588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7184 /* 17591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7185 /* 17593 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7186 /* 17596 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
7187 /* 17601 */ // GIR_Coverage, 19590,
7188 /* 17601 */ GIR_EraseRootFromParent_Done,
7189 /* 17602 */ // Label 603: @17602
7190 /* 17602 */ GIM_Try, /*On fail goto*//*Label 604*/ GIMT_Encode4(17813),
7191 /* 17607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7192 /* 17611 */ GIM_Try, /*On fail goto*//*Label 605*/ GIMT_Encode4(17727), // Rule ID 25613 //
7193 /* 17616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7194 /* 17620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7195 /* 17624 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
7196 /* 17628 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
7197 /* 17632 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7198 /* 17637 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7199 /* 17641 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7200 /* 17647 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7201 /* 17649 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7202 /* 17651 */ // (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] })
7203 /* 17651 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7204 /* 17654 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7205 /* 17658 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7206 /* 17663 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
7207 /* 17667 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7208 /* 17672 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7209 /* 17675 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7210 /* 17679 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7211 /* 17684 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7212 /* 17688 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7213 /* 17693 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7214 /* 17696 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7215 /* 17700 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7216 /* 17705 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7217 /* 17708 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7218 /* 17711 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7219 /* 17713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7220 /* 17716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7221 /* 17718 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7222 /* 17721 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
7223 /* 17726 */ // GIR_Coverage, 25613,
7224 /* 17726 */ GIR_EraseRootFromParent_Done,
7225 /* 17727 */ // Label 605: @17727
7226 /* 17727 */ GIM_Try, /*On fail goto*//*Label 606*/ GIMT_Encode4(17812), // Rule ID 19586 //
7227 /* 17732 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7228 /* 17736 */ // (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] })
7229 /* 17736 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7230 /* 17739 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7231 /* 17743 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7232 /* 17748 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7233 /* 17752 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7234 /* 17757 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7235 /* 17760 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7236 /* 17764 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7237 /* 17769 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
7238 /* 17773 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7239 /* 17778 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7240 /* 17781 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
7241 /* 17785 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7242 /* 17790 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7243 /* 17793 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7244 /* 17796 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7245 /* 17798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7246 /* 17801 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7247 /* 17803 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7248 /* 17806 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
7249 /* 17811 */ // GIR_Coverage, 19586,
7250 /* 17811 */ GIR_EraseRootFromParent_Done,
7251 /* 17812 */ // Label 606: @17812
7252 /* 17812 */ GIM_Reject,
7253 /* 17813 */ // Label 604: @17813
7254 /* 17813 */ GIM_Reject,
7255 /* 17814 */ // Label 602: @17814
7256 /* 17814 */ GIM_Reject,
7257 /* 17815 */ // Label 494: @17815
7258 /* 17815 */ GIM_Try, /*On fail goto*//*Label 607*/ GIMT_Encode4(18304),
7259 /* 17820 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
7260 /* 17823 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
7261 /* 17826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7262 /* 17830 */ GIM_Try, /*On fail goto*//*Label 608*/ GIMT_Encode4(18013),
7263 /* 17835 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7264 /* 17839 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 609*/ GIMT_Encode4(17894), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 4419 //
7265 /* 17846 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7266 /* 17850 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7267 /* 17854 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
7268 /* 17858 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
7269 /* 17862 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7270 /* 17867 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7271 /* 17871 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7272 /* 17877 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7273 /* 17879 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7274 /* 17881 */ // (and:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] }), VK8:{ *:[v8i1] }:$src2) => (KANDNBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
7275 /* 17881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNBkk),
7276 /* 17884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7277 /* 17886 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7278 /* 17890 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7279 /* 17892 */ GIR_RootConstrainSelectedInstOperands,
7280 /* 17893 */ // GIR_Coverage, 4419,
7281 /* 17893 */ GIR_EraseRootFromParent_Done,
7282 /* 17894 */ // Label 609: @17894
7283 /* 17894 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 610*/ GIMT_Encode4(18012), GIMT_Encode2(GIFBS_NoDQI), // Rule ID 19587 //
7284 /* 17901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7285 /* 17905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7286 /* 17909 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
7287 /* 17913 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
7288 /* 17917 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7289 /* 17922 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7290 /* 17926 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7291 /* 17932 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7292 /* 17934 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7293 /* 17936 */ // (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] })
7294 /* 17936 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7295 /* 17939 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7296 /* 17943 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7297 /* 17948 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7298 /* 17952 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7299 /* 17957 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7300 /* 17960 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7301 /* 17964 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7302 /* 17969 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7303 /* 17973 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7304 /* 17978 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7305 /* 17981 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7306 /* 17985 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7307 /* 17990 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7308 /* 17993 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7309 /* 17996 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7310 /* 17998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7311 /* 18001 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7312 /* 18003 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7313 /* 18006 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
7314 /* 18011 */ // GIR_Coverage, 19587,
7315 /* 18011 */ GIR_EraseRootFromParent_Done,
7316 /* 18012 */ // Label 610: @18012
7317 /* 18012 */ GIM_Reject,
7318 /* 18013 */ // Label 608: @18013
7319 /* 18013 */ GIM_Try, /*On fail goto*//*Label 611*/ GIMT_Encode4(18303),
7320 /* 18018 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7321 /* 18022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 612*/ GIMT_Encode4(18077), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 23932 //
7322 /* 18029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7323 /* 18033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7324 /* 18037 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
7325 /* 18041 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
7326 /* 18045 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7327 /* 18050 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7328 /* 18054 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7329 /* 18060 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7330 /* 18062 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7331 /* 18064 */ // (and:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src2, (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] })) => (KANDNBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
7332 /* 18064 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNBkk),
7333 /* 18067 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7334 /* 18069 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7335 /* 18073 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7336 /* 18075 */ GIR_RootConstrainSelectedInstOperands,
7337 /* 18076 */ // GIR_Coverage, 23932,
7338 /* 18076 */ GIR_EraseRootFromParent_Done,
7339 /* 18077 */ // Label 612: @18077
7340 /* 18077 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 613*/ GIMT_Encode4(18195), GIMT_Encode2(GIFBS_NoDQI), // Rule ID 25610 //
7341 /* 18084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7342 /* 18088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7343 /* 18092 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
7344 /* 18096 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
7345 /* 18100 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7346 /* 18105 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7347 /* 18109 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7348 /* 18115 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7349 /* 18117 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7350 /* 18119 */ // (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] })
7351 /* 18119 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7352 /* 18122 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7353 /* 18126 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7354 /* 18131 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
7355 /* 18135 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7356 /* 18140 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7357 /* 18143 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7358 /* 18147 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7359 /* 18152 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7360 /* 18156 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7361 /* 18161 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7362 /* 18164 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7363 /* 18168 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7364 /* 18173 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7365 /* 18176 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7366 /* 18179 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7367 /* 18181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7368 /* 18184 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7369 /* 18186 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7370 /* 18189 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
7371 /* 18194 */ // GIR_Coverage, 25610,
7372 /* 18194 */ GIR_EraseRootFromParent_Done,
7373 /* 18195 */ // Label 613: @18195
7374 /* 18195 */ GIM_Try, /*On fail goto*//*Label 614*/ GIMT_Encode4(18302),
7375 /* 18200 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7376 /* 18204 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 615*/ GIMT_Encode4(18218), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 4403 //
7377 /* 18211 */ // (and:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KANDBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
7378 /* 18211 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDBkk),
7379 /* 18216 */ GIR_RootConstrainSelectedInstOperands,
7380 /* 18217 */ // GIR_Coverage, 4403,
7381 /* 18217 */ GIR_Done,
7382 /* 18218 */ // Label 615: @18218
7383 /* 18218 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 616*/ GIMT_Encode4(18301), GIMT_Encode2(GIFBS_NoDQI), // Rule ID 19583 //
7384 /* 18225 */ // (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] })
7385 /* 18225 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7386 /* 18228 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7387 /* 18232 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7388 /* 18237 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7389 /* 18241 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7390 /* 18246 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7391 /* 18249 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7392 /* 18253 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7393 /* 18258 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
7394 /* 18262 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7395 /* 18267 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7396 /* 18270 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
7397 /* 18274 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7398 /* 18279 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7399 /* 18282 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7400 /* 18285 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7401 /* 18287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7402 /* 18290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7403 /* 18292 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7404 /* 18295 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
7405 /* 18300 */ // GIR_Coverage, 19583,
7406 /* 18300 */ GIR_EraseRootFromParent_Done,
7407 /* 18301 */ // Label 616: @18301
7408 /* 18301 */ GIM_Reject,
7409 /* 18302 */ // Label 614: @18302
7410 /* 18302 */ GIM_Reject,
7411 /* 18303 */ // Label 611: @18303
7412 /* 18303 */ GIM_Reject,
7413 /* 18304 */ // Label 607: @18304
7414 /* 18304 */ GIM_Reject,
7415 /* 18305 */ // Label 495: @18305
7416 /* 18305 */ GIM_Try, /*On fail goto*//*Label 617*/ GIMT_Encode4(18463),
7417 /* 18310 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
7418 /* 18313 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
7419 /* 18316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7420 /* 18320 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 618*/ GIMT_Encode4(18379), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4420 //
7421 /* 18327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7422 /* 18331 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7423 /* 18335 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
7424 /* 18339 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
7425 /* 18343 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7426 /* 18348 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7427 /* 18352 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7428 /* 18358 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7429 /* 18360 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7430 /* 18364 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7431 /* 18366 */ // (and:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] }), VK16:{ *:[v16i1] }:$src2) => (KANDNWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
7432 /* 18366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7433 /* 18369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7434 /* 18371 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7435 /* 18375 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7436 /* 18377 */ GIR_RootConstrainSelectedInstOperands,
7437 /* 18378 */ // GIR_Coverage, 4420,
7438 /* 18378 */ GIR_EraseRootFromParent_Done,
7439 /* 18379 */ // Label 618: @18379
7440 /* 18379 */ GIM_Try, /*On fail goto*//*Label 619*/ GIMT_Encode4(18462),
7441 /* 18384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7442 /* 18388 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 620*/ GIMT_Encode4(18443), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 23933 //
7443 /* 18395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7444 /* 18399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7445 /* 18403 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
7446 /* 18407 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
7447 /* 18411 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7448 /* 18416 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7449 /* 18420 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7450 /* 18426 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7451 /* 18428 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7452 /* 18430 */ // (and:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src2, (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] })) => (KANDNWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
7453 /* 18430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7454 /* 18433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7455 /* 18435 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7456 /* 18439 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7457 /* 18441 */ GIR_RootConstrainSelectedInstOperands,
7458 /* 18442 */ // GIR_Coverage, 23933,
7459 /* 18442 */ GIR_EraseRootFromParent_Done,
7460 /* 18443 */ // Label 620: @18443
7461 /* 18443 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 621*/ GIMT_Encode4(18461), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4404 //
7462 /* 18450 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7463 /* 18454 */ // (and:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KANDWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
7464 /* 18454 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
7465 /* 18459 */ GIR_RootConstrainSelectedInstOperands,
7466 /* 18460 */ // GIR_Coverage, 4404,
7467 /* 18460 */ GIR_Done,
7468 /* 18461 */ // Label 621: @18461
7469 /* 18461 */ GIM_Reject,
7470 /* 18462 */ // Label 619: @18462
7471 /* 18462 */ GIM_Reject,
7472 /* 18463 */ // Label 617: @18463
7473 /* 18463 */ GIM_Reject,
7474 /* 18464 */ // Label 496: @18464
7475 /* 18464 */ GIM_Try, /*On fail goto*//*Label 622*/ GIMT_Encode4(18622),
7476 /* 18469 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
7477 /* 18472 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
7478 /* 18475 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7479 /* 18479 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 623*/ GIMT_Encode4(18538), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4421 //
7480 /* 18486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7481 /* 18490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7482 /* 18494 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
7483 /* 18498 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
7484 /* 18502 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7485 /* 18507 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7486 /* 18511 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7487 /* 18517 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7488 /* 18519 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7489 /* 18523 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7490 /* 18525 */ // (and:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] }), VK32:{ *:[v32i1] }:$src2) => (KANDNDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
7491 /* 18525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNDkk),
7492 /* 18528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7493 /* 18530 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7494 /* 18534 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7495 /* 18536 */ GIR_RootConstrainSelectedInstOperands,
7496 /* 18537 */ // GIR_Coverage, 4421,
7497 /* 18537 */ GIR_EraseRootFromParent_Done,
7498 /* 18538 */ // Label 623: @18538
7499 /* 18538 */ GIM_Try, /*On fail goto*//*Label 624*/ GIMT_Encode4(18621),
7500 /* 18543 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7501 /* 18547 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 625*/ GIMT_Encode4(18602), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23934 //
7502 /* 18554 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7503 /* 18558 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7504 /* 18562 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
7505 /* 18566 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
7506 /* 18570 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7507 /* 18575 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7508 /* 18579 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7509 /* 18585 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7510 /* 18587 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7511 /* 18589 */ // (and:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src2, (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] })) => (KANDNDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
7512 /* 18589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNDkk),
7513 /* 18592 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7514 /* 18594 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7515 /* 18598 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7516 /* 18600 */ GIR_RootConstrainSelectedInstOperands,
7517 /* 18601 */ // GIR_Coverage, 23934,
7518 /* 18601 */ GIR_EraseRootFromParent_Done,
7519 /* 18602 */ // Label 625: @18602
7520 /* 18602 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 626*/ GIMT_Encode4(18620), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4405 //
7521 /* 18609 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7522 /* 18613 */ // (and:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KANDDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
7523 /* 18613 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDDkk),
7524 /* 18618 */ GIR_RootConstrainSelectedInstOperands,
7525 /* 18619 */ // GIR_Coverage, 4405,
7526 /* 18619 */ GIR_Done,
7527 /* 18620 */ // Label 626: @18620
7528 /* 18620 */ GIM_Reject,
7529 /* 18621 */ // Label 624: @18621
7530 /* 18621 */ GIM_Reject,
7531 /* 18622 */ // Label 622: @18622
7532 /* 18622 */ GIM_Reject,
7533 /* 18623 */ // Label 497: @18623
7534 /* 18623 */ GIM_Try, /*On fail goto*//*Label 627*/ GIMT_Encode4(18781),
7535 /* 18628 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
7536 /* 18631 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
7537 /* 18634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7538 /* 18638 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 628*/ GIMT_Encode4(18697), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4422 //
7539 /* 18645 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7540 /* 18649 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7541 /* 18653 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
7542 /* 18657 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
7543 /* 18661 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7544 /* 18666 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7545 /* 18670 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7546 /* 18676 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7547 /* 18678 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7548 /* 18682 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7549 /* 18684 */ // (and:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] }), VK64:{ *:[v64i1] }:$src2) => (KANDNQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
7550 /* 18684 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNQkk),
7551 /* 18687 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7552 /* 18689 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7553 /* 18693 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7554 /* 18695 */ GIR_RootConstrainSelectedInstOperands,
7555 /* 18696 */ // GIR_Coverage, 4422,
7556 /* 18696 */ GIR_EraseRootFromParent_Done,
7557 /* 18697 */ // Label 628: @18697
7558 /* 18697 */ GIM_Try, /*On fail goto*//*Label 629*/ GIMT_Encode4(18780),
7559 /* 18702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7560 /* 18706 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 630*/ GIMT_Encode4(18761), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23935 //
7561 /* 18713 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7562 /* 18717 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7563 /* 18721 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
7564 /* 18725 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
7565 /* 18729 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7566 /* 18734 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7567 /* 18738 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7568 /* 18744 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7569 /* 18746 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7570 /* 18748 */ // (and:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src2, (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] })) => (KANDNQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
7571 /* 18748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNQkk),
7572 /* 18751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7573 /* 18753 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7574 /* 18757 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7575 /* 18759 */ GIR_RootConstrainSelectedInstOperands,
7576 /* 18760 */ // GIR_Coverage, 23935,
7577 /* 18760 */ GIR_EraseRootFromParent_Done,
7578 /* 18761 */ // Label 630: @18761
7579 /* 18761 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 631*/ GIMT_Encode4(18779), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4406 //
7580 /* 18768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7581 /* 18772 */ // (and:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KANDQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
7582 /* 18772 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDQkk),
7583 /* 18777 */ GIR_RootConstrainSelectedInstOperands,
7584 /* 18778 */ // GIR_Coverage, 4406,
7585 /* 18778 */ GIR_Done,
7586 /* 18779 */ // Label 631: @18779
7587 /* 18779 */ GIM_Reject,
7588 /* 18780 */ // Label 629: @18780
7589 /* 18780 */ GIM_Reject,
7590 /* 18781 */ // Label 627: @18781
7591 /* 18781 */ GIM_Reject,
7592 /* 18782 */ // Label 498: @18782
7593 /* 18782 */ GIM_Try, /*On fail goto*//*Label 632*/ GIMT_Encode4(19110),
7594 /* 18787 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
7595 /* 18790 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
7596 /* 18793 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 633*/ GIMT_Encode4(18854), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25495 //
7597 /* 18800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7598 /* 18804 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7599 /* 18808 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7600 /* 18812 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7601 /* 18815 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7602 /* 18819 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7603 /* 18823 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7604 /* 18827 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7605 /* 18829 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7606 /* 18836 */ // (and:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPANDrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7607 /* 18836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
7608 /* 18839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7609 /* 18841 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7610 /* 18843 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7611 /* 18847 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7612 /* 18852 */ GIR_RootConstrainSelectedInstOperands,
7613 /* 18853 */ // GIR_Coverage, 25495,
7614 /* 18853 */ GIR_EraseRootFromParent_Done,
7615 /* 18854 */ // Label 633: @18854
7616 /* 18854 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 634*/ GIMT_Encode4(18915), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25676 //
7617 /* 18861 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7618 /* 18865 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7619 /* 18869 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7620 /* 18873 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7621 /* 18876 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7622 /* 18880 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7623 /* 18884 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7624 /* 18888 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7625 /* 18890 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7626 /* 18897 */ // (and:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPANDQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7627 /* 18897 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
7628 /* 18900 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7629 /* 18902 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7630 /* 18904 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7631 /* 18908 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7632 /* 18913 */ GIR_RootConstrainSelectedInstOperands,
7633 /* 18914 */ // GIR_Coverage, 25676,
7634 /* 18914 */ GIR_EraseRootFromParent_Done,
7635 /* 18915 */ // Label 634: @18915
7636 /* 18915 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 635*/ GIMT_Encode4(18976), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18251 //
7637 /* 18922 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7638 /* 18926 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7639 /* 18930 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7640 /* 18934 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7641 /* 18938 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7642 /* 18941 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7643 /* 18945 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7644 /* 18949 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7645 /* 18951 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7646 /* 18958 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7647 /* 18958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
7648 /* 18961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7649 /* 18963 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7650 /* 18965 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7651 /* 18969 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7652 /* 18974 */ GIR_RootConstrainSelectedInstOperands,
7653 /* 18975 */ // GIR_Coverage, 18251,
7654 /* 18975 */ GIR_EraseRootFromParent_Done,
7655 /* 18976 */ // Label 635: @18976
7656 /* 18976 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 636*/ GIMT_Encode4(19037), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20150 //
7657 /* 18983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7658 /* 18987 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7659 /* 18991 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7660 /* 18995 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7661 /* 18999 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7662 /* 19002 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7663 /* 19006 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7664 /* 19010 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7665 /* 19012 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7666 /* 19019 */ // (and:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7667 /* 19019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
7668 /* 19022 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7669 /* 19024 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7670 /* 19026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7671 /* 19030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7672 /* 19035 */ GIR_RootConstrainSelectedInstOperands,
7673 /* 19036 */ // GIR_Coverage, 20150,
7674 /* 19036 */ GIR_EraseRootFromParent_Done,
7675 /* 19037 */ // Label 636: @19037
7676 /* 19037 */ GIM_Try, /*On fail goto*//*Label 637*/ GIMT_Encode4(19083),
7677 /* 19042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7678 /* 19046 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7679 /* 19050 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7680 /* 19054 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 638*/ GIMT_Encode4(19068), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18239 //
7681 /* 19061 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPANDrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
7682 /* 19061 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
7683 /* 19066 */ GIR_RootConstrainSelectedInstOperands,
7684 /* 19067 */ // GIR_Coverage, 18239,
7685 /* 19067 */ GIR_Done,
7686 /* 19068 */ // Label 638: @19068
7687 /* 19068 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 639*/ GIMT_Encode4(19082), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18263 //
7688 /* 19075 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PANDrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
7689 /* 19075 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
7690 /* 19080 */ GIR_RootConstrainSelectedInstOperands,
7691 /* 19081 */ // GIR_Coverage, 18263,
7692 /* 19081 */ GIR_Done,
7693 /* 19082 */ // Label 639: @19082
7694 /* 19082 */ GIM_Reject,
7695 /* 19083 */ // Label 637: @19083
7696 /* 19083 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 640*/ GIMT_Encode4(19109), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20142 //
7697 /* 19090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7698 /* 19094 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7699 /* 19098 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7700 /* 19102 */ // (and:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPANDQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
7701 /* 19102 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
7702 /* 19107 */ GIR_RootConstrainSelectedInstOperands,
7703 /* 19108 */ // GIR_Coverage, 20142,
7704 /* 19108 */ GIR_Done,
7705 /* 19109 */ // Label 640: @19109
7706 /* 19109 */ GIM_Reject,
7707 /* 19110 */ // Label 632: @19110
7708 /* 19110 */ GIM_Reject,
7709 /* 19111 */ // Label 499: @19111
7710 /* 19111 */ GIM_Try, /*On fail goto*//*Label 641*/ GIMT_Encode4(19557),
7711 /* 19116 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
7712 /* 19119 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
7713 /* 19122 */ GIM_Try, /*On fail goto*//*Label 642*/ GIMT_Encode4(19242),
7714 /* 19127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7715 /* 19131 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7716 /* 19135 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 643*/ GIMT_Encode4(19188), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25474 //
7717 /* 19142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7718 /* 19146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7719 /* 19150 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7720 /* 19153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7721 /* 19157 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7722 /* 19161 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7723 /* 19163 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7724 /* 19170 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPANDYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7725 /* 19170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
7726 /* 19173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7727 /* 19175 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7728 /* 19177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7729 /* 19181 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7730 /* 19186 */ GIR_RootConstrainSelectedInstOperands,
7731 /* 19187 */ // GIR_Coverage, 25474,
7732 /* 19187 */ GIR_EraseRootFromParent_Done,
7733 /* 19188 */ // Label 643: @19188
7734 /* 19188 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 644*/ GIMT_Encode4(19241), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25483 //
7735 /* 19195 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7736 /* 19199 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7737 /* 19203 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7738 /* 19206 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7739 /* 19210 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7740 /* 19214 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7741 /* 19216 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7742 /* 19223 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VANDPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7743 /* 19223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
7744 /* 19226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7745 /* 19228 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7746 /* 19230 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7747 /* 19234 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7748 /* 19239 */ GIR_RootConstrainSelectedInstOperands,
7749 /* 19240 */ // GIR_Coverage, 25483,
7750 /* 19240 */ GIR_EraseRootFromParent_Done,
7751 /* 19241 */ // Label 644: @19241
7752 /* 19241 */ GIM_Reject,
7753 /* 19242 */ // Label 642: @19242
7754 /* 19242 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 645*/ GIMT_Encode4(19303), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25682 //
7755 /* 19249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7756 /* 19253 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7757 /* 19257 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7758 /* 19261 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7759 /* 19264 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7760 /* 19268 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7761 /* 19272 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7762 /* 19276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7763 /* 19278 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7764 /* 19285 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPANDQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7765 /* 19285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
7766 /* 19288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7767 /* 19290 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7768 /* 19292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7769 /* 19296 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7770 /* 19301 */ GIR_RootConstrainSelectedInstOperands,
7771 /* 19302 */ // GIR_Coverage, 25682,
7772 /* 19302 */ GIR_EraseRootFromParent_Done,
7773 /* 19303 */ // Label 645: @19303
7774 /* 19303 */ GIM_Try, /*On fail goto*//*Label 646*/ GIMT_Encode4(19423),
7775 /* 19308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7776 /* 19312 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7777 /* 19316 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 647*/ GIMT_Encode4(19369), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18195 //
7778 /* 19323 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7779 /* 19327 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7780 /* 19331 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7781 /* 19334 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7782 /* 19338 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7783 /* 19342 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7784 /* 19344 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7785 /* 19351 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7786 /* 19351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
7787 /* 19354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7788 /* 19356 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7789 /* 19358 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7790 /* 19362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7791 /* 19367 */ GIR_RootConstrainSelectedInstOperands,
7792 /* 19368 */ // GIR_Coverage, 18195,
7793 /* 19368 */ GIR_EraseRootFromParent_Done,
7794 /* 19369 */ // Label 647: @19369
7795 /* 19369 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 648*/ GIMT_Encode4(19422), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18223 //
7796 /* 19376 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7797 /* 19380 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7798 /* 19384 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7799 /* 19387 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7800 /* 19391 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7801 /* 19395 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7802 /* 19397 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7803 /* 19404 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7804 /* 19404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
7805 /* 19407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7806 /* 19409 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7807 /* 19411 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7808 /* 19415 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7809 /* 19420 */ GIR_RootConstrainSelectedInstOperands,
7810 /* 19421 */ // GIR_Coverage, 18223,
7811 /* 19421 */ GIR_EraseRootFromParent_Done,
7812 /* 19422 */ // Label 648: @19422
7813 /* 19422 */ GIM_Reject,
7814 /* 19423 */ // Label 646: @19423
7815 /* 19423 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 649*/ GIMT_Encode4(19484), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20166 //
7816 /* 19430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7817 /* 19434 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7818 /* 19438 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7819 /* 19442 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7820 /* 19446 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7821 /* 19449 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7822 /* 19453 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7823 /* 19457 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7824 /* 19459 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7825 /* 19466 */ // (and:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7826 /* 19466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
7827 /* 19469 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7828 /* 19471 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7829 /* 19473 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7830 /* 19477 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7831 /* 19482 */ GIR_RootConstrainSelectedInstOperands,
7832 /* 19483 */ // GIR_Coverage, 20166,
7833 /* 19483 */ GIR_EraseRootFromParent_Done,
7834 /* 19484 */ // Label 649: @19484
7835 /* 19484 */ GIM_Try, /*On fail goto*//*Label 650*/ GIMT_Encode4(19530),
7836 /* 19489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7837 /* 19493 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7838 /* 19497 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
7839 /* 19501 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 651*/ GIMT_Encode4(19515), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18183 //
7840 /* 19508 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPANDYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
7841 /* 19508 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
7842 /* 19513 */ GIR_RootConstrainSelectedInstOperands,
7843 /* 19514 */ // GIR_Coverage, 18183,
7844 /* 19514 */ GIR_Done,
7845 /* 19515 */ // Label 651: @19515
7846 /* 19515 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 652*/ GIMT_Encode4(19529), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18207 //
7847 /* 19522 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VANDPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
7848 /* 19522 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
7849 /* 19527 */ GIR_RootConstrainSelectedInstOperands,
7850 /* 19528 */ // GIR_Coverage, 18207,
7851 /* 19528 */ GIR_Done,
7852 /* 19529 */ // Label 652: @19529
7853 /* 19529 */ GIM_Reject,
7854 /* 19530 */ // Label 650: @19530
7855 /* 19530 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 653*/ GIMT_Encode4(19556), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20158 //
7856 /* 19537 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7857 /* 19541 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7858 /* 19545 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
7859 /* 19549 */ // (and:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPANDQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
7860 /* 19549 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
7861 /* 19554 */ GIR_RootConstrainSelectedInstOperands,
7862 /* 19555 */ // GIR_Coverage, 20158,
7863 /* 19555 */ GIR_Done,
7864 /* 19556 */ // Label 653: @19556
7865 /* 19556 */ GIM_Reject,
7866 /* 19557 */ // Label 641: @19557
7867 /* 19557 */ GIM_Reject,
7868 /* 19558 */ // Label 500: @19558
7869 /* 19558 */ GIM_Try, /*On fail goto*//*Label 654*/ GIMT_Encode4(19712),
7870 /* 19563 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
7871 /* 19566 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
7872 /* 19569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
7873 /* 19573 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 655*/ GIMT_Encode4(19630), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 25688 //
7874 /* 19580 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7875 /* 19584 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7876 /* 19588 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7877 /* 19591 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7878 /* 19595 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7879 /* 19599 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
7880 /* 19603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7881 /* 19605 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7882 /* 19612 */ // (and:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPANDQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7883 /* 19612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
7884 /* 19615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7885 /* 19617 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7886 /* 19619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7887 /* 19623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7888 /* 19628 */ GIR_RootConstrainSelectedInstOperands,
7889 /* 19629 */ // GIR_Coverage, 25688,
7890 /* 19629 */ GIR_EraseRootFromParent_Done,
7891 /* 19630 */ // Label 655: @19630
7892 /* 19630 */ GIM_Try, /*On fail goto*//*Label 656*/ GIMT_Encode4(19711),
7893 /* 19635 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
7894 /* 19639 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 657*/ GIMT_Encode4(19692), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20182 //
7895 /* 19646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7896 /* 19650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7897 /* 19654 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7898 /* 19657 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7899 /* 19661 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7900 /* 19665 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7901 /* 19667 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7902 /* 19674 */ // (and:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7903 /* 19674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
7904 /* 19677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7905 /* 19679 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7906 /* 19681 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7907 /* 19685 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7908 /* 19690 */ GIR_RootConstrainSelectedInstOperands,
7909 /* 19691 */ // GIR_Coverage, 20182,
7910 /* 19691 */ GIR_EraseRootFromParent_Done,
7911 /* 19692 */ // Label 657: @19692
7912 /* 19692 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 658*/ GIMT_Encode4(19710), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20174 //
7913 /* 19699 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
7914 /* 19703 */ // (and:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPANDQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
7915 /* 19703 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
7916 /* 19708 */ GIR_RootConstrainSelectedInstOperands,
7917 /* 19709 */ // GIR_Coverage, 20174,
7918 /* 19709 */ GIR_Done,
7919 /* 19710 */ // Label 658: @19710
7920 /* 19710 */ GIM_Reject,
7921 /* 19711 */ // Label 656: @19711
7922 /* 19711 */ GIM_Reject,
7923 /* 19712 */ // Label 654: @19712
7924 /* 19712 */ GIM_Reject,
7925 /* 19713 */ // Label 501: @19713
7926 /* 19713 */ GIM_Try, /*On fail goto*//*Label 659*/ GIMT_Encode4(20041),
7927 /* 19718 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
7928 /* 19721 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
7929 /* 19724 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 660*/ GIMT_Encode4(19785), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25496 //
7930 /* 19731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7931 /* 19735 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7932 /* 19739 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7933 /* 19743 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7934 /* 19746 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7935 /* 19750 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7936 /* 19754 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7937 /* 19758 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7938 /* 19760 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7939 /* 19767 */ // (and:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPANDrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
7940 /* 19767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
7941 /* 19770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7942 /* 19772 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7943 /* 19774 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7944 /* 19778 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7945 /* 19783 */ GIR_RootConstrainSelectedInstOperands,
7946 /* 19784 */ // GIR_Coverage, 25496,
7947 /* 19784 */ GIR_EraseRootFromParent_Done,
7948 /* 19785 */ // Label 660: @19785
7949 /* 19785 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 661*/ GIMT_Encode4(19846), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25677 //
7950 /* 19792 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7951 /* 19796 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7952 /* 19800 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7953 /* 19804 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7954 /* 19807 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7955 /* 19811 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7956 /* 19815 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7957 /* 19819 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7958 /* 19821 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7959 /* 19828 */ // (and:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPANDQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
7960 /* 19828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
7961 /* 19831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7962 /* 19833 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7963 /* 19835 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7964 /* 19839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7965 /* 19844 */ GIR_RootConstrainSelectedInstOperands,
7966 /* 19845 */ // GIR_Coverage, 25677,
7967 /* 19845 */ GIR_EraseRootFromParent_Done,
7968 /* 19846 */ // Label 661: @19846
7969 /* 19846 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 662*/ GIMT_Encode4(19907), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18252 //
7970 /* 19853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7971 /* 19857 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7972 /* 19861 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7973 /* 19865 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7974 /* 19869 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7975 /* 19872 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7976 /* 19876 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7977 /* 19880 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7978 /* 19882 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7979 /* 19889 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
7980 /* 19889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
7981 /* 19892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7982 /* 19894 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7983 /* 19896 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7984 /* 19900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7985 /* 19905 */ GIR_RootConstrainSelectedInstOperands,
7986 /* 19906 */ // GIR_Coverage, 18252,
7987 /* 19906 */ GIR_EraseRootFromParent_Done,
7988 /* 19907 */ // Label 662: @19907
7989 /* 19907 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 663*/ GIMT_Encode4(19968), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20151 //
7990 /* 19914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7991 /* 19918 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7992 /* 19922 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7993 /* 19926 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7994 /* 19930 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7995 /* 19933 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7996 /* 19937 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7997 /* 19941 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7998 /* 19943 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7999 /* 19950 */ // (and:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8000 /* 19950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8001 /* 19953 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8002 /* 19955 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8003 /* 19957 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8004 /* 19961 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8005 /* 19966 */ GIR_RootConstrainSelectedInstOperands,
8006 /* 19967 */ // GIR_Coverage, 20151,
8007 /* 19967 */ GIR_EraseRootFromParent_Done,
8008 /* 19968 */ // Label 663: @19968
8009 /* 19968 */ GIM_Try, /*On fail goto*//*Label 664*/ GIMT_Encode4(20014),
8010 /* 19973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8011 /* 19977 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8012 /* 19981 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8013 /* 19985 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 665*/ GIMT_Encode4(19999), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18240 //
8014 /* 19992 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPANDrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
8015 /* 19992 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8016 /* 19997 */ GIR_RootConstrainSelectedInstOperands,
8017 /* 19998 */ // GIR_Coverage, 18240,
8018 /* 19998 */ GIR_Done,
8019 /* 19999 */ // Label 665: @19999
8020 /* 19999 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 666*/ GIMT_Encode4(20013), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18264 //
8021 /* 20006 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PANDrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
8022 /* 20006 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8023 /* 20011 */ GIR_RootConstrainSelectedInstOperands,
8024 /* 20012 */ // GIR_Coverage, 18264,
8025 /* 20012 */ GIR_Done,
8026 /* 20013 */ // Label 666: @20013
8027 /* 20013 */ GIM_Reject,
8028 /* 20014 */ // Label 664: @20014
8029 /* 20014 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 667*/ GIMT_Encode4(20040), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20143 //
8030 /* 20021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8031 /* 20025 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8032 /* 20029 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8033 /* 20033 */ // (and:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPANDQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
8034 /* 20033 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
8035 /* 20038 */ GIR_RootConstrainSelectedInstOperands,
8036 /* 20039 */ // GIR_Coverage, 20143,
8037 /* 20039 */ GIR_Done,
8038 /* 20040 */ // Label 667: @20040
8039 /* 20040 */ GIM_Reject,
8040 /* 20041 */ // Label 659: @20041
8041 /* 20041 */ GIM_Reject,
8042 /* 20042 */ // Label 502: @20042
8043 /* 20042 */ GIM_Try, /*On fail goto*//*Label 668*/ GIMT_Encode4(20488),
8044 /* 20047 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
8045 /* 20050 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
8046 /* 20053 */ GIM_Try, /*On fail goto*//*Label 669*/ GIMT_Encode4(20173),
8047 /* 20058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8048 /* 20062 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8049 /* 20066 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 670*/ GIMT_Encode4(20119), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25475 //
8050 /* 20073 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8051 /* 20077 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8052 /* 20081 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8053 /* 20084 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8054 /* 20088 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8055 /* 20092 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8056 /* 20094 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8057 /* 20101 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPANDYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8058 /* 20101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8059 /* 20104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8060 /* 20106 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8061 /* 20108 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8062 /* 20112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8063 /* 20117 */ GIR_RootConstrainSelectedInstOperands,
8064 /* 20118 */ // GIR_Coverage, 25475,
8065 /* 20118 */ GIR_EraseRootFromParent_Done,
8066 /* 20119 */ // Label 670: @20119
8067 /* 20119 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 671*/ GIMT_Encode4(20172), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25484 //
8068 /* 20126 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8069 /* 20130 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8070 /* 20134 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8071 /* 20137 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8072 /* 20141 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8073 /* 20145 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8074 /* 20147 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8075 /* 20154 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VANDPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8076 /* 20154 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8077 /* 20157 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8078 /* 20159 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8079 /* 20161 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8080 /* 20165 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8081 /* 20170 */ GIR_RootConstrainSelectedInstOperands,
8082 /* 20171 */ // GIR_Coverage, 25484,
8083 /* 20171 */ GIR_EraseRootFromParent_Done,
8084 /* 20172 */ // Label 671: @20172
8085 /* 20172 */ GIM_Reject,
8086 /* 20173 */ // Label 669: @20173
8087 /* 20173 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 672*/ GIMT_Encode4(20234), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25683 //
8088 /* 20180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8089 /* 20184 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8090 /* 20188 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8091 /* 20192 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8092 /* 20195 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8093 /* 20199 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8094 /* 20203 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8095 /* 20207 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8096 /* 20209 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8097 /* 20216 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPANDQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8098 /* 20216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8099 /* 20219 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8100 /* 20221 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8101 /* 20223 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8102 /* 20227 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8103 /* 20232 */ GIR_RootConstrainSelectedInstOperands,
8104 /* 20233 */ // GIR_Coverage, 25683,
8105 /* 20233 */ GIR_EraseRootFromParent_Done,
8106 /* 20234 */ // Label 672: @20234
8107 /* 20234 */ GIM_Try, /*On fail goto*//*Label 673*/ GIMT_Encode4(20354),
8108 /* 20239 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8109 /* 20243 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8110 /* 20247 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 674*/ GIMT_Encode4(20300), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18196 //
8111 /* 20254 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8112 /* 20258 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8113 /* 20262 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8114 /* 20265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8115 /* 20269 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8116 /* 20273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8117 /* 20275 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8118 /* 20282 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8119 /* 20282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8120 /* 20285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8121 /* 20287 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8122 /* 20289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8123 /* 20293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8124 /* 20298 */ GIR_RootConstrainSelectedInstOperands,
8125 /* 20299 */ // GIR_Coverage, 18196,
8126 /* 20299 */ GIR_EraseRootFromParent_Done,
8127 /* 20300 */ // Label 674: @20300
8128 /* 20300 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 675*/ GIMT_Encode4(20353), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18224 //
8129 /* 20307 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8130 /* 20311 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8131 /* 20315 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8132 /* 20318 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8133 /* 20322 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8134 /* 20326 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8135 /* 20328 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8136 /* 20335 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8137 /* 20335 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8138 /* 20338 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8139 /* 20340 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8140 /* 20342 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8141 /* 20346 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8142 /* 20351 */ GIR_RootConstrainSelectedInstOperands,
8143 /* 20352 */ // GIR_Coverage, 18224,
8144 /* 20352 */ GIR_EraseRootFromParent_Done,
8145 /* 20353 */ // Label 675: @20353
8146 /* 20353 */ GIM_Reject,
8147 /* 20354 */ // Label 673: @20354
8148 /* 20354 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 676*/ GIMT_Encode4(20415), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20167 //
8149 /* 20361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8150 /* 20365 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8151 /* 20369 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8152 /* 20373 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8153 /* 20377 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8154 /* 20380 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8155 /* 20384 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8156 /* 20388 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8157 /* 20390 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8158 /* 20397 */ // (and:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8159 /* 20397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8160 /* 20400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8161 /* 20402 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8162 /* 20404 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8163 /* 20408 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8164 /* 20413 */ GIR_RootConstrainSelectedInstOperands,
8165 /* 20414 */ // GIR_Coverage, 20167,
8166 /* 20414 */ GIR_EraseRootFromParent_Done,
8167 /* 20415 */ // Label 676: @20415
8168 /* 20415 */ GIM_Try, /*On fail goto*//*Label 677*/ GIMT_Encode4(20461),
8169 /* 20420 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8170 /* 20424 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8171 /* 20428 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8172 /* 20432 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 678*/ GIMT_Encode4(20446), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18184 //
8173 /* 20439 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPANDYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
8174 /* 20439 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
8175 /* 20444 */ GIR_RootConstrainSelectedInstOperands,
8176 /* 20445 */ // GIR_Coverage, 18184,
8177 /* 20445 */ GIR_Done,
8178 /* 20446 */ // Label 678: @20446
8179 /* 20446 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 679*/ GIMT_Encode4(20460), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18208 //
8180 /* 20453 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VANDPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
8181 /* 20453 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
8182 /* 20458 */ GIR_RootConstrainSelectedInstOperands,
8183 /* 20459 */ // GIR_Coverage, 18208,
8184 /* 20459 */ GIR_Done,
8185 /* 20460 */ // Label 679: @20460
8186 /* 20460 */ GIM_Reject,
8187 /* 20461 */ // Label 677: @20461
8188 /* 20461 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 680*/ GIMT_Encode4(20487), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20159 //
8189 /* 20468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8190 /* 20472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8191 /* 20476 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8192 /* 20480 */ // (and:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPANDQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
8193 /* 20480 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
8194 /* 20485 */ GIR_RootConstrainSelectedInstOperands,
8195 /* 20486 */ // GIR_Coverage, 20159,
8196 /* 20486 */ GIR_Done,
8197 /* 20487 */ // Label 680: @20487
8198 /* 20487 */ GIM_Reject,
8199 /* 20488 */ // Label 668: @20488
8200 /* 20488 */ GIM_Reject,
8201 /* 20489 */ // Label 503: @20489
8202 /* 20489 */ GIM_Try, /*On fail goto*//*Label 681*/ GIMT_Encode4(20643),
8203 /* 20494 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
8204 /* 20497 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
8205 /* 20500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8206 /* 20504 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 682*/ GIMT_Encode4(20561), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 25689 //
8207 /* 20511 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8208 /* 20515 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8209 /* 20519 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8210 /* 20522 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8211 /* 20526 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8212 /* 20530 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8213 /* 20534 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8214 /* 20536 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8215 /* 20543 */ // (and:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPANDQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8216 /* 20543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
8217 /* 20546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8218 /* 20548 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8219 /* 20550 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8220 /* 20554 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8221 /* 20559 */ GIR_RootConstrainSelectedInstOperands,
8222 /* 20560 */ // GIR_Coverage, 25689,
8223 /* 20560 */ GIR_EraseRootFromParent_Done,
8224 /* 20561 */ // Label 682: @20561
8225 /* 20561 */ GIM_Try, /*On fail goto*//*Label 683*/ GIMT_Encode4(20642),
8226 /* 20566 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8227 /* 20570 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 684*/ GIMT_Encode4(20623), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20183 //
8228 /* 20577 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8229 /* 20581 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8230 /* 20585 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8231 /* 20588 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8232 /* 20592 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8233 /* 20596 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8234 /* 20598 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8235 /* 20605 */ // (and:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8236 /* 20605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
8237 /* 20608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8238 /* 20610 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8239 /* 20612 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8240 /* 20616 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8241 /* 20621 */ GIR_RootConstrainSelectedInstOperands,
8242 /* 20622 */ // GIR_Coverage, 20183,
8243 /* 20622 */ GIR_EraseRootFromParent_Done,
8244 /* 20623 */ // Label 684: @20623
8245 /* 20623 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 685*/ GIMT_Encode4(20641), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20175 //
8246 /* 20630 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8247 /* 20634 */ // (and:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPANDQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
8248 /* 20634 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
8249 /* 20639 */ GIR_RootConstrainSelectedInstOperands,
8250 /* 20640 */ // GIR_Coverage, 20175,
8251 /* 20640 */ GIR_Done,
8252 /* 20641 */ // Label 685: @20641
8253 /* 20641 */ GIM_Reject,
8254 /* 20642 */ // Label 683: @20642
8255 /* 20642 */ GIM_Reject,
8256 /* 20643 */ // Label 681: @20643
8257 /* 20643 */ GIM_Reject,
8258 /* 20644 */ // Label 504: @20644
8259 /* 20644 */ GIM_Try, /*On fail goto*//*Label 686*/ GIMT_Encode4(20972),
8260 /* 20649 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
8261 /* 20652 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8262 /* 20655 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 687*/ GIMT_Encode4(20716), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24407 //
8263 /* 20662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8264 /* 20666 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8265 /* 20670 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8266 /* 20674 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8267 /* 20677 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8268 /* 20681 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8269 /* 20685 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8270 /* 20689 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8271 /* 20691 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8272 /* 20698 */ // (and:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPANDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8273 /* 20698 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rm),
8274 /* 20701 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8275 /* 20703 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8276 /* 20705 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8277 /* 20709 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8278 /* 20714 */ GIR_RootConstrainSelectedInstOperands,
8279 /* 20715 */ // GIR_Coverage, 24407,
8280 /* 20715 */ GIR_EraseRootFromParent_Done,
8281 /* 20716 */ // Label 687: @20716
8282 /* 20716 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 688*/ GIMT_Encode4(20777), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25497 //
8283 /* 20723 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8284 /* 20727 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8285 /* 20731 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8286 /* 20735 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8287 /* 20738 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8288 /* 20742 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8289 /* 20746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8290 /* 20750 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8291 /* 20752 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8292 /* 20759 */ // (and:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPANDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8293 /* 20759 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8294 /* 20762 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8295 /* 20764 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8296 /* 20766 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8297 /* 20770 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8298 /* 20775 */ GIR_RootConstrainSelectedInstOperands,
8299 /* 20776 */ // GIR_Coverage, 25497,
8300 /* 20776 */ GIR_EraseRootFromParent_Done,
8301 /* 20777 */ // Label 688: @20777
8302 /* 20777 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 689*/ GIMT_Encode4(20838), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5735 //
8303 /* 20784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8304 /* 20788 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8305 /* 20792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8306 /* 20796 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8307 /* 20800 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8308 /* 20803 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8309 /* 20807 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8310 /* 20811 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8311 /* 20813 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8312 /* 20820 */ // (and:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8313 /* 20820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rm),
8314 /* 20823 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8315 /* 20825 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8316 /* 20827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8317 /* 20831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8318 /* 20836 */ GIR_RootConstrainSelectedInstOperands,
8319 /* 20837 */ // GIR_Coverage, 5735,
8320 /* 20837 */ GIR_EraseRootFromParent_Done,
8321 /* 20838 */ // Label 689: @20838
8322 /* 20838 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 690*/ GIMT_Encode4(20899), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18253 //
8323 /* 20845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8324 /* 20849 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8325 /* 20853 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8326 /* 20857 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8327 /* 20861 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8328 /* 20864 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8329 /* 20868 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8330 /* 20872 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8331 /* 20874 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8332 /* 20881 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8333 /* 20881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8334 /* 20884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8335 /* 20886 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8336 /* 20888 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8337 /* 20892 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8338 /* 20897 */ GIR_RootConstrainSelectedInstOperands,
8339 /* 20898 */ // GIR_Coverage, 18253,
8340 /* 20898 */ GIR_EraseRootFromParent_Done,
8341 /* 20899 */ // Label 690: @20899
8342 /* 20899 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 691*/ GIMT_Encode4(20925), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5732 //
8343 /* 20906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8344 /* 20910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8345 /* 20914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8346 /* 20918 */ // (and:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPANDDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
8347 /* 20918 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rr),
8348 /* 20923 */ GIR_RootConstrainSelectedInstOperands,
8349 /* 20924 */ // GIR_Coverage, 5732,
8350 /* 20924 */ GIR_Done,
8351 /* 20925 */ // Label 691: @20925
8352 /* 20925 */ GIM_Try, /*On fail goto*//*Label 692*/ GIMT_Encode4(20971),
8353 /* 20930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8354 /* 20934 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8355 /* 20938 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8356 /* 20942 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 693*/ GIMT_Encode4(20956), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18241 //
8357 /* 20949 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPANDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
8358 /* 20949 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8359 /* 20954 */ GIR_RootConstrainSelectedInstOperands,
8360 /* 20955 */ // GIR_Coverage, 18241,
8361 /* 20955 */ GIR_Done,
8362 /* 20956 */ // Label 693: @20956
8363 /* 20956 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 694*/ GIMT_Encode4(20970), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18265 //
8364 /* 20963 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PANDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
8365 /* 20963 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8366 /* 20968 */ GIR_RootConstrainSelectedInstOperands,
8367 /* 20969 */ // GIR_Coverage, 18265,
8368 /* 20969 */ GIR_Done,
8369 /* 20970 */ // Label 694: @20970
8370 /* 20970 */ GIM_Reject,
8371 /* 20971 */ // Label 692: @20971
8372 /* 20971 */ GIM_Reject,
8373 /* 20972 */ // Label 686: @20972
8374 /* 20972 */ GIM_Reject,
8375 /* 20973 */ // Label 505: @20973
8376 /* 20973 */ GIM_Try, /*On fail goto*//*Label 695*/ GIMT_Encode4(21419),
8377 /* 20978 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
8378 /* 20981 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
8379 /* 20984 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 696*/ GIMT_Encode4(21045), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24401 //
8380 /* 20991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8381 /* 20995 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8382 /* 20999 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8383 /* 21003 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8384 /* 21006 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8385 /* 21010 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8386 /* 21014 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8387 /* 21018 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8388 /* 21020 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8389 /* 21027 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPANDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8390 /* 21027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rm),
8391 /* 21030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8392 /* 21032 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8393 /* 21034 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8394 /* 21038 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8395 /* 21043 */ GIR_RootConstrainSelectedInstOperands,
8396 /* 21044 */ // GIR_Coverage, 24401,
8397 /* 21044 */ GIR_EraseRootFromParent_Done,
8398 /* 21045 */ // Label 696: @21045
8399 /* 21045 */ GIM_Try, /*On fail goto*//*Label 697*/ GIMT_Encode4(21165),
8400 /* 21050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8401 /* 21054 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8402 /* 21058 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 698*/ GIMT_Encode4(21111), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25476 //
8403 /* 21065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8404 /* 21069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8405 /* 21073 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8406 /* 21076 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8407 /* 21080 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8408 /* 21084 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8409 /* 21086 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8410 /* 21093 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPANDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8411 /* 21093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8412 /* 21096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8413 /* 21098 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8414 /* 21100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8415 /* 21104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8416 /* 21109 */ GIR_RootConstrainSelectedInstOperands,
8417 /* 21110 */ // GIR_Coverage, 25476,
8418 /* 21110 */ GIR_EraseRootFromParent_Done,
8419 /* 21111 */ // Label 698: @21111
8420 /* 21111 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 699*/ GIMT_Encode4(21164), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25485 //
8421 /* 21118 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8422 /* 21122 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8423 /* 21126 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8424 /* 21129 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8425 /* 21133 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8426 /* 21137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8427 /* 21139 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8428 /* 21146 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VANDPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8429 /* 21146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8430 /* 21149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8431 /* 21151 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8432 /* 21153 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8433 /* 21157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8434 /* 21162 */ GIR_RootConstrainSelectedInstOperands,
8435 /* 21163 */ // GIR_Coverage, 25485,
8436 /* 21163 */ GIR_EraseRootFromParent_Done,
8437 /* 21164 */ // Label 699: @21164
8438 /* 21164 */ GIM_Reject,
8439 /* 21165 */ // Label 697: @21165
8440 /* 21165 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 700*/ GIMT_Encode4(21226), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5726 //
8441 /* 21172 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8442 /* 21176 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8443 /* 21180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8444 /* 21184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8445 /* 21188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8446 /* 21191 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8447 /* 21195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8448 /* 21199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8449 /* 21201 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8450 /* 21208 */ // (and:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8451 /* 21208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rm),
8452 /* 21211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8453 /* 21213 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8454 /* 21215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8455 /* 21219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8456 /* 21224 */ GIR_RootConstrainSelectedInstOperands,
8457 /* 21225 */ // GIR_Coverage, 5726,
8458 /* 21225 */ GIR_EraseRootFromParent_Done,
8459 /* 21226 */ // Label 700: @21226
8460 /* 21226 */ GIM_Try, /*On fail goto*//*Label 701*/ GIMT_Encode4(21346),
8461 /* 21231 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8462 /* 21235 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8463 /* 21239 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 702*/ GIMT_Encode4(21292), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18197 //
8464 /* 21246 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8465 /* 21250 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8466 /* 21254 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8467 /* 21257 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8468 /* 21261 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8469 /* 21265 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8470 /* 21267 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8471 /* 21274 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8472 /* 21274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8473 /* 21277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8474 /* 21279 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8475 /* 21281 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8476 /* 21285 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8477 /* 21290 */ GIR_RootConstrainSelectedInstOperands,
8478 /* 21291 */ // GIR_Coverage, 18197,
8479 /* 21291 */ GIR_EraseRootFromParent_Done,
8480 /* 21292 */ // Label 702: @21292
8481 /* 21292 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 703*/ GIMT_Encode4(21345), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18225 //
8482 /* 21299 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8483 /* 21303 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8484 /* 21307 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8485 /* 21310 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8486 /* 21314 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8487 /* 21318 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8488 /* 21320 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8489 /* 21327 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8490 /* 21327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8491 /* 21330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8492 /* 21332 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8493 /* 21334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8494 /* 21338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8495 /* 21343 */ GIR_RootConstrainSelectedInstOperands,
8496 /* 21344 */ // GIR_Coverage, 18225,
8497 /* 21344 */ GIR_EraseRootFromParent_Done,
8498 /* 21345 */ // Label 703: @21345
8499 /* 21345 */ GIM_Reject,
8500 /* 21346 */ // Label 701: @21346
8501 /* 21346 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 704*/ GIMT_Encode4(21372), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5723 //
8502 /* 21353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8503 /* 21357 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8504 /* 21361 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8505 /* 21365 */ // (and:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPANDDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
8506 /* 21365 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rr),
8507 /* 21370 */ GIR_RootConstrainSelectedInstOperands,
8508 /* 21371 */ // GIR_Coverage, 5723,
8509 /* 21371 */ GIR_Done,
8510 /* 21372 */ // Label 704: @21372
8511 /* 21372 */ GIM_Try, /*On fail goto*//*Label 705*/ GIMT_Encode4(21418),
8512 /* 21377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8513 /* 21381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8514 /* 21385 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8515 /* 21389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 706*/ GIMT_Encode4(21403), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18185 //
8516 /* 21396 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPANDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
8517 /* 21396 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
8518 /* 21401 */ GIR_RootConstrainSelectedInstOperands,
8519 /* 21402 */ // GIR_Coverage, 18185,
8520 /* 21402 */ GIR_Done,
8521 /* 21403 */ // Label 706: @21403
8522 /* 21403 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 707*/ GIMT_Encode4(21417), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18209 //
8523 /* 21410 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VANDPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
8524 /* 21410 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
8525 /* 21415 */ GIR_RootConstrainSelectedInstOperands,
8526 /* 21416 */ // GIR_Coverage, 18209,
8527 /* 21416 */ GIR_Done,
8528 /* 21417 */ // Label 707: @21417
8529 /* 21417 */ GIM_Reject,
8530 /* 21418 */ // Label 705: @21418
8531 /* 21418 */ GIM_Reject,
8532 /* 21419 */ // Label 695: @21419
8533 /* 21419 */ GIM_Reject,
8534 /* 21420 */ // Label 506: @21420
8535 /* 21420 */ GIM_Try, /*On fail goto*//*Label 708*/ GIMT_Encode4(21574),
8536 /* 21425 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
8537 /* 21428 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
8538 /* 21431 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8539 /* 21435 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 709*/ GIMT_Encode4(21492), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24395 //
8540 /* 21442 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8541 /* 21446 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8542 /* 21450 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8543 /* 21453 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8544 /* 21457 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8545 /* 21461 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8546 /* 21465 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8547 /* 21467 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8548 /* 21474 */ // (and:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPANDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8549 /* 21474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZrm),
8550 /* 21477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8551 /* 21479 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8552 /* 21481 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8553 /* 21485 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8554 /* 21490 */ GIR_RootConstrainSelectedInstOperands,
8555 /* 21491 */ // GIR_Coverage, 24395,
8556 /* 21491 */ GIR_EraseRootFromParent_Done,
8557 /* 21492 */ // Label 709: @21492
8558 /* 21492 */ GIM_Try, /*On fail goto*//*Label 710*/ GIMT_Encode4(21573),
8559 /* 21497 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8560 /* 21501 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 711*/ GIMT_Encode4(21554), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5717 //
8561 /* 21508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8562 /* 21512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8563 /* 21516 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8564 /* 21519 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8565 /* 21523 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8566 /* 21527 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8567 /* 21529 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8568 /* 21536 */ // (and:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8569 /* 21536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZrm),
8570 /* 21539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8571 /* 21541 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8572 /* 21543 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8573 /* 21547 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8574 /* 21552 */ GIR_RootConstrainSelectedInstOperands,
8575 /* 21553 */ // GIR_Coverage, 5717,
8576 /* 21553 */ GIR_EraseRootFromParent_Done,
8577 /* 21554 */ // Label 711: @21554
8578 /* 21554 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 712*/ GIMT_Encode4(21572), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5714 //
8579 /* 21561 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8580 /* 21565 */ // (and:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPANDDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
8581 /* 21565 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZrr),
8582 /* 21570 */ GIR_RootConstrainSelectedInstOperands,
8583 /* 21571 */ // GIR_Coverage, 5714,
8584 /* 21571 */ GIR_Done,
8585 /* 21572 */ // Label 712: @21572
8586 /* 21572 */ GIM_Reject,
8587 /* 21573 */ // Label 710: @21573
8588 /* 21573 */ GIM_Reject,
8589 /* 21574 */ // Label 708: @21574
8590 /* 21574 */ GIM_Reject,
8591 /* 21575 */ // Label 507: @21575
8592 /* 21575 */ GIM_Try, /*On fail goto*//*Label 713*/ GIMT_Encode4(21903),
8593 /* 21580 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
8594 /* 21583 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8595 /* 21586 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 714*/ GIMT_Encode4(21647), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23600 //
8596 /* 21593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8597 /* 21597 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8598 /* 21601 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8599 /* 21605 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8600 /* 21608 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8601 /* 21612 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8602 /* 21616 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8603 /* 21620 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8604 /* 21622 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8605 /* 21629 */ // (and:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPANDrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8606 /* 21629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8607 /* 21632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8608 /* 21634 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8609 /* 21636 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8610 /* 21640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8611 /* 21645 */ GIR_RootConstrainSelectedInstOperands,
8612 /* 21646 */ // GIR_Coverage, 23600,
8613 /* 21646 */ GIR_EraseRootFromParent_Done,
8614 /* 21647 */ // Label 714: @21647
8615 /* 21647 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 715*/ GIMT_Encode4(21708), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24389 //
8616 /* 21654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8617 /* 21658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8618 /* 21662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8619 /* 21666 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8620 /* 21669 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8621 /* 21673 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8622 /* 21677 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8623 /* 21681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8624 /* 21683 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8625 /* 21690 */ // (and:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPANDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8626 /* 21690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8627 /* 21693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8628 /* 21695 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8629 /* 21697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8630 /* 21701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8631 /* 21706 */ GIR_RootConstrainSelectedInstOperands,
8632 /* 21707 */ // GIR_Coverage, 24389,
8633 /* 21707 */ GIR_EraseRootFromParent_Done,
8634 /* 21708 */ // Label 715: @21708
8635 /* 21708 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 716*/ GIMT_Encode4(21769), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2092 //
8636 /* 21715 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8637 /* 21719 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8638 /* 21723 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8639 /* 21727 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8640 /* 21731 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8641 /* 21734 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8642 /* 21738 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8643 /* 21742 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8644 /* 21744 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8645 /* 21751 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8646 /* 21751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8647 /* 21754 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8648 /* 21756 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8649 /* 21758 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8650 /* 21762 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8651 /* 21767 */ GIR_RootConstrainSelectedInstOperands,
8652 /* 21768 */ // GIR_Coverage, 2092,
8653 /* 21768 */ GIR_EraseRootFromParent_Done,
8654 /* 21769 */ // Label 716: @21769
8655 /* 21769 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 717*/ GIMT_Encode4(21830), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5708 //
8656 /* 21776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8657 /* 21780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8658 /* 21784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8659 /* 21788 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8660 /* 21792 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8661 /* 21795 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8662 /* 21799 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8663 /* 21803 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8664 /* 21805 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8665 /* 21812 */ // (and:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8666 /* 21812 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8667 /* 21815 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8668 /* 21817 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8669 /* 21819 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8670 /* 21823 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8671 /* 21828 */ GIR_RootConstrainSelectedInstOperands,
8672 /* 21829 */ // GIR_Coverage, 5708,
8673 /* 21829 */ GIR_EraseRootFromParent_Done,
8674 /* 21830 */ // Label 717: @21830
8675 /* 21830 */ GIM_Try, /*On fail goto*//*Label 718*/ GIMT_Encode4(21876),
8676 /* 21835 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8677 /* 21839 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8678 /* 21843 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8679 /* 21847 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 719*/ GIMT_Encode4(21861), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2091 //
8680 /* 21854 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPANDrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
8681 /* 21854 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8682 /* 21859 */ GIR_RootConstrainSelectedInstOperands,
8683 /* 21860 */ // GIR_Coverage, 2091,
8684 /* 21860 */ GIR_Done,
8685 /* 21861 */ // Label 719: @21861
8686 /* 21861 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 720*/ GIMT_Encode4(21875), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2093 //
8687 /* 21868 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PANDrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
8688 /* 21868 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8689 /* 21873 */ GIR_RootConstrainSelectedInstOperands,
8690 /* 21874 */ // GIR_Coverage, 2093,
8691 /* 21874 */ GIR_Done,
8692 /* 21875 */ // Label 720: @21875
8693 /* 21875 */ GIM_Reject,
8694 /* 21876 */ // Label 718: @21876
8695 /* 21876 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 721*/ GIMT_Encode4(21902), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5705 //
8696 /* 21883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8697 /* 21887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8698 /* 21891 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8699 /* 21895 */ // (and:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPANDQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
8700 /* 21895 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
8701 /* 21900 */ GIR_RootConstrainSelectedInstOperands,
8702 /* 21901 */ // GIR_Coverage, 5705,
8703 /* 21901 */ GIR_Done,
8704 /* 21902 */ // Label 721: @21902
8705 /* 21902 */ GIM_Reject,
8706 /* 21903 */ // Label 713: @21903
8707 /* 21903 */ GIM_Reject,
8708 /* 21904 */ // Label 508: @21904
8709 /* 21904 */ GIM_Try, /*On fail goto*//*Label 722*/ GIMT_Encode4(22360),
8710 /* 21909 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
8711 /* 21912 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
8712 /* 21915 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 723*/ GIMT_Encode4(21976), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23602 //
8713 /* 21922 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8714 /* 21926 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8715 /* 21930 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8716 /* 21934 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8717 /* 21937 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8718 /* 21941 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8719 /* 21945 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8720 /* 21949 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8721 /* 21951 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8722 /* 21958 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPANDYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8723 /* 21958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8724 /* 21961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8725 /* 21963 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8726 /* 21965 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8727 /* 21969 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8728 /* 21974 */ GIR_RootConstrainSelectedInstOperands,
8729 /* 21975 */ // GIR_Coverage, 23602,
8730 /* 21975 */ GIR_EraseRootFromParent_Done,
8731 /* 21976 */ // Label 723: @21976
8732 /* 21976 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 724*/ GIMT_Encode4(22037), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24383 //
8733 /* 21983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8734 /* 21987 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8735 /* 21991 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8736 /* 21995 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8737 /* 21998 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8738 /* 22002 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8739 /* 22006 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8740 /* 22010 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8741 /* 22012 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8742 /* 22019 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPANDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8743 /* 22019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8744 /* 22022 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8745 /* 22024 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8746 /* 22026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8747 /* 22030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8748 /* 22035 */ GIR_RootConstrainSelectedInstOperands,
8749 /* 22036 */ // GIR_Coverage, 24383,
8750 /* 22036 */ GIR_EraseRootFromParent_Done,
8751 /* 22037 */ // Label 724: @22037
8752 /* 22037 */ GIM_Try, /*On fail goto*//*Label 725*/ GIMT_Encode4(22161),
8753 /* 22042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8754 /* 22046 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 726*/ GIMT_Encode4(22103), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25486 //
8755 /* 22053 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8756 /* 22057 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8757 /* 22061 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8758 /* 22064 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8759 /* 22068 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8760 /* 22072 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8761 /* 22076 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8762 /* 22078 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8763 /* 22085 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VANDPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8764 /* 22085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8765 /* 22088 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8766 /* 22090 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8767 /* 22092 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8768 /* 22096 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8769 /* 22101 */ GIR_RootConstrainSelectedInstOperands,
8770 /* 22102 */ // GIR_Coverage, 25486,
8771 /* 22102 */ GIR_EraseRootFromParent_Done,
8772 /* 22103 */ // Label 726: @22103
8773 /* 22103 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 727*/ GIMT_Encode4(22160), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2096 //
8774 /* 22110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8775 /* 22114 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8776 /* 22118 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8777 /* 22122 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8778 /* 22125 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8779 /* 22129 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8780 /* 22133 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8781 /* 22135 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8782 /* 22142 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8783 /* 22142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8784 /* 22145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8785 /* 22147 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8786 /* 22149 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8787 /* 22153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8788 /* 22158 */ GIR_RootConstrainSelectedInstOperands,
8789 /* 22159 */ // GIR_Coverage, 2096,
8790 /* 22159 */ GIR_EraseRootFromParent_Done,
8791 /* 22160 */ // Label 727: @22160
8792 /* 22160 */ GIM_Reject,
8793 /* 22161 */ // Label 725: @22161
8794 /* 22161 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 728*/ GIMT_Encode4(22222), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5699 //
8795 /* 22168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8796 /* 22172 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8797 /* 22176 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8798 /* 22180 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8799 /* 22184 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8800 /* 22187 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8801 /* 22191 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8802 /* 22195 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8803 /* 22197 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8804 /* 22204 */ // (and:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8805 /* 22204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8806 /* 22207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8807 /* 22209 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8808 /* 22211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8809 /* 22215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8810 /* 22220 */ GIR_RootConstrainSelectedInstOperands,
8811 /* 22221 */ // GIR_Coverage, 5699,
8812 /* 22221 */ GIR_EraseRootFromParent_Done,
8813 /* 22222 */ // Label 728: @22222
8814 /* 22222 */ GIM_Try, /*On fail goto*//*Label 729*/ GIMT_Encode4(22307),
8815 /* 22227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8816 /* 22231 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8817 /* 22235 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 730*/ GIMT_Encode4(22288), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18226 //
8818 /* 22242 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8819 /* 22246 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8820 /* 22250 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8821 /* 22253 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8822 /* 22257 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8823 /* 22261 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8824 /* 22263 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8825 /* 22270 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8826 /* 22270 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8827 /* 22273 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8828 /* 22275 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8829 /* 22277 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8830 /* 22281 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8831 /* 22286 */ GIR_RootConstrainSelectedInstOperands,
8832 /* 22287 */ // GIR_Coverage, 18226,
8833 /* 22287 */ GIR_EraseRootFromParent_Done,
8834 /* 22288 */ // Label 730: @22288
8835 /* 22288 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 731*/ GIMT_Encode4(22306), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2095 //
8836 /* 22295 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8837 /* 22299 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPANDYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
8838 /* 22299 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
8839 /* 22304 */ GIR_RootConstrainSelectedInstOperands,
8840 /* 22305 */ // GIR_Coverage, 2095,
8841 /* 22305 */ GIR_Done,
8842 /* 22306 */ // Label 731: @22306
8843 /* 22306 */ GIM_Reject,
8844 /* 22307 */ // Label 729: @22307
8845 /* 22307 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 732*/ GIMT_Encode4(22333), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5696 //
8846 /* 22314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8847 /* 22318 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8848 /* 22322 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8849 /* 22326 */ // (and:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPANDQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
8850 /* 22326 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
8851 /* 22331 */ GIR_RootConstrainSelectedInstOperands,
8852 /* 22332 */ // GIR_Coverage, 5696,
8853 /* 22332 */ GIR_Done,
8854 /* 22333 */ // Label 732: @22333
8855 /* 22333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 733*/ GIMT_Encode4(22359), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18210 //
8856 /* 22340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8857 /* 22344 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8858 /* 22348 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8859 /* 22352 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VANDPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
8860 /* 22352 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
8861 /* 22357 */ GIR_RootConstrainSelectedInstOperands,
8862 /* 22358 */ // GIR_Coverage, 18210,
8863 /* 22358 */ GIR_Done,
8864 /* 22359 */ // Label 733: @22359
8865 /* 22359 */ GIM_Reject,
8866 /* 22360 */ // Label 722: @22360
8867 /* 22360 */ GIM_Reject,
8868 /* 22361 */ // Label 509: @22361
8869 /* 22361 */ GIM_Try, /*On fail goto*//*Label 734*/ GIMT_Encode4(22515),
8870 /* 22366 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
8871 /* 22369 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
8872 /* 22372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8873 /* 22376 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 735*/ GIMT_Encode4(22433), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24377 //
8874 /* 22383 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8875 /* 22387 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8876 /* 22391 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8877 /* 22394 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8878 /* 22398 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8879 /* 22402 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8880 /* 22406 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8881 /* 22408 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8882 /* 22415 */ // (and:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPANDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8883 /* 22415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
8884 /* 22418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8885 /* 22420 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8886 /* 22422 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8887 /* 22426 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8888 /* 22431 */ GIR_RootConstrainSelectedInstOperands,
8889 /* 22432 */ // GIR_Coverage, 24377,
8890 /* 22432 */ GIR_EraseRootFromParent_Done,
8891 /* 22433 */ // Label 735: @22433
8892 /* 22433 */ GIM_Try, /*On fail goto*//*Label 736*/ GIMT_Encode4(22514),
8893 /* 22438 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8894 /* 22442 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 737*/ GIMT_Encode4(22495), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5690 //
8895 /* 22449 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8896 /* 22453 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8897 /* 22457 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8898 /* 22460 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8899 /* 22464 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8900 /* 22468 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8901 /* 22470 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8902 /* 22477 */ // (and:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8903 /* 22477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
8904 /* 22480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8905 /* 22482 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8906 /* 22484 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8907 /* 22488 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8908 /* 22493 */ GIR_RootConstrainSelectedInstOperands,
8909 /* 22494 */ // GIR_Coverage, 5690,
8910 /* 22494 */ GIR_EraseRootFromParent_Done,
8911 /* 22495 */ // Label 737: @22495
8912 /* 22495 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 738*/ GIMT_Encode4(22513), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5687 //
8913 /* 22502 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8914 /* 22506 */ // (and:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPANDQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
8915 /* 22506 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
8916 /* 22511 */ GIR_RootConstrainSelectedInstOperands,
8917 /* 22512 */ // GIR_Coverage, 5687,
8918 /* 22512 */ GIR_Done,
8919 /* 22513 */ // Label 738: @22513
8920 /* 22513 */ GIM_Reject,
8921 /* 22514 */ // Label 736: @22514
8922 /* 22514 */ GIM_Reject,
8923 /* 22515 */ // Label 734: @22515
8924 /* 22515 */ GIM_Reject,
8925 /* 22516 */ // Label 510: @22516
8926 /* 22516 */ GIM_Reject,
8927 /* 22517 */ // Label 4: @22517
8928 /* 22517 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 762*/ GIMT_Encode4(30657),
8929 /* 22528 */ /*GILLT_s1*//*Label 739*/ GIMT_Encode4(22628),
8930 /* 22532 */ /*GILLT_s8*//*Label 740*/ GIMT_Encode4(22728),
8931 /* 22536 */ /*GILLT_s16*//*Label 741*/ GIMT_Encode4(23137),
8932 /* 22540 */ /*GILLT_s32*//*Label 742*/ GIMT_Encode4(23750),
8933 /* 22544 */ /*GILLT_s64*//*Label 743*/ GIMT_Encode4(25120), GIMT_Encode4(0), GIMT_Encode4(0),
8934 /* 22556 */ /*GILLT_v2s1*//*Label 744*/ GIMT_Encode4(26502),
8935 /* 22560 */ /*GILLT_v4s1*//*Label 745*/ GIMT_Encode4(26602),
8936 /* 22564 */ /*GILLT_v8s1*//*Label 746*/ GIMT_Encode4(26702),
8937 /* 22568 */ /*GILLT_v16s1*//*Label 747*/ GIMT_Encode4(26824),
8938 /* 22572 */ /*GILLT_v32s1*//*Label 748*/ GIMT_Encode4(26857),
8939 /* 22576 */ /*GILLT_v64s1*//*Label 749*/ GIMT_Encode4(26890),
8940 /* 22580 */ /*GILLT_v16s8*//*Label 750*/ GIMT_Encode4(26923),
8941 /* 22584 */ /*GILLT_v32s8*//*Label 751*/ GIMT_Encode4(27252),
8942 /* 22588 */ /*GILLT_v64s8*//*Label 752*/ GIMT_Encode4(27699),
8943 /* 22592 */ /*GILLT_v8s16*//*Label 753*/ GIMT_Encode4(27854),
8944 /* 22596 */ /*GILLT_v16s16*//*Label 754*/ GIMT_Encode4(28183),
8945 /* 22600 */ /*GILLT_v32s16*//*Label 755*/ GIMT_Encode4(28630),
8946 /* 22604 */ /*GILLT_v4s32*//*Label 756*/ GIMT_Encode4(28785),
8947 /* 22608 */ /*GILLT_v8s32*//*Label 757*/ GIMT_Encode4(29114),
8948 /* 22612 */ /*GILLT_v16s32*//*Label 758*/ GIMT_Encode4(29561),
8949 /* 22616 */ /*GILLT_v2s64*//*Label 759*/ GIMT_Encode4(29716),
8950 /* 22620 */ /*GILLT_v4s64*//*Label 760*/ GIMT_Encode4(30045),
8951 /* 22624 */ /*GILLT_v8s64*//*Label 761*/ GIMT_Encode4(30502),
8952 /* 22628 */ // Label 739: @22628
8953 /* 22628 */ GIM_Try, /*On fail goto*//*Label 763*/ GIMT_Encode4(22727), // Rule ID 19592 //
8954 /* 22633 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
8955 /* 22636 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
8956 /* 22639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
8957 /* 22643 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
8958 /* 22647 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
8959 /* 22651 */ // (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] })
8960 /* 22651 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8961 /* 22654 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8962 /* 22658 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8963 /* 22663 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
8964 /* 22667 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8965 /* 22672 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8966 /* 22675 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8967 /* 22679 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8968 /* 22684 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
8969 /* 22688 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8970 /* 22693 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8971 /* 22696 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
8972 /* 22700 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8973 /* 22705 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8974 /* 22708 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8975 /* 22711 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8976 /* 22713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8977 /* 22716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8978 /* 22718 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8979 /* 22721 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
8980 /* 22726 */ // GIR_Coverage, 19592,
8981 /* 22726 */ GIR_EraseRootFromParent_Done,
8982 /* 22727 */ // Label 763: @22727
8983 /* 22727 */ GIM_Reject,
8984 /* 22728 */ // Label 740: @22728
8985 /* 22728 */ GIM_Try, /*On fail goto*//*Label 764*/ GIMT_Encode4(23136),
8986 /* 22733 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
8987 /* 22736 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
8988 /* 22739 */ GIM_Try, /*On fail goto*//*Label 765*/ GIMT_Encode4(22869),
8989 /* 22744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
8990 /* 22748 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 766*/ GIMT_Encode4(22808), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26309 //
8991 /* 22755 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8992 /* 22759 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8993 /* 22763 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8994 /* 22766 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8995 /* 22770 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
8996 /* 22774 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
8997 /* 22778 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8998 /* 22780 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8999 /* 22787 */ // (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)
9000 /* 22787 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8rm),
9001 /* 22790 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9002 /* 22792 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9003 /* 22794 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9004 /* 22798 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9005 /* 22801 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9006 /* 22806 */ GIR_RootConstrainSelectedInstOperands,
9007 /* 22807 */ // GIR_Coverage, 26309,
9008 /* 22807 */ GIR_EraseRootFromParent_Done,
9009 /* 22808 */ // Label 766: @22808
9010 /* 22808 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 767*/ GIMT_Encode4(22868), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23065 //
9011 /* 22815 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9012 /* 22819 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9013 /* 22823 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9014 /* 22827 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9015 /* 22830 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9016 /* 22834 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
9017 /* 22838 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9018 /* 22840 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9019 /* 22847 */ // (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)
9020 /* 22847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8rm),
9021 /* 22850 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9022 /* 22852 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9023 /* 22854 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9024 /* 22858 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9025 /* 22861 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9026 /* 22866 */ GIR_RootConstrainSelectedInstOperands,
9027 /* 22867 */ // GIR_Coverage, 23065,
9028 /* 22867 */ GIR_EraseRootFromParent_Done,
9029 /* 22868 */ // Label 767: @22868
9030 /* 22868 */ GIM_Reject,
9031 /* 22869 */ // Label 765: @22869
9032 /* 22869 */ GIM_Try, /*On fail goto*//*Label 768*/ GIMT_Encode4(22965),
9033 /* 22874 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9034 /* 22878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9035 /* 22882 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9036 /* 22886 */ GIM_Try, /*On fail goto*//*Label 769*/ GIMT_Encode4(22934),
9037 /* 22891 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
9038 /* 22895 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 770*/ GIMT_Encode4(22914), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23100 //
9039 /* 22902 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] })<<P:Predicate_or_disjoint>> => (INC8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
9040 /* 22902 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r),
9041 /* 22905 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9042 /* 22907 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9043 /* 22909 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9044 /* 22912 */ GIR_RootConstrainSelectedInstOperands,
9045 /* 22913 */ // GIR_Coverage, 23100,
9046 /* 22913 */ GIR_EraseRootFromParent_Done,
9047 /* 22914 */ // Label 770: @22914
9048 /* 22914 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 771*/ GIMT_Encode4(22933), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23190 //
9049 /* 22921 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] })<<P:Predicate_or_disjoint>> => (INC8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
9050 /* 22921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r_ND),
9051 /* 22924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9052 /* 22926 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9053 /* 22928 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9054 /* 22931 */ GIR_RootConstrainSelectedInstOperands,
9055 /* 22932 */ // GIR_Coverage, 23190,
9056 /* 22932 */ GIR_EraseRootFromParent_Done,
9057 /* 22933 */ // Label 771: @22933
9058 /* 22933 */ GIM_Reject,
9059 /* 22934 */ // Label 769: @22934
9060 /* 22934 */ GIM_Try, /*On fail goto*//*Label 772*/ GIMT_Encode4(22964), // Rule ID 17345 //
9061 /* 22939 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9062 /* 22943 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9063 /* 22947 */ // MIs[1] Operand 1
9064 /* 22947 */ // No operand predicates
9065 /* 22947 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9066 /* 22949 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)<<P:Predicate_or_disjoint>> => (ADD8ri_DB:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
9067 /* 22949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri_DB),
9068 /* 22952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9069 /* 22954 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9070 /* 22956 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9071 /* 22959 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9072 /* 22962 */ GIR_RootConstrainSelectedInstOperands,
9073 /* 22963 */ // GIR_Coverage, 17345,
9074 /* 22963 */ GIR_EraseRootFromParent_Done,
9075 /* 22964 */ // Label 772: @22964
9076 /* 22964 */ GIM_Reject,
9077 /* 22965 */ // Label 768: @22965
9078 /* 22965 */ GIM_Try, /*On fail goto*//*Label 773*/ GIMT_Encode4(23043),
9079 /* 22970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9080 /* 22974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9081 /* 22978 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 774*/ GIMT_Encode4(23010), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23069 //
9082 /* 22985 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9083 /* 22989 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9084 /* 22993 */ // MIs[1] Operand 1
9085 /* 22993 */ // No operand predicates
9086 /* 22993 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9087 /* 22995 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (OR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
9088 /* 22995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8ri),
9089 /* 22998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9090 /* 23000 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9091 /* 23002 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9092 /* 23005 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9093 /* 23008 */ GIR_RootConstrainSelectedInstOperands,
9094 /* 23009 */ // GIR_Coverage, 23069,
9095 /* 23009 */ GIR_EraseRootFromParent_Done,
9096 /* 23010 */ // Label 774: @23010
9097 /* 23010 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 775*/ GIMT_Encode4(23042), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23159 //
9098 /* 23017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9099 /* 23021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9100 /* 23025 */ // MIs[1] Operand 1
9101 /* 23025 */ // No operand predicates
9102 /* 23025 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9103 /* 23027 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (OR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
9104 /* 23027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8ri_ND),
9105 /* 23030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9106 /* 23032 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9107 /* 23034 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9108 /* 23037 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9109 /* 23040 */ GIR_RootConstrainSelectedInstOperands,
9110 /* 23041 */ // GIR_Coverage, 23159,
9111 /* 23041 */ GIR_EraseRootFromParent_Done,
9112 /* 23042 */ // Label 775: @23042
9113 /* 23042 */ GIM_Reject,
9114 /* 23043 */ // Label 773: @23043
9115 /* 23043 */ GIM_Try, /*On fail goto*//*Label 776*/ GIMT_Encode4(23077), // Rule ID 17341 //
9116 /* 23048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9117 /* 23052 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9118 /* 23056 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9119 /* 23060 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9120 /* 23064 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)<<P:Predicate_or_disjoint>> => (ADD8rr_DB:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
9121 /* 23064 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD8rr_DB),
9122 /* 23069 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9123 /* 23075 */ GIR_RootConstrainSelectedInstOperands,
9124 /* 23076 */ // GIR_Coverage, 17341,
9125 /* 23076 */ GIR_Done,
9126 /* 23077 */ // Label 776: @23077
9127 /* 23077 */ GIM_Try, /*On fail goto*//*Label 777*/ GIMT_Encode4(23135),
9128 /* 23082 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9129 /* 23086 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9130 /* 23090 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9131 /* 23094 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 778*/ GIMT_Encode4(23114), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23061 //
9132 /* 23101 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (OR8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
9133 /* 23101 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR8rr),
9134 /* 23106 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9135 /* 23112 */ GIR_RootConstrainSelectedInstOperands,
9136 /* 23113 */ // GIR_Coverage, 23061,
9137 /* 23113 */ GIR_Done,
9138 /* 23114 */ // Label 778: @23114
9139 /* 23114 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 779*/ GIMT_Encode4(23134), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23151 //
9140 /* 23121 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (OR8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
9141 /* 23121 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR8rr_ND),
9142 /* 23126 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9143 /* 23132 */ GIR_RootConstrainSelectedInstOperands,
9144 /* 23133 */ // GIR_Coverage, 23151,
9145 /* 23133 */ GIR_Done,
9146 /* 23134 */ // Label 779: @23134
9147 /* 23134 */ GIM_Reject,
9148 /* 23135 */ // Label 777: @23135
9149 /* 23135 */ GIM_Reject,
9150 /* 23136 */ // Label 764: @23136
9151 /* 23136 */ GIM_Reject,
9152 /* 23137 */ // Label 741: @23137
9153 /* 23137 */ GIM_Try, /*On fail goto*//*Label 780*/ GIMT_Encode4(23749),
9154 /* 23142 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
9155 /* 23145 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
9156 /* 23148 */ GIM_Try, /*On fail goto*//*Label 781*/ GIMT_Encode4(23482),
9157 /* 23153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9158 /* 23157 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 782*/ GIMT_Encode4(23217), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26310 //
9159 /* 23164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9160 /* 23168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9161 /* 23172 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9162 /* 23175 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9163 /* 23179 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
9164 /* 23183 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9165 /* 23187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9166 /* 23189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9167 /* 23196 */ // (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)
9168 /* 23196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16rm),
9169 /* 23199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9170 /* 23201 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9171 /* 23203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9172 /* 23207 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9173 /* 23210 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9174 /* 23215 */ GIR_RootConstrainSelectedInstOperands,
9175 /* 23216 */ // GIR_Coverage, 26310,
9176 /* 23216 */ GIR_EraseRootFromParent_Done,
9177 /* 23217 */ // Label 782: @23217
9178 /* 23217 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 783*/ GIMT_Encode4(23277), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23066 //
9179 /* 23224 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9180 /* 23228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9181 /* 23232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9182 /* 23236 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9183 /* 23239 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9184 /* 23243 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
9185 /* 23247 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9186 /* 23249 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9187 /* 23256 */ // (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)
9188 /* 23256 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16rm),
9189 /* 23259 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9190 /* 23261 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9191 /* 23263 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9192 /* 23267 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9193 /* 23270 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9194 /* 23275 */ GIR_RootConstrainSelectedInstOperands,
9195 /* 23276 */ // GIR_Coverage, 23066,
9196 /* 23276 */ GIR_EraseRootFromParent_Done,
9197 /* 23277 */ // Label 783: @23277
9198 /* 23277 */ GIM_Try, /*On fail goto*//*Label 784*/ GIMT_Encode4(23379), // Rule ID 26285 //
9199 /* 23282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9200 /* 23286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
9201 /* 23290 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
9202 /* 23294 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
9203 /* 23298 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
9204 /* 23302 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9205 /* 23307 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9206 /* 23311 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9207 /* 23313 */ // (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] }))
9208 /* 23313 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
9209 /* 23316 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
9210 /* 23320 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9211 /* 23325 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
9212 /* 23327 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
9213 /* 23330 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
9214 /* 23334 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9215 /* 23339 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9216 /* 23342 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
9217 /* 23346 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
9218 /* 23349 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
9219 /* 23354 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
9220 /* 23359 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
9221 /* 23364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS16rr),
9222 /* 23367 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9223 /* 23369 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9224 /* 23371 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9225 /* 23374 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9226 /* 23377 */ GIR_RootConstrainSelectedInstOperands,
9227 /* 23378 */ // GIR_Coverage, 26285,
9228 /* 23378 */ GIR_EraseRootFromParent_Done,
9229 /* 23379 */ // Label 784: @23379
9230 /* 23379 */ GIM_Try, /*On fail goto*//*Label 785*/ GIMT_Encode4(23481), // Rule ID 23006 //
9231 /* 23384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9232 /* 23388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9233 /* 23392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
9234 /* 23396 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
9235 /* 23400 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
9236 /* 23404 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
9237 /* 23408 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9238 /* 23413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9239 /* 23415 */ // (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] }))
9240 /* 23415 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
9241 /* 23418 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
9242 /* 23422 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9243 /* 23427 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
9244 /* 23429 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
9245 /* 23432 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
9246 /* 23436 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9247 /* 23441 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9248 /* 23444 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
9249 /* 23448 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
9250 /* 23451 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
9251 /* 23456 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
9252 /* 23461 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
9253 /* 23466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS16rr),
9254 /* 23469 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9255 /* 23471 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9256 /* 23473 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9257 /* 23476 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9258 /* 23479 */ GIR_RootConstrainSelectedInstOperands,
9259 /* 23480 */ // GIR_Coverage, 23006,
9260 /* 23480 */ GIR_EraseRootFromParent_Done,
9261 /* 23481 */ // Label 785: @23481
9262 /* 23481 */ GIM_Reject,
9263 /* 23482 */ // Label 781: @23482
9264 /* 23482 */ GIM_Try, /*On fail goto*//*Label 786*/ GIMT_Encode4(23578),
9265 /* 23487 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9266 /* 23491 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9267 /* 23495 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9268 /* 23499 */ GIM_Try, /*On fail goto*//*Label 787*/ GIMT_Encode4(23547),
9269 /* 23504 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
9270 /* 23508 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 788*/ GIMT_Encode4(23527), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23102 //
9271 /* 23515 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] })<<P:Predicate_or_disjoint>> => (INC16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
9272 /* 23515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r),
9273 /* 23518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9274 /* 23520 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9275 /* 23522 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9276 /* 23525 */ GIR_RootConstrainSelectedInstOperands,
9277 /* 23526 */ // GIR_Coverage, 23102,
9278 /* 23526 */ GIR_EraseRootFromParent_Done,
9279 /* 23527 */ // Label 788: @23527
9280 /* 23527 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 789*/ GIMT_Encode4(23546), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23192 //
9281 /* 23534 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] })<<P:Predicate_or_disjoint>> => (INC16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
9282 /* 23534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r_ND),
9283 /* 23537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9284 /* 23539 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9285 /* 23541 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9286 /* 23544 */ GIR_RootConstrainSelectedInstOperands,
9287 /* 23545 */ // GIR_Coverage, 23192,
9288 /* 23545 */ GIR_EraseRootFromParent_Done,
9289 /* 23546 */ // Label 789: @23546
9290 /* 23546 */ GIM_Reject,
9291 /* 23547 */ // Label 787: @23547
9292 /* 23547 */ GIM_Try, /*On fail goto*//*Label 790*/ GIMT_Encode4(23577), // Rule ID 17346 //
9293 /* 23552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9294 /* 23556 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9295 /* 23560 */ // MIs[1] Operand 1
9296 /* 23560 */ // No operand predicates
9297 /* 23560 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9298 /* 23562 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)<<P:Predicate_or_disjoint>> => (ADD16ri_DB:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
9299 /* 23562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri_DB),
9300 /* 23565 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9301 /* 23567 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9302 /* 23569 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9303 /* 23572 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9304 /* 23575 */ GIR_RootConstrainSelectedInstOperands,
9305 /* 23576 */ // GIR_Coverage, 17346,
9306 /* 23576 */ GIR_EraseRootFromParent_Done,
9307 /* 23577 */ // Label 790: @23577
9308 /* 23577 */ GIM_Reject,
9309 /* 23578 */ // Label 786: @23578
9310 /* 23578 */ GIM_Try, /*On fail goto*//*Label 791*/ GIMT_Encode4(23656),
9311 /* 23583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9312 /* 23587 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9313 /* 23591 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 792*/ GIMT_Encode4(23623), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23070 //
9314 /* 23598 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9315 /* 23602 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9316 /* 23606 */ // MIs[1] Operand 1
9317 /* 23606 */ // No operand predicates
9318 /* 23606 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9319 /* 23608 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (OR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
9320 /* 23608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16ri),
9321 /* 23611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9322 /* 23613 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9323 /* 23615 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9324 /* 23618 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9325 /* 23621 */ GIR_RootConstrainSelectedInstOperands,
9326 /* 23622 */ // GIR_Coverage, 23070,
9327 /* 23622 */ GIR_EraseRootFromParent_Done,
9328 /* 23623 */ // Label 792: @23623
9329 /* 23623 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 793*/ GIMT_Encode4(23655), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23160 //
9330 /* 23630 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9331 /* 23634 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9332 /* 23638 */ // MIs[1] Operand 1
9333 /* 23638 */ // No operand predicates
9334 /* 23638 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9335 /* 23640 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (OR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
9336 /* 23640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16ri_ND),
9337 /* 23643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9338 /* 23645 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9339 /* 23647 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9340 /* 23650 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9341 /* 23653 */ GIR_RootConstrainSelectedInstOperands,
9342 /* 23654 */ // GIR_Coverage, 23160,
9343 /* 23654 */ GIR_EraseRootFromParent_Done,
9344 /* 23655 */ // Label 793: @23655
9345 /* 23655 */ GIM_Reject,
9346 /* 23656 */ // Label 791: @23656
9347 /* 23656 */ GIM_Try, /*On fail goto*//*Label 794*/ GIMT_Encode4(23690), // Rule ID 17342 //
9348 /* 23661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9349 /* 23665 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9350 /* 23669 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9351 /* 23673 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9352 /* 23677 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)<<P:Predicate_or_disjoint>> => (ADD16rr_DB:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
9353 /* 23677 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD16rr_DB),
9354 /* 23682 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9355 /* 23688 */ GIR_RootConstrainSelectedInstOperands,
9356 /* 23689 */ // GIR_Coverage, 17342,
9357 /* 23689 */ GIR_Done,
9358 /* 23690 */ // Label 794: @23690
9359 /* 23690 */ GIM_Try, /*On fail goto*//*Label 795*/ GIMT_Encode4(23748),
9360 /* 23695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9361 /* 23699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9362 /* 23703 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9363 /* 23707 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 796*/ GIMT_Encode4(23727), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23062 //
9364 /* 23714 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (OR16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
9365 /* 23714 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR16rr),
9366 /* 23719 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9367 /* 23725 */ GIR_RootConstrainSelectedInstOperands,
9368 /* 23726 */ // GIR_Coverage, 23062,
9369 /* 23726 */ GIR_Done,
9370 /* 23727 */ // Label 796: @23727
9371 /* 23727 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 797*/ GIMT_Encode4(23747), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23152 //
9372 /* 23734 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (OR16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
9373 /* 23734 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR16rr_ND),
9374 /* 23739 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9375 /* 23745 */ GIR_RootConstrainSelectedInstOperands,
9376 /* 23746 */ // GIR_Coverage, 23152,
9377 /* 23746 */ GIR_Done,
9378 /* 23747 */ // Label 797: @23747
9379 /* 23747 */ GIM_Reject,
9380 /* 23748 */ // Label 795: @23748
9381 /* 23748 */ GIM_Reject,
9382 /* 23749 */ // Label 780: @23749
9383 /* 23749 */ GIM_Reject,
9384 /* 23750 */ // Label 742: @23750
9385 /* 23750 */ GIM_Try, /*On fail goto*//*Label 798*/ GIMT_Encode4(25119),
9386 /* 23755 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
9387 /* 23758 */ GIM_Try, /*On fail goto*//*Label 799*/ GIMT_Encode4(24029),
9388 /* 23763 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9389 /* 23766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9390 /* 23770 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 800*/ GIMT_Encode4(23830), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26311 //
9391 /* 23777 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9392 /* 23781 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9393 /* 23785 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9394 /* 23788 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9395 /* 23792 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
9396 /* 23796 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9397 /* 23800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9398 /* 23802 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9399 /* 23809 */ // (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)
9400 /* 23809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32rm),
9401 /* 23812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9402 /* 23814 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9403 /* 23816 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9404 /* 23820 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9405 /* 23823 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9406 /* 23828 */ GIR_RootConstrainSelectedInstOperands,
9407 /* 23829 */ // GIR_Coverage, 26311,
9408 /* 23829 */ GIR_EraseRootFromParent_Done,
9409 /* 23830 */ // Label 800: @23830
9410 /* 23830 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 801*/ GIMT_Encode4(23890), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23067 //
9411 /* 23837 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9412 /* 23841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9413 /* 23845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9414 /* 23849 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9415 /* 23852 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9416 /* 23856 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
9417 /* 23860 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9418 /* 23862 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9419 /* 23869 */ // (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)
9420 /* 23869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32rm),
9421 /* 23872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9422 /* 23874 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9423 /* 23876 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9424 /* 23880 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9425 /* 23883 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9426 /* 23888 */ GIR_RootConstrainSelectedInstOperands,
9427 /* 23889 */ // GIR_Coverage, 23067,
9428 /* 23889 */ GIR_EraseRootFromParent_Done,
9429 /* 23890 */ // Label 801: @23890
9430 /* 23890 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 802*/ GIMT_Encode4(23959), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25247 //
9431 /* 23897 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9432 /* 23901 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9433 /* 23905 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9434 /* 23909 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9435 /* 23913 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9436 /* 23918 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9437 /* 23922 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9438 /* 23926 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
9439 /* 23930 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9440 /* 23934 */ // MIs[2] src
9441 /* 23934 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9442 /* 23939 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
9443 /* 23943 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9444 /* 23945 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9445 /* 23945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC32rr),
9446 /* 23948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9447 /* 23950 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9448 /* 23954 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9449 /* 23957 */ GIR_RootConstrainSelectedInstOperands,
9450 /* 23958 */ // GIR_Coverage, 25247,
9451 /* 23958 */ GIR_EraseRootFromParent_Done,
9452 /* 23959 */ // Label 802: @23959
9453 /* 23959 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 803*/ GIMT_Encode4(24028), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25249 //
9454 /* 23966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9455 /* 23970 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9456 /* 23974 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9457 /* 23978 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9458 /* 23982 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9459 /* 23987 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
9460 /* 23991 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9461 /* 23995 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
9462 /* 23999 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9463 /* 24003 */ // MIs[2] src
9464 /* 24003 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9465 /* 24008 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
9466 /* 24012 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9467 /* 24014 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (T1MSKC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9468 /* 24014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC32rr),
9469 /* 24017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9470 /* 24019 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9471 /* 24023 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9472 /* 24026 */ GIR_RootConstrainSelectedInstOperands,
9473 /* 24027 */ // GIR_Coverage, 25249,
9474 /* 24027 */ GIR_EraseRootFromParent_Done,
9475 /* 24028 */ // Label 803: @24028
9476 /* 24028 */ GIM_Reject,
9477 /* 24029 */ // Label 799: @24029
9478 /* 24029 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 804*/ GIMT_Encode4(24106), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25233 //
9479 /* 24036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9480 /* 24040 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9481 /* 24044 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9482 /* 24048 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9483 /* 24052 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9484 /* 24056 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
9485 /* 24060 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9486 /* 24064 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
9487 /* 24068 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9488 /* 24072 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9489 /* 24077 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
9490 /* 24081 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9491 /* 24085 */ // MIs[0] src
9492 /* 24085 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/1,
9493 /* 24090 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9494 /* 24092 */ // (or:{ *:[i32] } (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), -1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9495 /* 24092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
9496 /* 24095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9497 /* 24097 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src
9498 /* 24101 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9499 /* 24104 */ GIR_RootConstrainSelectedInstOperands,
9500 /* 24105 */ // GIR_Coverage, 25233,
9501 /* 24105 */ GIR_EraseRootFromParent_Done,
9502 /* 24106 */ // Label 804: @24106
9503 /* 24106 */ GIM_Try, /*On fail goto*//*Label 805*/ GIMT_Encode4(24323),
9504 /* 24111 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9505 /* 24114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9506 /* 24118 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 806*/ GIMT_Encode4(24187), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17407 //
9507 /* 24125 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9508 /* 24129 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9509 /* 24133 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9510 /* 24137 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9511 /* 24141 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9512 /* 24146 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9513 /* 24150 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9514 /* 24154 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9515 /* 24158 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9516 /* 24162 */ // MIs[2] src
9517 /* 24162 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9518 /* 24167 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
9519 /* 24171 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9520 /* 24173 */ // (or:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9521 /* 24173 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC32rr),
9522 /* 24176 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9523 /* 24178 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9524 /* 24182 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9525 /* 24185 */ GIR_RootConstrainSelectedInstOperands,
9526 /* 24186 */ // GIR_Coverage, 17407,
9527 /* 24186 */ GIR_EraseRootFromParent_Done,
9528 /* 24187 */ // Label 806: @24187
9529 /* 24187 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 807*/ GIMT_Encode4(24256), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17409 //
9530 /* 24194 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9531 /* 24198 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9532 /* 24202 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9533 /* 24206 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9534 /* 24210 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9535 /* 24215 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9536 /* 24219 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9537 /* 24223 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9538 /* 24227 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9539 /* 24231 */ // MIs[2] src
9540 /* 24231 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9541 /* 24236 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
9542 /* 24240 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9543 /* 24242 */ // (or:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (T1MSKC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9544 /* 24242 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC32rr),
9545 /* 24245 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9546 /* 24247 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9547 /* 24251 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9548 /* 24254 */ GIR_RootConstrainSelectedInstOperands,
9549 /* 24255 */ // GIR_Coverage, 17409,
9550 /* 24255 */ GIR_EraseRootFromParent_Done,
9551 /* 24256 */ // Label 807: @24256
9552 /* 24256 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 808*/ GIMT_Encode4(24322), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17393 //
9553 /* 24263 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9554 /* 24267 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9555 /* 24271 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9556 /* 24275 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9557 /* 24279 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9558 /* 24283 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
9559 /* 24287 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9560 /* 24291 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9561 /* 24295 */ // MIs[2] src
9562 /* 24295 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
9563 /* 24300 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
9564 /* 24304 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9565 /* 24308 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9566 /* 24310 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), -1:{ *:[i32] })) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9567 /* 24310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
9568 /* 24313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9569 /* 24315 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9570 /* 24317 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9571 /* 24320 */ GIR_RootConstrainSelectedInstOperands,
9572 /* 24321 */ // GIR_Coverage, 17393,
9573 /* 24321 */ GIR_EraseRootFromParent_Done,
9574 /* 24322 */ // Label 808: @24322
9575 /* 24322 */ GIM_Reject,
9576 /* 24323 */ // Label 805: @24323
9577 /* 24323 */ GIM_Try, /*On fail goto*//*Label 809*/ GIMT_Encode4(24439),
9578 /* 24328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9579 /* 24332 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 810*/ GIMT_Encode4(24385), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25241 //
9580 /* 24339 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9581 /* 24343 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9582 /* 24347 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9583 /* 24351 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9584 /* 24355 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9585 /* 24360 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
9586 /* 24364 */ // MIs[0] src
9587 /* 24364 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
9588 /* 24369 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9589 /* 24371 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCS32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9590 /* 24371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS32rr),
9591 /* 24374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9592 /* 24376 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9593 /* 24380 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9594 /* 24383 */ GIR_RootConstrainSelectedInstOperands,
9595 /* 24384 */ // GIR_Coverage, 25241,
9596 /* 24384 */ GIR_EraseRootFromParent_Done,
9597 /* 24385 */ // Label 810: @24385
9598 /* 24385 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 811*/ GIMT_Encode4(24438), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25243 //
9599 /* 24392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9600 /* 24396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9601 /* 24400 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9602 /* 24404 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9603 /* 24408 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9604 /* 24413 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9605 /* 24417 */ // MIs[0] src
9606 /* 24417 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
9607 /* 24422 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9608 /* 24424 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLSFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9609 /* 24424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL32rr),
9610 /* 24427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9611 /* 24429 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9612 /* 24433 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9613 /* 24436 */ GIR_RootConstrainSelectedInstOperands,
9614 /* 24437 */ // GIR_Coverage, 25243,
9615 /* 24437 */ GIR_EraseRootFromParent_Done,
9616 /* 24438 */ // Label 811: @24438
9617 /* 24438 */ GIM_Reject,
9618 /* 24439 */ // Label 809: @24439
9619 /* 24439 */ GIM_Try, /*On fail goto*//*Label 812*/ GIMT_Encode4(24548), // Rule ID 26291 //
9620 /* 24444 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9621 /* 24447 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9622 /* 24451 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9623 /* 24455 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
9624 /* 24459 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9625 /* 24463 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
9626 /* 24467 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
9627 /* 24471 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9628 /* 24476 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9629 /* 24480 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9630 /* 24482 */ // (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] }))
9631 /* 24482 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
9632 /* 24485 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
9633 /* 24489 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9634 /* 24494 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
9635 /* 24496 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
9636 /* 24499 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
9637 /* 24503 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9638 /* 24508 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9639 /* 24511 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
9640 /* 24515 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
9641 /* 24518 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
9642 /* 24523 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
9643 /* 24528 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
9644 /* 24533 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS32rr),
9645 /* 24536 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9646 /* 24538 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9647 /* 24540 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9648 /* 24543 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9649 /* 24546 */ GIR_RootConstrainSelectedInstOperands,
9650 /* 24547 */ // GIR_Coverage, 26291,
9651 /* 24547 */ GIR_EraseRootFromParent_Done,
9652 /* 24548 */ // Label 812: @24548
9653 /* 24548 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 813*/ GIMT_Encode4(24605), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25235 //
9654 /* 24555 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9655 /* 24559 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9656 /* 24563 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
9657 /* 24567 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9658 /* 24571 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9659 /* 24575 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
9660 /* 24579 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9661 /* 24584 */ // MIs[0] src
9662 /* 24584 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/2,
9663 /* 24589 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9664 /* 24591 */ // (or:{ *:[i32] } (sub:{ *:[i32] } -2:{ *:[i32] }, GR32:{ *:[i32] }:$src), GR32:{ *:[i32] }:$src) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9665 /* 24591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
9666 /* 24594 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9667 /* 24596 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
9668 /* 24600 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9669 /* 24603 */ GIR_RootConstrainSelectedInstOperands,
9670 /* 24604 */ // GIR_Coverage, 25235,
9671 /* 24604 */ GIR_EraseRootFromParent_Done,
9672 /* 24605 */ // Label 813: @24605
9673 /* 24605 */ GIM_Try, /*On fail goto*//*Label 814*/ GIMT_Encode4(25118),
9674 /* 24610 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9675 /* 24613 */ GIM_Try, /*On fail goto*//*Label 815*/ GIMT_Encode4(24851),
9676 /* 24618 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9677 /* 24622 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9678 /* 24626 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 816*/ GIMT_Encode4(24668), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17401 //
9679 /* 24633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9680 /* 24637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9681 /* 24641 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9682 /* 24645 */ // MIs[1] src
9683 /* 24645 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
9684 /* 24650 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
9685 /* 24654 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9686 /* 24656 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCS32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9687 /* 24656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS32rr),
9688 /* 24659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9689 /* 24661 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9690 /* 24663 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9691 /* 24666 */ GIR_RootConstrainSelectedInstOperands,
9692 /* 24667 */ // GIR_Coverage, 17401,
9693 /* 24667 */ GIR_EraseRootFromParent_Done,
9694 /* 24668 */ // Label 816: @24668
9695 /* 24668 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 817*/ GIMT_Encode4(24710), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17403 //
9696 /* 24675 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9697 /* 24679 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9698 /* 24683 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9699 /* 24687 */ // MIs[1] src
9700 /* 24687 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
9701 /* 24692 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9702 /* 24696 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9703 /* 24698 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9704 /* 24698 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL32rr),
9705 /* 24701 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9706 /* 24703 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9707 /* 24705 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9708 /* 24708 */ GIR_RootConstrainSelectedInstOperands,
9709 /* 24709 */ // GIR_Coverage, 17403,
9710 /* 24709 */ GIR_EraseRootFromParent_Done,
9711 /* 24710 */ // Label 817: @24710
9712 /* 24710 */ GIM_Try, /*On fail goto*//*Label 818*/ GIMT_Encode4(24808), // Rule ID 23012 //
9713 /* 24715 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9714 /* 24719 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
9715 /* 24723 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9716 /* 24727 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
9717 /* 24731 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
9718 /* 24735 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9719 /* 24740 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9720 /* 24742 */ // (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] }))
9721 /* 24742 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
9722 /* 24745 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
9723 /* 24749 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9724 /* 24754 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
9725 /* 24756 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
9726 /* 24759 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
9727 /* 24763 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9728 /* 24768 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9729 /* 24771 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
9730 /* 24775 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
9731 /* 24778 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
9732 /* 24783 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
9733 /* 24788 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
9734 /* 24793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS32rr),
9735 /* 24796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9736 /* 24798 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9737 /* 24800 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9738 /* 24803 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9739 /* 24806 */ GIR_RootConstrainSelectedInstOperands,
9740 /* 24807 */ // GIR_Coverage, 23012,
9741 /* 24807 */ GIR_EraseRootFromParent_Done,
9742 /* 24808 */ // Label 818: @24808
9743 /* 24808 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 819*/ GIMT_Encode4(24850), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17395 //
9744 /* 24815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9745 /* 24819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
9746 /* 24823 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9747 /* 24827 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
9748 /* 24831 */ // MIs[1] src
9749 /* 24831 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
9750 /* 24836 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9751 /* 24838 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (sub:{ *:[i32] } -2:{ *:[i32] }, GR32:{ *:[i32] }:$src)) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9752 /* 24838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
9753 /* 24841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9754 /* 24843 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9755 /* 24845 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9756 /* 24848 */ GIR_RootConstrainSelectedInstOperands,
9757 /* 24849 */ // GIR_Coverage, 17395,
9758 /* 24849 */ GIR_EraseRootFromParent_Done,
9759 /* 24850 */ // Label 819: @24850
9760 /* 24850 */ GIM_Reject,
9761 /* 24851 */ // Label 815: @24851
9762 /* 24851 */ GIM_Try, /*On fail goto*//*Label 820*/ GIMT_Encode4(24947),
9763 /* 24856 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9764 /* 24860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9765 /* 24864 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9766 /* 24868 */ GIM_Try, /*On fail goto*//*Label 821*/ GIMT_Encode4(24916),
9767 /* 24873 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
9768 /* 24877 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 822*/ GIMT_Encode4(24896), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23104 //
9769 /* 24884 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })<<P:Predicate_or_disjoint>> => (INC32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9770 /* 24884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r),
9771 /* 24887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9772 /* 24889 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9773 /* 24891 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9774 /* 24894 */ GIR_RootConstrainSelectedInstOperands,
9775 /* 24895 */ // GIR_Coverage, 23104,
9776 /* 24895 */ GIR_EraseRootFromParent_Done,
9777 /* 24896 */ // Label 822: @24896
9778 /* 24896 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 823*/ GIMT_Encode4(24915), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23194 //
9779 /* 24903 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })<<P:Predicate_or_disjoint>> => (INC32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9780 /* 24903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r_ND),
9781 /* 24906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9782 /* 24908 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9783 /* 24910 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9784 /* 24913 */ GIR_RootConstrainSelectedInstOperands,
9785 /* 24914 */ // GIR_Coverage, 23194,
9786 /* 24914 */ GIR_EraseRootFromParent_Done,
9787 /* 24915 */ // Label 823: @24915
9788 /* 24915 */ GIM_Reject,
9789 /* 24916 */ // Label 821: @24916
9790 /* 24916 */ GIM_Try, /*On fail goto*//*Label 824*/ GIMT_Encode4(24946), // Rule ID 17347 //
9791 /* 24921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9792 /* 24925 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9793 /* 24929 */ // MIs[1] Operand 1
9794 /* 24929 */ // No operand predicates
9795 /* 24929 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9796 /* 24931 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)<<P:Predicate_or_disjoint>> => (ADD32ri_DB:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
9797 /* 24931 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri_DB),
9798 /* 24934 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9799 /* 24936 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9800 /* 24938 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9801 /* 24941 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9802 /* 24944 */ GIR_RootConstrainSelectedInstOperands,
9803 /* 24945 */ // GIR_Coverage, 17347,
9804 /* 24945 */ GIR_EraseRootFromParent_Done,
9805 /* 24946 */ // Label 824: @24946
9806 /* 24946 */ GIM_Reject,
9807 /* 24947 */ // Label 820: @24947
9808 /* 24947 */ GIM_Try, /*On fail goto*//*Label 825*/ GIMT_Encode4(25025),
9809 /* 24952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9810 /* 24956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9811 /* 24960 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 826*/ GIMT_Encode4(24992), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23071 //
9812 /* 24967 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9813 /* 24971 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9814 /* 24975 */ // MIs[1] Operand 1
9815 /* 24975 */ // No operand predicates
9816 /* 24975 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9817 /* 24977 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (OR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
9818 /* 24977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32ri),
9819 /* 24980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9820 /* 24982 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9821 /* 24984 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9822 /* 24987 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9823 /* 24990 */ GIR_RootConstrainSelectedInstOperands,
9824 /* 24991 */ // GIR_Coverage, 23071,
9825 /* 24991 */ GIR_EraseRootFromParent_Done,
9826 /* 24992 */ // Label 826: @24992
9827 /* 24992 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 827*/ GIMT_Encode4(25024), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23161 //
9828 /* 24999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9829 /* 25003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9830 /* 25007 */ // MIs[1] Operand 1
9831 /* 25007 */ // No operand predicates
9832 /* 25007 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9833 /* 25009 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (OR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
9834 /* 25009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32ri_ND),
9835 /* 25012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9836 /* 25014 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9837 /* 25016 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9838 /* 25019 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9839 /* 25022 */ GIR_RootConstrainSelectedInstOperands,
9840 /* 25023 */ // GIR_Coverage, 23161,
9841 /* 25023 */ GIR_EraseRootFromParent_Done,
9842 /* 25024 */ // Label 827: @25024
9843 /* 25024 */ GIM_Reject,
9844 /* 25025 */ // Label 825: @25025
9845 /* 25025 */ GIM_Try, /*On fail goto*//*Label 828*/ GIMT_Encode4(25059), // Rule ID 17343 //
9846 /* 25030 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9847 /* 25034 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9848 /* 25038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9849 /* 25042 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9850 /* 25046 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)<<P:Predicate_or_disjoint>> => (ADD32rr_DB:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
9851 /* 25046 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD32rr_DB),
9852 /* 25051 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9853 /* 25057 */ GIR_RootConstrainSelectedInstOperands,
9854 /* 25058 */ // GIR_Coverage, 17343,
9855 /* 25058 */ GIR_Done,
9856 /* 25059 */ // Label 828: @25059
9857 /* 25059 */ GIM_Try, /*On fail goto*//*Label 829*/ GIMT_Encode4(25117),
9858 /* 25064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9859 /* 25068 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9860 /* 25072 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9861 /* 25076 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 830*/ GIMT_Encode4(25096), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23063 //
9862 /* 25083 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (OR32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
9863 /* 25083 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR32rr),
9864 /* 25088 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9865 /* 25094 */ GIR_RootConstrainSelectedInstOperands,
9866 /* 25095 */ // GIR_Coverage, 23063,
9867 /* 25095 */ GIR_Done,
9868 /* 25096 */ // Label 830: @25096
9869 /* 25096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 831*/ GIMT_Encode4(25116), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23153 //
9870 /* 25103 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (OR32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
9871 /* 25103 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR32rr_ND),
9872 /* 25108 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9873 /* 25114 */ GIR_RootConstrainSelectedInstOperands,
9874 /* 25115 */ // GIR_Coverage, 23153,
9875 /* 25115 */ GIR_Done,
9876 /* 25116 */ // Label 831: @25116
9877 /* 25116 */ GIM_Reject,
9878 /* 25117 */ // Label 829: @25117
9879 /* 25117 */ GIM_Reject,
9880 /* 25118 */ // Label 814: @25118
9881 /* 25118 */ GIM_Reject,
9882 /* 25119 */ // Label 798: @25119
9883 /* 25119 */ GIM_Reject,
9884 /* 25120 */ // Label 743: @25120
9885 /* 25120 */ GIM_Try, /*On fail goto*//*Label 832*/ GIMT_Encode4(26501),
9886 /* 25125 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
9887 /* 25128 */ GIM_Try, /*On fail goto*//*Label 833*/ GIMT_Encode4(25399),
9888 /* 25133 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
9889 /* 25136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
9890 /* 25140 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 834*/ GIMT_Encode4(25200), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26312 //
9891 /* 25147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9892 /* 25151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9893 /* 25155 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9894 /* 25158 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9895 /* 25162 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9896 /* 25166 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
9897 /* 25170 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9898 /* 25172 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9899 /* 25179 */ // (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)
9900 /* 25179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64rm),
9901 /* 25182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9902 /* 25184 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9903 /* 25186 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9904 /* 25190 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9905 /* 25193 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9906 /* 25198 */ GIR_RootConstrainSelectedInstOperands,
9907 /* 25199 */ // GIR_Coverage, 26312,
9908 /* 25199 */ GIR_EraseRootFromParent_Done,
9909 /* 25200 */ // Label 834: @25200
9910 /* 25200 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 835*/ GIMT_Encode4(25260), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23068 //
9911 /* 25207 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
9912 /* 25211 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9913 /* 25215 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9914 /* 25219 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9915 /* 25222 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9916 /* 25226 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9917 /* 25230 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9918 /* 25232 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9919 /* 25239 */ // (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)
9920 /* 25239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64rm),
9921 /* 25242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9922 /* 25244 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9923 /* 25246 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9924 /* 25250 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9925 /* 25253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9926 /* 25258 */ GIR_RootConstrainSelectedInstOperands,
9927 /* 25259 */ // GIR_Coverage, 23068,
9928 /* 25259 */ GIR_EraseRootFromParent_Done,
9929 /* 25260 */ // Label 835: @25260
9930 /* 25260 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 836*/ GIMT_Encode4(25329), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25248 //
9931 /* 25267 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9932 /* 25271 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9933 /* 25275 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
9934 /* 25279 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
9935 /* 25283 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
9936 /* 25288 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9937 /* 25292 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9938 /* 25296 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
9939 /* 25300 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
9940 /* 25304 */ // MIs[2] src
9941 /* 25304 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9942 /* 25309 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
9943 /* 25313 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9944 /* 25315 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
9945 /* 25315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC64rr),
9946 /* 25318 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9947 /* 25320 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9948 /* 25324 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9949 /* 25327 */ GIR_RootConstrainSelectedInstOperands,
9950 /* 25328 */ // GIR_Coverage, 25248,
9951 /* 25328 */ GIR_EraseRootFromParent_Done,
9952 /* 25329 */ // Label 836: @25329
9953 /* 25329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 837*/ GIMT_Encode4(25398), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25250 //
9954 /* 25336 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9955 /* 25340 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9956 /* 25344 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
9957 /* 25348 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
9958 /* 25352 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
9959 /* 25357 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
9960 /* 25361 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9961 /* 25365 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
9962 /* 25369 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
9963 /* 25373 */ // MIs[2] src
9964 /* 25373 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9965 /* 25378 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
9966 /* 25382 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9967 /* 25384 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (T1MSKC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
9968 /* 25384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC64rr),
9969 /* 25387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9970 /* 25389 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9971 /* 25393 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9972 /* 25396 */ GIR_RootConstrainSelectedInstOperands,
9973 /* 25397 */ // GIR_Coverage, 25250,
9974 /* 25397 */ GIR_EraseRootFromParent_Done,
9975 /* 25398 */ // Label 837: @25398
9976 /* 25398 */ GIM_Reject,
9977 /* 25399 */ // Label 833: @25399
9978 /* 25399 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 838*/ GIMT_Encode4(25476), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25234 //
9979 /* 25406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
9980 /* 25410 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9981 /* 25414 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9982 /* 25418 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
9983 /* 25422 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
9984 /* 25426 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
9985 /* 25430 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9986 /* 25434 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
9987 /* 25438 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
9988 /* 25442 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
9989 /* 25447 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
9990 /* 25451 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9991 /* 25455 */ // MIs[0] src
9992 /* 25455 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/1,
9993 /* 25460 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9994 /* 25462 */ // (or:{ *:[i64] } (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), -1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
9995 /* 25462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
9996 /* 25465 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9997 /* 25467 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src
9998 /* 25471 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9999 /* 25474 */ GIR_RootConstrainSelectedInstOperands,
10000 /* 25475 */ // GIR_Coverage, 25234,
10001 /* 25475 */ GIR_EraseRootFromParent_Done,
10002 /* 25476 */ // Label 838: @25476
10003 /* 25476 */ GIM_Try, /*On fail goto*//*Label 839*/ GIMT_Encode4(25693),
10004 /* 25481 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10005 /* 25484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10006 /* 25488 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 840*/ GIMT_Encode4(25557), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17408 //
10007 /* 25495 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10008 /* 25499 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10009 /* 25503 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10010 /* 25507 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10011 /* 25511 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10012 /* 25516 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10013 /* 25520 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10014 /* 25524 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10015 /* 25528 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10016 /* 25532 */ // MIs[2] src
10017 /* 25532 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10018 /* 25537 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
10019 /* 25541 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10020 /* 25543 */ // (or:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10021 /* 25543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC64rr),
10022 /* 25546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10023 /* 25548 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10024 /* 25552 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10025 /* 25555 */ GIR_RootConstrainSelectedInstOperands,
10026 /* 25556 */ // GIR_Coverage, 17408,
10027 /* 25556 */ GIR_EraseRootFromParent_Done,
10028 /* 25557 */ // Label 840: @25557
10029 /* 25557 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 841*/ GIMT_Encode4(25626), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17410 //
10030 /* 25564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10031 /* 25568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10032 /* 25572 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10033 /* 25576 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10034 /* 25580 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10035 /* 25585 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10036 /* 25589 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10037 /* 25593 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10038 /* 25597 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10039 /* 25601 */ // MIs[2] src
10040 /* 25601 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10041 /* 25606 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10042 /* 25610 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10043 /* 25612 */ // (or:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (T1MSKC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10044 /* 25612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC64rr),
10045 /* 25615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10046 /* 25617 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10047 /* 25621 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10048 /* 25624 */ GIR_RootConstrainSelectedInstOperands,
10049 /* 25625 */ // GIR_Coverage, 17410,
10050 /* 25625 */ GIR_EraseRootFromParent_Done,
10051 /* 25626 */ // Label 841: @25626
10052 /* 25626 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 842*/ GIMT_Encode4(25692), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17394 //
10053 /* 25633 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10054 /* 25637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10055 /* 25641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10056 /* 25645 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10057 /* 25649 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10058 /* 25653 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
10059 /* 25657 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10060 /* 25661 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10061 /* 25665 */ // MIs[2] src
10062 /* 25665 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10063 /* 25670 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10064 /* 25674 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10065 /* 25678 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10066 /* 25680 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), -1:{ *:[i64] })) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10067 /* 25680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
10068 /* 25683 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10069 /* 25685 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10070 /* 25687 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10071 /* 25690 */ GIR_RootConstrainSelectedInstOperands,
10072 /* 25691 */ // GIR_Coverage, 17394,
10073 /* 25691 */ GIR_EraseRootFromParent_Done,
10074 /* 25692 */ // Label 842: @25692
10075 /* 25692 */ GIM_Reject,
10076 /* 25693 */ // Label 839: @25693
10077 /* 25693 */ GIM_Try, /*On fail goto*//*Label 843*/ GIMT_Encode4(25809),
10078 /* 25698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10079 /* 25702 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 844*/ GIMT_Encode4(25755), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25242 //
10080 /* 25709 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10081 /* 25713 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10082 /* 25717 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10083 /* 25721 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10084 /* 25725 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10085 /* 25730 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10086 /* 25734 */ // MIs[0] src
10087 /* 25734 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
10088 /* 25739 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10089 /* 25741 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCS64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10090 /* 25741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS64rr),
10091 /* 25744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10092 /* 25746 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10093 /* 25750 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10094 /* 25753 */ GIR_RootConstrainSelectedInstOperands,
10095 /* 25754 */ // GIR_Coverage, 25242,
10096 /* 25754 */ GIR_EraseRootFromParent_Done,
10097 /* 25755 */ // Label 844: @25755
10098 /* 25755 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 845*/ GIMT_Encode4(25808), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25244 //
10099 /* 25762 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10100 /* 25766 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10101 /* 25770 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10102 /* 25774 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10103 /* 25778 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10104 /* 25783 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10105 /* 25787 */ // MIs[0] src
10106 /* 25787 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
10107 /* 25792 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10108 /* 25794 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLSFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10109 /* 25794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL64rr),
10110 /* 25797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10111 /* 25799 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10112 /* 25803 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10113 /* 25806 */ GIR_RootConstrainSelectedInstOperands,
10114 /* 25807 */ // GIR_Coverage, 25244,
10115 /* 25807 */ GIR_EraseRootFromParent_Done,
10116 /* 25808 */ // Label 845: @25808
10117 /* 25808 */ GIM_Reject,
10118 /* 25809 */ // Label 843: @25809
10119 /* 25809 */ GIM_Try, /*On fail goto*//*Label 846*/ GIMT_Encode4(25918), // Rule ID 26297 //
10120 /* 25814 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10121 /* 25817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10122 /* 25821 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10123 /* 25825 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10124 /* 25829 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10125 /* 25833 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10126 /* 25837 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10127 /* 25841 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10128 /* 25846 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10129 /* 25850 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10130 /* 25852 */ // (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] }))
10131 /* 25852 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
10132 /* 25855 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10133 /* 25859 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10134 /* 25864 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10135 /* 25866 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
10136 /* 25869 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10137 /* 25873 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10138 /* 25878 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10139 /* 25881 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10140 /* 25885 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10141 /* 25888 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
10142 /* 25893 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
10143 /* 25898 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10144 /* 25903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS64rr),
10145 /* 25906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10146 /* 25908 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10147 /* 25910 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10148 /* 25913 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10149 /* 25916 */ GIR_RootConstrainSelectedInstOperands,
10150 /* 25917 */ // GIR_Coverage, 26297,
10151 /* 25917 */ GIR_EraseRootFromParent_Done,
10152 /* 25918 */ // Label 846: @25918
10153 /* 25918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 847*/ GIMT_Encode4(25975), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25236 //
10154 /* 25925 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10155 /* 25929 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10156 /* 25933 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
10157 /* 25937 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10158 /* 25941 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10159 /* 25945 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
10160 /* 25949 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10161 /* 25954 */ // MIs[0] src
10162 /* 25954 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/2,
10163 /* 25959 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10164 /* 25961 */ // (or:{ *:[i64] } (sub:{ *:[i64] } -2:{ *:[i64] }, GR64:{ *:[i64] }:$src), GR64:{ *:[i64] }:$src) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10165 /* 25961 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
10166 /* 25964 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10167 /* 25966 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
10168 /* 25970 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10169 /* 25973 */ GIR_RootConstrainSelectedInstOperands,
10170 /* 25974 */ // GIR_Coverage, 25236,
10171 /* 25974 */ GIR_EraseRootFromParent_Done,
10172 /* 25975 */ // Label 847: @25975
10173 /* 25975 */ GIM_Try, /*On fail goto*//*Label 848*/ GIMT_Encode4(26500),
10174 /* 25980 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10175 /* 25983 */ GIM_Try, /*On fail goto*//*Label 849*/ GIMT_Encode4(26221),
10176 /* 25988 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10177 /* 25992 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10178 /* 25996 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 850*/ GIMT_Encode4(26038), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17402 //
10179 /* 26003 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10180 /* 26007 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10181 /* 26011 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10182 /* 26015 */ // MIs[1] src
10183 /* 26015 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10184 /* 26020 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10185 /* 26024 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10186 /* 26026 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCS64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10187 /* 26026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS64rr),
10188 /* 26029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10189 /* 26031 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10190 /* 26033 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10191 /* 26036 */ GIR_RootConstrainSelectedInstOperands,
10192 /* 26037 */ // GIR_Coverage, 17402,
10193 /* 26037 */ GIR_EraseRootFromParent_Done,
10194 /* 26038 */ // Label 850: @26038
10195 /* 26038 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 851*/ GIMT_Encode4(26080), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17404 //
10196 /* 26045 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10197 /* 26049 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10198 /* 26053 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10199 /* 26057 */ // MIs[1] src
10200 /* 26057 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10201 /* 26062 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10202 /* 26066 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10203 /* 26068 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10204 /* 26068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL64rr),
10205 /* 26071 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10206 /* 26073 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10207 /* 26075 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10208 /* 26078 */ GIR_RootConstrainSelectedInstOperands,
10209 /* 26079 */ // GIR_Coverage, 17404,
10210 /* 26079 */ GIR_EraseRootFromParent_Done,
10211 /* 26080 */ // Label 851: @26080
10212 /* 26080 */ GIM_Try, /*On fail goto*//*Label 852*/ GIMT_Encode4(26178), // Rule ID 23018 //
10213 /* 26085 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10214 /* 26089 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10215 /* 26093 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10216 /* 26097 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10217 /* 26101 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10218 /* 26105 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10219 /* 26110 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10220 /* 26112 */ // (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] }))
10221 /* 26112 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
10222 /* 26115 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10223 /* 26119 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10224 /* 26124 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10225 /* 26126 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
10226 /* 26129 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10227 /* 26133 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10228 /* 26138 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10229 /* 26141 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10230 /* 26145 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10231 /* 26148 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
10232 /* 26153 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
10233 /* 26158 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10234 /* 26163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS64rr),
10235 /* 26166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10236 /* 26168 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10237 /* 26170 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10238 /* 26173 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10239 /* 26176 */ GIR_RootConstrainSelectedInstOperands,
10240 /* 26177 */ // GIR_Coverage, 23018,
10241 /* 26177 */ GIR_EraseRootFromParent_Done,
10242 /* 26178 */ // Label 852: @26178
10243 /* 26178 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 853*/ GIMT_Encode4(26220), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17396 //
10244 /* 26185 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10245 /* 26189 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
10246 /* 26193 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10247 /* 26197 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
10248 /* 26201 */ // MIs[1] src
10249 /* 26201 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
10250 /* 26206 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10251 /* 26208 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (sub:{ *:[i64] } -2:{ *:[i64] }, GR64:{ *:[i64] }:$src)) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10252 /* 26208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
10253 /* 26211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10254 /* 26213 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10255 /* 26215 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10256 /* 26218 */ GIR_RootConstrainSelectedInstOperands,
10257 /* 26219 */ // GIR_Coverage, 17396,
10258 /* 26219 */ GIR_EraseRootFromParent_Done,
10259 /* 26220 */ // Label 853: @26220
10260 /* 26220 */ GIM_Reject,
10261 /* 26221 */ // Label 849: @26221
10262 /* 26221 */ GIM_Try, /*On fail goto*//*Label 854*/ GIMT_Encode4(26321),
10263 /* 26226 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
10264 /* 26230 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10265 /* 26234 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10266 /* 26238 */ GIM_Try, /*On fail goto*//*Label 855*/ GIMT_Encode4(26286),
10267 /* 26243 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
10268 /* 26247 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 856*/ GIMT_Encode4(26266), GIMT_Encode2(GIFBS_NoNDD_UseIncDec), // Rule ID 23106 //
10269 /* 26254 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })<<P:Predicate_or_disjoint>> => (INC64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10270 /* 26254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r),
10271 /* 26257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10272 /* 26259 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10273 /* 26261 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10274 /* 26264 */ GIR_RootConstrainSelectedInstOperands,
10275 /* 26265 */ // GIR_Coverage, 23106,
10276 /* 26265 */ GIR_EraseRootFromParent_Done,
10277 /* 26266 */ // Label 856: @26266
10278 /* 26266 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 857*/ GIMT_Encode4(26285), GIMT_Encode2(GIFBS_HasNDD_UseIncDec), // Rule ID 23196 //
10279 /* 26273 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })<<P:Predicate_or_disjoint>> => (INC64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10280 /* 26273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r_ND),
10281 /* 26276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10282 /* 26278 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10283 /* 26280 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10284 /* 26283 */ GIR_RootConstrainSelectedInstOperands,
10285 /* 26284 */ // GIR_Coverage, 23196,
10286 /* 26284 */ GIR_EraseRootFromParent_Done,
10287 /* 26285 */ // Label 857: @26285
10288 /* 26285 */ GIM_Reject,
10289 /* 26286 */ // Label 855: @26286
10290 /* 26286 */ GIM_Try, /*On fail goto*//*Label 858*/ GIMT_Encode4(26320), // Rule ID 17348 //
10291 /* 26291 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10292 /* 26295 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10293 /* 26299 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
10294 /* 26303 */ // MIs[1] Operand 1
10295 /* 26303 */ // No operand predicates
10296 /* 26303 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10297 /* 26305 */ // (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)
10298 /* 26305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64ri32_DB),
10299 /* 26308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10300 /* 26310 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10301 /* 26312 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10302 /* 26315 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10303 /* 26318 */ GIR_RootConstrainSelectedInstOperands,
10304 /* 26319 */ // GIR_Coverage, 17348,
10305 /* 26319 */ GIR_EraseRootFromParent_Done,
10306 /* 26320 */ // Label 858: @26320
10307 /* 26320 */ GIM_Reject,
10308 /* 26321 */ // Label 854: @26321
10309 /* 26321 */ GIM_Try, /*On fail goto*//*Label 859*/ GIMT_Encode4(26407),
10310 /* 26326 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10311 /* 26330 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10312 /* 26334 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 860*/ GIMT_Encode4(26370), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23072 //
10313 /* 26341 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10314 /* 26345 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10315 /* 26349 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
10316 /* 26353 */ // MIs[1] Operand 1
10317 /* 26353 */ // No operand predicates
10318 /* 26353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10319 /* 26355 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (OR64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
10320 /* 26355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64ri32),
10321 /* 26358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10322 /* 26360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10323 /* 26362 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10324 /* 26365 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10325 /* 26368 */ GIR_RootConstrainSelectedInstOperands,
10326 /* 26369 */ // GIR_Coverage, 23072,
10327 /* 26369 */ GIR_EraseRootFromParent_Done,
10328 /* 26370 */ // Label 860: @26370
10329 /* 26370 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 861*/ GIMT_Encode4(26406), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23162 //
10330 /* 26377 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10331 /* 26381 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10332 /* 26385 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
10333 /* 26389 */ // MIs[1] Operand 1
10334 /* 26389 */ // No operand predicates
10335 /* 26389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10336 /* 26391 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (OR64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
10337 /* 26391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64ri32_ND),
10338 /* 26394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10339 /* 26396 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10340 /* 26398 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10341 /* 26401 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10342 /* 26404 */ GIR_RootConstrainSelectedInstOperands,
10343 /* 26405 */ // GIR_Coverage, 23162,
10344 /* 26405 */ GIR_EraseRootFromParent_Done,
10345 /* 26406 */ // Label 861: @26406
10346 /* 26406 */ GIM_Reject,
10347 /* 26407 */ // Label 859: @26407
10348 /* 26407 */ GIM_Try, /*On fail goto*//*Label 862*/ GIMT_Encode4(26441), // Rule ID 17344 //
10349 /* 26412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10350 /* 26416 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10351 /* 26420 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10352 /* 26424 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
10353 /* 26428 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)<<P:Predicate_or_disjoint>> => (ADD64rr_DB:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
10354 /* 26428 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD64rr_DB),
10355 /* 26433 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10356 /* 26439 */ GIR_RootConstrainSelectedInstOperands,
10357 /* 26440 */ // GIR_Coverage, 17344,
10358 /* 26440 */ GIR_Done,
10359 /* 26441 */ // Label 862: @26441
10360 /* 26441 */ GIM_Try, /*On fail goto*//*Label 863*/ GIMT_Encode4(26499),
10361 /* 26446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10362 /* 26450 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10363 /* 26454 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10364 /* 26458 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 864*/ GIMT_Encode4(26478), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23064 //
10365 /* 26465 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (OR64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
10366 /* 26465 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR64rr),
10367 /* 26470 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10368 /* 26476 */ GIR_RootConstrainSelectedInstOperands,
10369 /* 26477 */ // GIR_Coverage, 23064,
10370 /* 26477 */ GIR_Done,
10371 /* 26478 */ // Label 864: @26478
10372 /* 26478 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 865*/ GIMT_Encode4(26498), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23154 //
10373 /* 26485 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (OR64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
10374 /* 26485 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR64rr_ND),
10375 /* 26490 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10376 /* 26496 */ GIR_RootConstrainSelectedInstOperands,
10377 /* 26497 */ // GIR_Coverage, 23154,
10378 /* 26497 */ GIR_Done,
10379 /* 26498 */ // Label 865: @26498
10380 /* 26498 */ GIM_Reject,
10381 /* 26499 */ // Label 863: @26499
10382 /* 26499 */ GIM_Reject,
10383 /* 26500 */ // Label 848: @26500
10384 /* 26500 */ GIM_Reject,
10385 /* 26501 */ // Label 832: @26501
10386 /* 26501 */ GIM_Reject,
10387 /* 26502 */ // Label 744: @26502
10388 /* 26502 */ GIM_Try, /*On fail goto*//*Label 866*/ GIMT_Encode4(26601), // Rule ID 19593 //
10389 /* 26507 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
10390 /* 26510 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
10391 /* 26513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
10392 /* 26517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
10393 /* 26521 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
10394 /* 26525 */ // (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] })
10395 /* 26525 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
10396 /* 26528 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10397 /* 26532 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10398 /* 26537 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
10399 /* 26541 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10400 /* 26546 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
10401 /* 26549 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10402 /* 26553 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10403 /* 26558 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
10404 /* 26562 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10405 /* 26567 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
10406 /* 26570 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
10407 /* 26574 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10408 /* 26579 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10409 /* 26582 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
10410 /* 26585 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
10411 /* 26587 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10412 /* 26590 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10413 /* 26592 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10414 /* 26595 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
10415 /* 26600 */ // GIR_Coverage, 19593,
10416 /* 26600 */ GIR_EraseRootFromParent_Done,
10417 /* 26601 */ // Label 866: @26601
10418 /* 26601 */ GIM_Reject,
10419 /* 26602 */ // Label 745: @26602
10420 /* 26602 */ GIM_Try, /*On fail goto*//*Label 867*/ GIMT_Encode4(26701), // Rule ID 19594 //
10421 /* 26607 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
10422 /* 26610 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
10423 /* 26613 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
10424 /* 26617 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
10425 /* 26621 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
10426 /* 26625 */ // (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] })
10427 /* 26625 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
10428 /* 26628 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10429 /* 26632 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10430 /* 26637 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
10431 /* 26641 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10432 /* 26646 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
10433 /* 26649 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10434 /* 26653 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10435 /* 26658 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
10436 /* 26662 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10437 /* 26667 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
10438 /* 26670 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
10439 /* 26674 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10440 /* 26679 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10441 /* 26682 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
10442 /* 26685 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
10443 /* 26687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10444 /* 26690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10445 /* 26692 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10446 /* 26695 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
10447 /* 26700 */ // GIR_Coverage, 19594,
10448 /* 26700 */ GIR_EraseRootFromParent_Done,
10449 /* 26701 */ // Label 867: @26701
10450 /* 26701 */ GIM_Reject,
10451 /* 26702 */ // Label 746: @26702
10452 /* 26702 */ GIM_Try, /*On fail goto*//*Label 868*/ GIMT_Encode4(26823),
10453 /* 26707 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
10454 /* 26710 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
10455 /* 26713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
10456 /* 26717 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
10457 /* 26721 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
10458 /* 26725 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 869*/ GIMT_Encode4(26739), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 4407 //
10459 /* 26732 */ // (or:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
10460 /* 26732 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORBkk),
10461 /* 26737 */ GIR_RootConstrainSelectedInstOperands,
10462 /* 26738 */ // GIR_Coverage, 4407,
10463 /* 26738 */ GIR_Done,
10464 /* 26739 */ // Label 869: @26739
10465 /* 26739 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 870*/ GIMT_Encode4(26822), GIMT_Encode2(GIFBS_NoDQI), // Rule ID 19591 //
10466 /* 26746 */ // (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] })
10467 /* 26746 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
10468 /* 26749 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10469 /* 26753 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10470 /* 26758 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
10471 /* 26762 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10472 /* 26767 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
10473 /* 26770 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10474 /* 26774 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10475 /* 26779 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
10476 /* 26783 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10477 /* 26788 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
10478 /* 26791 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
10479 /* 26795 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10480 /* 26800 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10481 /* 26803 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
10482 /* 26806 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
10483 /* 26808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10484 /* 26811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10485 /* 26813 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10486 /* 26816 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
10487 /* 26821 */ // GIR_Coverage, 19591,
10488 /* 26821 */ GIR_EraseRootFromParent_Done,
10489 /* 26822 */ // Label 870: @26822
10490 /* 26822 */ GIM_Reject,
10491 /* 26823 */ // Label 868: @26823
10492 /* 26823 */ GIM_Reject,
10493 /* 26824 */ // Label 747: @26824
10494 /* 26824 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 871*/ GIMT_Encode4(26856), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4408 //
10495 /* 26831 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
10496 /* 26834 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
10497 /* 26837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
10498 /* 26841 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
10499 /* 26845 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
10500 /* 26849 */ // (or:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
10501 /* 26849 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORWkk),
10502 /* 26854 */ GIR_RootConstrainSelectedInstOperands,
10503 /* 26855 */ // GIR_Coverage, 4408,
10504 /* 26855 */ GIR_Done,
10505 /* 26856 */ // Label 871: @26856
10506 /* 26856 */ GIM_Reject,
10507 /* 26857 */ // Label 748: @26857
10508 /* 26857 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 872*/ GIMT_Encode4(26889), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4409 //
10509 /* 26864 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
10510 /* 26867 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
10511 /* 26870 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
10512 /* 26874 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
10513 /* 26878 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
10514 /* 26882 */ // (or:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
10515 /* 26882 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORDkk),
10516 /* 26887 */ GIR_RootConstrainSelectedInstOperands,
10517 /* 26888 */ // GIR_Coverage, 4409,
10518 /* 26888 */ GIR_Done,
10519 /* 26889 */ // Label 872: @26889
10520 /* 26889 */ GIM_Reject,
10521 /* 26890 */ // Label 749: @26890
10522 /* 26890 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 873*/ GIMT_Encode4(26922), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4410 //
10523 /* 26897 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
10524 /* 26900 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
10525 /* 26903 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
10526 /* 26907 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
10527 /* 26911 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
10528 /* 26915 */ // (or:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
10529 /* 26915 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORQkk),
10530 /* 26920 */ GIR_RootConstrainSelectedInstOperands,
10531 /* 26921 */ // GIR_Coverage, 4410,
10532 /* 26921 */ GIR_Done,
10533 /* 26922 */ // Label 873: @26922
10534 /* 26922 */ GIM_Reject,
10535 /* 26923 */ // Label 750: @26923
10536 /* 26923 */ GIM_Try, /*On fail goto*//*Label 874*/ GIMT_Encode4(27251),
10537 /* 26928 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
10538 /* 26931 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
10539 /* 26934 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 875*/ GIMT_Encode4(26995), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25498 //
10540 /* 26941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10541 /* 26945 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10542 /* 26949 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10543 /* 26953 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10544 /* 26956 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10545 /* 26960 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10546 /* 26964 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10547 /* 26968 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10548 /* 26970 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10549 /* 26977 */ // (or:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10550 /* 26977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
10551 /* 26980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10552 /* 26982 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10553 /* 26984 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10554 /* 26988 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10555 /* 26993 */ GIR_RootConstrainSelectedInstOperands,
10556 /* 26994 */ // GIR_Coverage, 25498,
10557 /* 26994 */ GIR_EraseRootFromParent_Done,
10558 /* 26995 */ // Label 875: @26995
10559 /* 26995 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 876*/ GIMT_Encode4(27056), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25678 //
10560 /* 27002 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10561 /* 27006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10562 /* 27010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10563 /* 27014 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10564 /* 27017 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10565 /* 27021 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10566 /* 27025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10567 /* 27029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10568 /* 27031 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10569 /* 27038 */ // (or:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10570 /* 27038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
10571 /* 27041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10572 /* 27043 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10573 /* 27045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10574 /* 27049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10575 /* 27054 */ GIR_RootConstrainSelectedInstOperands,
10576 /* 27055 */ // GIR_Coverage, 25678,
10577 /* 27055 */ GIR_EraseRootFromParent_Done,
10578 /* 27056 */ // Label 876: @27056
10579 /* 27056 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 877*/ GIMT_Encode4(27117), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18254 //
10580 /* 27063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10581 /* 27067 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10582 /* 27071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10583 /* 27075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10584 /* 27079 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10585 /* 27082 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10586 /* 27086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10587 /* 27090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10588 /* 27092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10589 /* 27099 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10590 /* 27099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
10591 /* 27102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10592 /* 27104 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10593 /* 27106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10594 /* 27110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10595 /* 27115 */ GIR_RootConstrainSelectedInstOperands,
10596 /* 27116 */ // GIR_Coverage, 18254,
10597 /* 27116 */ GIR_EraseRootFromParent_Done,
10598 /* 27117 */ // Label 877: @27117
10599 /* 27117 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 878*/ GIMT_Encode4(27178), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20152 //
10600 /* 27124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10601 /* 27128 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10602 /* 27132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10603 /* 27136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10604 /* 27140 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10605 /* 27143 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10606 /* 27147 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10607 /* 27151 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10608 /* 27153 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10609 /* 27160 */ // (or:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10610 /* 27160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
10611 /* 27163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10612 /* 27165 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10613 /* 27167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10614 /* 27171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10615 /* 27176 */ GIR_RootConstrainSelectedInstOperands,
10616 /* 27177 */ // GIR_Coverage, 20152,
10617 /* 27177 */ GIR_EraseRootFromParent_Done,
10618 /* 27178 */ // Label 878: @27178
10619 /* 27178 */ GIM_Try, /*On fail goto*//*Label 879*/ GIMT_Encode4(27224),
10620 /* 27183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10621 /* 27187 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10622 /* 27191 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10623 /* 27195 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 880*/ GIMT_Encode4(27209), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18242 //
10624 /* 27202 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
10625 /* 27202 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
10626 /* 27207 */ GIR_RootConstrainSelectedInstOperands,
10627 /* 27208 */ // GIR_Coverage, 18242,
10628 /* 27208 */ GIR_Done,
10629 /* 27209 */ // Label 880: @27209
10630 /* 27209 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 881*/ GIMT_Encode4(27223), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18266 //
10631 /* 27216 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
10632 /* 27216 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
10633 /* 27221 */ GIR_RootConstrainSelectedInstOperands,
10634 /* 27222 */ // GIR_Coverage, 18266,
10635 /* 27222 */ GIR_Done,
10636 /* 27223 */ // Label 881: @27223
10637 /* 27223 */ GIM_Reject,
10638 /* 27224 */ // Label 879: @27224
10639 /* 27224 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 882*/ GIMT_Encode4(27250), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20144 //
10640 /* 27231 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10641 /* 27235 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10642 /* 27239 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10643 /* 27243 */ // (or:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPORQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
10644 /* 27243 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
10645 /* 27248 */ GIR_RootConstrainSelectedInstOperands,
10646 /* 27249 */ // GIR_Coverage, 20144,
10647 /* 27249 */ GIR_Done,
10648 /* 27250 */ // Label 882: @27250
10649 /* 27250 */ GIM_Reject,
10650 /* 27251 */ // Label 874: @27251
10651 /* 27251 */ GIM_Reject,
10652 /* 27252 */ // Label 751: @27252
10653 /* 27252 */ GIM_Try, /*On fail goto*//*Label 883*/ GIMT_Encode4(27698),
10654 /* 27257 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
10655 /* 27260 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
10656 /* 27263 */ GIM_Try, /*On fail goto*//*Label 884*/ GIMT_Encode4(27383),
10657 /* 27268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10658 /* 27272 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10659 /* 27276 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 885*/ GIMT_Encode4(27329), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25477 //
10660 /* 27283 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10661 /* 27287 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10662 /* 27291 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10663 /* 27294 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10664 /* 27298 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10665 /* 27302 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10666 /* 27304 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10667 /* 27311 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10668 /* 27311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
10669 /* 27314 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10670 /* 27316 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10671 /* 27318 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10672 /* 27322 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10673 /* 27327 */ GIR_RootConstrainSelectedInstOperands,
10674 /* 27328 */ // GIR_Coverage, 25477,
10675 /* 27328 */ GIR_EraseRootFromParent_Done,
10676 /* 27329 */ // Label 885: @27329
10677 /* 27329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 886*/ GIMT_Encode4(27382), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25487 //
10678 /* 27336 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10679 /* 27340 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10680 /* 27344 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10681 /* 27347 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10682 /* 27351 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10683 /* 27355 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10684 /* 27357 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10685 /* 27364 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10686 /* 27364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
10687 /* 27367 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10688 /* 27369 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10689 /* 27371 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10690 /* 27375 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10691 /* 27380 */ GIR_RootConstrainSelectedInstOperands,
10692 /* 27381 */ // GIR_Coverage, 25487,
10693 /* 27381 */ GIR_EraseRootFromParent_Done,
10694 /* 27382 */ // Label 886: @27382
10695 /* 27382 */ GIM_Reject,
10696 /* 27383 */ // Label 884: @27383
10697 /* 27383 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 887*/ GIMT_Encode4(27444), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25684 //
10698 /* 27390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10699 /* 27394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10700 /* 27398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10701 /* 27402 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10702 /* 27405 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10703 /* 27409 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10704 /* 27413 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10705 /* 27417 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10706 /* 27419 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10707 /* 27426 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10708 /* 27426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
10709 /* 27429 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10710 /* 27431 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10711 /* 27433 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10712 /* 27437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10713 /* 27442 */ GIR_RootConstrainSelectedInstOperands,
10714 /* 27443 */ // GIR_Coverage, 25684,
10715 /* 27443 */ GIR_EraseRootFromParent_Done,
10716 /* 27444 */ // Label 887: @27444
10717 /* 27444 */ GIM_Try, /*On fail goto*//*Label 888*/ GIMT_Encode4(27564),
10718 /* 27449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10719 /* 27453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10720 /* 27457 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 889*/ GIMT_Encode4(27510), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18198 //
10721 /* 27464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10722 /* 27468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10723 /* 27472 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10724 /* 27475 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10725 /* 27479 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10726 /* 27483 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10727 /* 27485 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10728 /* 27492 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10729 /* 27492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
10730 /* 27495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10731 /* 27497 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10732 /* 27499 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10733 /* 27503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10734 /* 27508 */ GIR_RootConstrainSelectedInstOperands,
10735 /* 27509 */ // GIR_Coverage, 18198,
10736 /* 27509 */ GIR_EraseRootFromParent_Done,
10737 /* 27510 */ // Label 889: @27510
10738 /* 27510 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 890*/ GIMT_Encode4(27563), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18227 //
10739 /* 27517 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10740 /* 27521 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10741 /* 27525 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10742 /* 27528 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10743 /* 27532 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10744 /* 27536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10745 /* 27538 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10746 /* 27545 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10747 /* 27545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
10748 /* 27548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10749 /* 27550 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10750 /* 27552 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10751 /* 27556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10752 /* 27561 */ GIR_RootConstrainSelectedInstOperands,
10753 /* 27562 */ // GIR_Coverage, 18227,
10754 /* 27562 */ GIR_EraseRootFromParent_Done,
10755 /* 27563 */ // Label 890: @27563
10756 /* 27563 */ GIM_Reject,
10757 /* 27564 */ // Label 888: @27564
10758 /* 27564 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 891*/ GIMT_Encode4(27625), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20168 //
10759 /* 27571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10760 /* 27575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10761 /* 27579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10762 /* 27583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10763 /* 27587 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10764 /* 27590 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10765 /* 27594 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10766 /* 27598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10767 /* 27600 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10768 /* 27607 */ // (or:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10769 /* 27607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
10770 /* 27610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10771 /* 27612 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10772 /* 27614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10773 /* 27618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10774 /* 27623 */ GIR_RootConstrainSelectedInstOperands,
10775 /* 27624 */ // GIR_Coverage, 20168,
10776 /* 27624 */ GIR_EraseRootFromParent_Done,
10777 /* 27625 */ // Label 891: @27625
10778 /* 27625 */ GIM_Try, /*On fail goto*//*Label 892*/ GIMT_Encode4(27671),
10779 /* 27630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10780 /* 27634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10781 /* 27638 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10782 /* 27642 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 893*/ GIMT_Encode4(27656), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18186 //
10783 /* 27649 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPORYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
10784 /* 27649 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
10785 /* 27654 */ GIR_RootConstrainSelectedInstOperands,
10786 /* 27655 */ // GIR_Coverage, 18186,
10787 /* 27655 */ GIR_Done,
10788 /* 27656 */ // Label 893: @27656
10789 /* 27656 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 894*/ GIMT_Encode4(27670), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18211 //
10790 /* 27663 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VORPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
10791 /* 27663 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
10792 /* 27668 */ GIR_RootConstrainSelectedInstOperands,
10793 /* 27669 */ // GIR_Coverage, 18211,
10794 /* 27669 */ GIR_Done,
10795 /* 27670 */ // Label 894: @27670
10796 /* 27670 */ GIM_Reject,
10797 /* 27671 */ // Label 892: @27671
10798 /* 27671 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 895*/ GIMT_Encode4(27697), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20160 //
10799 /* 27678 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10800 /* 27682 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10801 /* 27686 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
10802 /* 27690 */ // (or:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPORQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
10803 /* 27690 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
10804 /* 27695 */ GIR_RootConstrainSelectedInstOperands,
10805 /* 27696 */ // GIR_Coverage, 20160,
10806 /* 27696 */ GIR_Done,
10807 /* 27697 */ // Label 895: @27697
10808 /* 27697 */ GIM_Reject,
10809 /* 27698 */ // Label 883: @27698
10810 /* 27698 */ GIM_Reject,
10811 /* 27699 */ // Label 752: @27699
10812 /* 27699 */ GIM_Try, /*On fail goto*//*Label 896*/ GIMT_Encode4(27853),
10813 /* 27704 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
10814 /* 27707 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
10815 /* 27710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
10816 /* 27714 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 897*/ GIMT_Encode4(27771), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 25690 //
10817 /* 27721 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10818 /* 27725 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10819 /* 27729 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10820 /* 27732 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10821 /* 27736 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10822 /* 27740 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
10823 /* 27744 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10824 /* 27746 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10825 /* 27753 */ // (or:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10826 /* 27753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
10827 /* 27756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10828 /* 27758 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10829 /* 27760 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10830 /* 27764 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10831 /* 27769 */ GIR_RootConstrainSelectedInstOperands,
10832 /* 27770 */ // GIR_Coverage, 25690,
10833 /* 27770 */ GIR_EraseRootFromParent_Done,
10834 /* 27771 */ // Label 897: @27771
10835 /* 27771 */ GIM_Try, /*On fail goto*//*Label 898*/ GIMT_Encode4(27852),
10836 /* 27776 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
10837 /* 27780 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 899*/ GIMT_Encode4(27833), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20184 //
10838 /* 27787 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10839 /* 27791 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10840 /* 27795 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10841 /* 27798 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10842 /* 27802 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10843 /* 27806 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10844 /* 27808 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10845 /* 27815 */ // (or:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10846 /* 27815 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
10847 /* 27818 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10848 /* 27820 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10849 /* 27822 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10850 /* 27826 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10851 /* 27831 */ GIR_RootConstrainSelectedInstOperands,
10852 /* 27832 */ // GIR_Coverage, 20184,
10853 /* 27832 */ GIR_EraseRootFromParent_Done,
10854 /* 27833 */ // Label 899: @27833
10855 /* 27833 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 900*/ GIMT_Encode4(27851), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20176 //
10856 /* 27840 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
10857 /* 27844 */ // (or:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPORQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
10858 /* 27844 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
10859 /* 27849 */ GIR_RootConstrainSelectedInstOperands,
10860 /* 27850 */ // GIR_Coverage, 20176,
10861 /* 27850 */ GIR_Done,
10862 /* 27851 */ // Label 900: @27851
10863 /* 27851 */ GIM_Reject,
10864 /* 27852 */ // Label 898: @27852
10865 /* 27852 */ GIM_Reject,
10866 /* 27853 */ // Label 896: @27853
10867 /* 27853 */ GIM_Reject,
10868 /* 27854 */ // Label 753: @27854
10869 /* 27854 */ GIM_Try, /*On fail goto*//*Label 901*/ GIMT_Encode4(28182),
10870 /* 27859 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
10871 /* 27862 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
10872 /* 27865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 902*/ GIMT_Encode4(27926), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25499 //
10873 /* 27872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10874 /* 27876 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10875 /* 27880 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10876 /* 27884 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10877 /* 27887 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10878 /* 27891 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10879 /* 27895 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10880 /* 27899 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10881 /* 27901 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10882 /* 27908 */ // (or:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
10883 /* 27908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
10884 /* 27911 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10885 /* 27913 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10886 /* 27915 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10887 /* 27919 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10888 /* 27924 */ GIR_RootConstrainSelectedInstOperands,
10889 /* 27925 */ // GIR_Coverage, 25499,
10890 /* 27925 */ GIR_EraseRootFromParent_Done,
10891 /* 27926 */ // Label 902: @27926
10892 /* 27926 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 903*/ GIMT_Encode4(27987), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25679 //
10893 /* 27933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10894 /* 27937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10895 /* 27941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10896 /* 27945 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10897 /* 27948 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10898 /* 27952 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10899 /* 27956 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10900 /* 27960 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10901 /* 27962 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10902 /* 27969 */ // (or:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
10903 /* 27969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
10904 /* 27972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10905 /* 27974 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10906 /* 27976 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10907 /* 27980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10908 /* 27985 */ GIR_RootConstrainSelectedInstOperands,
10909 /* 27986 */ // GIR_Coverage, 25679,
10910 /* 27986 */ GIR_EraseRootFromParent_Done,
10911 /* 27987 */ // Label 903: @27987
10912 /* 27987 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 904*/ GIMT_Encode4(28048), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18255 //
10913 /* 27994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10914 /* 27998 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10915 /* 28002 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10916 /* 28006 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10917 /* 28010 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10918 /* 28013 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10919 /* 28017 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10920 /* 28021 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10921 /* 28023 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10922 /* 28030 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
10923 /* 28030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
10924 /* 28033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10925 /* 28035 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10926 /* 28037 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10927 /* 28041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10928 /* 28046 */ GIR_RootConstrainSelectedInstOperands,
10929 /* 28047 */ // GIR_Coverage, 18255,
10930 /* 28047 */ GIR_EraseRootFromParent_Done,
10931 /* 28048 */ // Label 904: @28048
10932 /* 28048 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 905*/ GIMT_Encode4(28109), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20153 //
10933 /* 28055 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10934 /* 28059 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10935 /* 28063 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10936 /* 28067 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10937 /* 28071 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10938 /* 28074 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10939 /* 28078 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10940 /* 28082 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10941 /* 28084 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10942 /* 28091 */ // (or:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
10943 /* 28091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
10944 /* 28094 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10945 /* 28096 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10946 /* 28098 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10947 /* 28102 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10948 /* 28107 */ GIR_RootConstrainSelectedInstOperands,
10949 /* 28108 */ // GIR_Coverage, 20153,
10950 /* 28108 */ GIR_EraseRootFromParent_Done,
10951 /* 28109 */ // Label 905: @28109
10952 /* 28109 */ GIM_Try, /*On fail goto*//*Label 906*/ GIMT_Encode4(28155),
10953 /* 28114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10954 /* 28118 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10955 /* 28122 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
10956 /* 28126 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 907*/ GIMT_Encode4(28140), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18243 //
10957 /* 28133 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
10958 /* 28133 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
10959 /* 28138 */ GIR_RootConstrainSelectedInstOperands,
10960 /* 28139 */ // GIR_Coverage, 18243,
10961 /* 28139 */ GIR_Done,
10962 /* 28140 */ // Label 907: @28140
10963 /* 28140 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 908*/ GIMT_Encode4(28154), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18267 //
10964 /* 28147 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
10965 /* 28147 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
10966 /* 28152 */ GIR_RootConstrainSelectedInstOperands,
10967 /* 28153 */ // GIR_Coverage, 18267,
10968 /* 28153 */ GIR_Done,
10969 /* 28154 */ // Label 908: @28154
10970 /* 28154 */ GIM_Reject,
10971 /* 28155 */ // Label 906: @28155
10972 /* 28155 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 909*/ GIMT_Encode4(28181), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20145 //
10973 /* 28162 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10974 /* 28166 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10975 /* 28170 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
10976 /* 28174 */ // (or:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPORQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
10977 /* 28174 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
10978 /* 28179 */ GIR_RootConstrainSelectedInstOperands,
10979 /* 28180 */ // GIR_Coverage, 20145,
10980 /* 28180 */ GIR_Done,
10981 /* 28181 */ // Label 909: @28181
10982 /* 28181 */ GIM_Reject,
10983 /* 28182 */ // Label 901: @28182
10984 /* 28182 */ GIM_Reject,
10985 /* 28183 */ // Label 754: @28183
10986 /* 28183 */ GIM_Try, /*On fail goto*//*Label 910*/ GIMT_Encode4(28629),
10987 /* 28188 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
10988 /* 28191 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
10989 /* 28194 */ GIM_Try, /*On fail goto*//*Label 911*/ GIMT_Encode4(28314),
10990 /* 28199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10991 /* 28203 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
10992 /* 28207 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 912*/ GIMT_Encode4(28260), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25478 //
10993 /* 28214 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10994 /* 28218 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10995 /* 28222 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10996 /* 28225 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10997 /* 28229 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10998 /* 28233 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10999 /* 28235 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11000 /* 28242 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11001 /* 28242 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11002 /* 28245 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11003 /* 28247 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11004 /* 28249 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11005 /* 28253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11006 /* 28258 */ GIR_RootConstrainSelectedInstOperands,
11007 /* 28259 */ // GIR_Coverage, 25478,
11008 /* 28259 */ GIR_EraseRootFromParent_Done,
11009 /* 28260 */ // Label 912: @28260
11010 /* 28260 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 913*/ GIMT_Encode4(28313), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25488 //
11011 /* 28267 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11012 /* 28271 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11013 /* 28275 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11014 /* 28278 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11015 /* 28282 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11016 /* 28286 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11017 /* 28288 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11018 /* 28295 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11019 /* 28295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11020 /* 28298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11021 /* 28300 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11022 /* 28302 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11023 /* 28306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11024 /* 28311 */ GIR_RootConstrainSelectedInstOperands,
11025 /* 28312 */ // GIR_Coverage, 25488,
11026 /* 28312 */ GIR_EraseRootFromParent_Done,
11027 /* 28313 */ // Label 913: @28313
11028 /* 28313 */ GIM_Reject,
11029 /* 28314 */ // Label 911: @28314
11030 /* 28314 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 914*/ GIMT_Encode4(28375), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25685 //
11031 /* 28321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11032 /* 28325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11033 /* 28329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11034 /* 28333 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11035 /* 28336 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11036 /* 28340 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11037 /* 28344 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11038 /* 28348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11039 /* 28350 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11040 /* 28357 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11041 /* 28357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11042 /* 28360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11043 /* 28362 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11044 /* 28364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11045 /* 28368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11046 /* 28373 */ GIR_RootConstrainSelectedInstOperands,
11047 /* 28374 */ // GIR_Coverage, 25685,
11048 /* 28374 */ GIR_EraseRootFromParent_Done,
11049 /* 28375 */ // Label 914: @28375
11050 /* 28375 */ GIM_Try, /*On fail goto*//*Label 915*/ GIMT_Encode4(28495),
11051 /* 28380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11052 /* 28384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11053 /* 28388 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 916*/ GIMT_Encode4(28441), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18199 //
11054 /* 28395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11055 /* 28399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11056 /* 28403 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11057 /* 28406 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11058 /* 28410 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11059 /* 28414 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11060 /* 28416 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11061 /* 28423 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11062 /* 28423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11063 /* 28426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11064 /* 28428 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11065 /* 28430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11066 /* 28434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11067 /* 28439 */ GIR_RootConstrainSelectedInstOperands,
11068 /* 28440 */ // GIR_Coverage, 18199,
11069 /* 28440 */ GIR_EraseRootFromParent_Done,
11070 /* 28441 */ // Label 916: @28441
11071 /* 28441 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 917*/ GIMT_Encode4(28494), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18228 //
11072 /* 28448 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11073 /* 28452 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11074 /* 28456 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11075 /* 28459 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11076 /* 28463 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11077 /* 28467 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11078 /* 28469 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11079 /* 28476 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11080 /* 28476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11081 /* 28479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11082 /* 28481 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11083 /* 28483 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11084 /* 28487 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11085 /* 28492 */ GIR_RootConstrainSelectedInstOperands,
11086 /* 28493 */ // GIR_Coverage, 18228,
11087 /* 28493 */ GIR_EraseRootFromParent_Done,
11088 /* 28494 */ // Label 917: @28494
11089 /* 28494 */ GIM_Reject,
11090 /* 28495 */ // Label 915: @28495
11091 /* 28495 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 918*/ GIMT_Encode4(28556), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20169 //
11092 /* 28502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11093 /* 28506 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11094 /* 28510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11095 /* 28514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11096 /* 28518 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11097 /* 28521 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11098 /* 28525 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11099 /* 28529 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11100 /* 28531 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11101 /* 28538 */ // (or:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11102 /* 28538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11103 /* 28541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11104 /* 28543 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11105 /* 28545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11106 /* 28549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11107 /* 28554 */ GIR_RootConstrainSelectedInstOperands,
11108 /* 28555 */ // GIR_Coverage, 20169,
11109 /* 28555 */ GIR_EraseRootFromParent_Done,
11110 /* 28556 */ // Label 918: @28556
11111 /* 28556 */ GIM_Try, /*On fail goto*//*Label 919*/ GIMT_Encode4(28602),
11112 /* 28561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11113 /* 28565 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11114 /* 28569 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11115 /* 28573 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 920*/ GIMT_Encode4(28587), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18187 //
11116 /* 28580 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPORYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
11117 /* 28580 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
11118 /* 28585 */ GIR_RootConstrainSelectedInstOperands,
11119 /* 28586 */ // GIR_Coverage, 18187,
11120 /* 28586 */ GIR_Done,
11121 /* 28587 */ // Label 920: @28587
11122 /* 28587 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 921*/ GIMT_Encode4(28601), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18212 //
11123 /* 28594 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VORPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
11124 /* 28594 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
11125 /* 28599 */ GIR_RootConstrainSelectedInstOperands,
11126 /* 28600 */ // GIR_Coverage, 18212,
11127 /* 28600 */ GIR_Done,
11128 /* 28601 */ // Label 921: @28601
11129 /* 28601 */ GIM_Reject,
11130 /* 28602 */ // Label 919: @28602
11131 /* 28602 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 922*/ GIMT_Encode4(28628), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20161 //
11132 /* 28609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11133 /* 28613 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11134 /* 28617 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11135 /* 28621 */ // (or:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPORQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
11136 /* 28621 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
11137 /* 28626 */ GIR_RootConstrainSelectedInstOperands,
11138 /* 28627 */ // GIR_Coverage, 20161,
11139 /* 28627 */ GIR_Done,
11140 /* 28628 */ // Label 922: @28628
11141 /* 28628 */ GIM_Reject,
11142 /* 28629 */ // Label 910: @28629
11143 /* 28629 */ GIM_Reject,
11144 /* 28630 */ // Label 755: @28630
11145 /* 28630 */ GIM_Try, /*On fail goto*//*Label 923*/ GIMT_Encode4(28784),
11146 /* 28635 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
11147 /* 28638 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
11148 /* 28641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11149 /* 28645 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 924*/ GIMT_Encode4(28702), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 25691 //
11150 /* 28652 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11151 /* 28656 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11152 /* 28660 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11153 /* 28663 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11154 /* 28667 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11155 /* 28671 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11156 /* 28675 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11157 /* 28677 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11158 /* 28684 */ // (or:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11159 /* 28684 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
11160 /* 28687 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11161 /* 28689 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11162 /* 28691 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11163 /* 28695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11164 /* 28700 */ GIR_RootConstrainSelectedInstOperands,
11165 /* 28701 */ // GIR_Coverage, 25691,
11166 /* 28701 */ GIR_EraseRootFromParent_Done,
11167 /* 28702 */ // Label 924: @28702
11168 /* 28702 */ GIM_Try, /*On fail goto*//*Label 925*/ GIMT_Encode4(28783),
11169 /* 28707 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11170 /* 28711 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 926*/ GIMT_Encode4(28764), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20185 //
11171 /* 28718 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11172 /* 28722 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11173 /* 28726 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11174 /* 28729 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11175 /* 28733 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11176 /* 28737 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11177 /* 28739 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11178 /* 28746 */ // (or:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11179 /* 28746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
11180 /* 28749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11181 /* 28751 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11182 /* 28753 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11183 /* 28757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11184 /* 28762 */ GIR_RootConstrainSelectedInstOperands,
11185 /* 28763 */ // GIR_Coverage, 20185,
11186 /* 28763 */ GIR_EraseRootFromParent_Done,
11187 /* 28764 */ // Label 926: @28764
11188 /* 28764 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 927*/ GIMT_Encode4(28782), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20177 //
11189 /* 28771 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11190 /* 28775 */ // (or:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPORQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
11191 /* 28775 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
11192 /* 28780 */ GIR_RootConstrainSelectedInstOperands,
11193 /* 28781 */ // GIR_Coverage, 20177,
11194 /* 28781 */ GIR_Done,
11195 /* 28782 */ // Label 927: @28782
11196 /* 28782 */ GIM_Reject,
11197 /* 28783 */ // Label 925: @28783
11198 /* 28783 */ GIM_Reject,
11199 /* 28784 */ // Label 923: @28784
11200 /* 28784 */ GIM_Reject,
11201 /* 28785 */ // Label 756: @28785
11202 /* 28785 */ GIM_Try, /*On fail goto*//*Label 928*/ GIMT_Encode4(29113),
11203 /* 28790 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
11204 /* 28793 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11205 /* 28796 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 929*/ GIMT_Encode4(28857), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24443 //
11206 /* 28803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11207 /* 28807 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11208 /* 28811 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11209 /* 28815 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11210 /* 28818 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11211 /* 28822 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11212 /* 28826 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11213 /* 28830 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11214 /* 28832 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11215 /* 28839 */ // (or:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11216 /* 28839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rm),
11217 /* 28842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11218 /* 28844 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11219 /* 28846 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11220 /* 28850 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11221 /* 28855 */ GIR_RootConstrainSelectedInstOperands,
11222 /* 28856 */ // GIR_Coverage, 24443,
11223 /* 28856 */ GIR_EraseRootFromParent_Done,
11224 /* 28857 */ // Label 929: @28857
11225 /* 28857 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 930*/ GIMT_Encode4(28918), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25500 //
11226 /* 28864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11227 /* 28868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11228 /* 28872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11229 /* 28876 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11230 /* 28879 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11231 /* 28883 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11232 /* 28887 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11233 /* 28891 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11234 /* 28893 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11235 /* 28900 */ // (or:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11236 /* 28900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11237 /* 28903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11238 /* 28905 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11239 /* 28907 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11240 /* 28911 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11241 /* 28916 */ GIR_RootConstrainSelectedInstOperands,
11242 /* 28917 */ // GIR_Coverage, 25500,
11243 /* 28917 */ GIR_EraseRootFromParent_Done,
11244 /* 28918 */ // Label 930: @28918
11245 /* 28918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 931*/ GIMT_Encode4(28979), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5789 //
11246 /* 28925 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11247 /* 28929 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11248 /* 28933 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11249 /* 28937 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11250 /* 28941 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11251 /* 28944 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11252 /* 28948 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11253 /* 28952 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11254 /* 28954 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11255 /* 28961 */ // (or:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11256 /* 28961 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rm),
11257 /* 28964 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11258 /* 28966 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11259 /* 28968 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11260 /* 28972 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11261 /* 28977 */ GIR_RootConstrainSelectedInstOperands,
11262 /* 28978 */ // GIR_Coverage, 5789,
11263 /* 28978 */ GIR_EraseRootFromParent_Done,
11264 /* 28979 */ // Label 931: @28979
11265 /* 28979 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 932*/ GIMT_Encode4(29040), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18256 //
11266 /* 28986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11267 /* 28990 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11268 /* 28994 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11269 /* 28998 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11270 /* 29002 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11271 /* 29005 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11272 /* 29009 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11273 /* 29013 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11274 /* 29015 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11275 /* 29022 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11276 /* 29022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11277 /* 29025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11278 /* 29027 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11279 /* 29029 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11280 /* 29033 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11281 /* 29038 */ GIR_RootConstrainSelectedInstOperands,
11282 /* 29039 */ // GIR_Coverage, 18256,
11283 /* 29039 */ GIR_EraseRootFromParent_Done,
11284 /* 29040 */ // Label 932: @29040
11285 /* 29040 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 933*/ GIMT_Encode4(29066), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5786 //
11286 /* 29047 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11287 /* 29051 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11288 /* 29055 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11289 /* 29059 */ // (or:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPORDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
11290 /* 29059 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rr),
11291 /* 29064 */ GIR_RootConstrainSelectedInstOperands,
11292 /* 29065 */ // GIR_Coverage, 5786,
11293 /* 29065 */ GIR_Done,
11294 /* 29066 */ // Label 933: @29066
11295 /* 29066 */ GIM_Try, /*On fail goto*//*Label 934*/ GIMT_Encode4(29112),
11296 /* 29071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11297 /* 29075 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11298 /* 29079 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11299 /* 29083 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 935*/ GIMT_Encode4(29097), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18244 //
11300 /* 29090 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
11301 /* 29090 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
11302 /* 29095 */ GIR_RootConstrainSelectedInstOperands,
11303 /* 29096 */ // GIR_Coverage, 18244,
11304 /* 29096 */ GIR_Done,
11305 /* 29097 */ // Label 935: @29097
11306 /* 29097 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 936*/ GIMT_Encode4(29111), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18268 //
11307 /* 29104 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
11308 /* 29104 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
11309 /* 29109 */ GIR_RootConstrainSelectedInstOperands,
11310 /* 29110 */ // GIR_Coverage, 18268,
11311 /* 29110 */ GIR_Done,
11312 /* 29111 */ // Label 936: @29111
11313 /* 29111 */ GIM_Reject,
11314 /* 29112 */ // Label 934: @29112
11315 /* 29112 */ GIM_Reject,
11316 /* 29113 */ // Label 928: @29113
11317 /* 29113 */ GIM_Reject,
11318 /* 29114 */ // Label 757: @29114
11319 /* 29114 */ GIM_Try, /*On fail goto*//*Label 937*/ GIMT_Encode4(29560),
11320 /* 29119 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
11321 /* 29122 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
11322 /* 29125 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 938*/ GIMT_Encode4(29186), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24437 //
11323 /* 29132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11324 /* 29136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11325 /* 29140 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11326 /* 29144 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11327 /* 29147 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11328 /* 29151 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11329 /* 29155 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11330 /* 29159 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11331 /* 29161 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11332 /* 29168 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11333 /* 29168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rm),
11334 /* 29171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11335 /* 29173 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11336 /* 29175 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11337 /* 29179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11338 /* 29184 */ GIR_RootConstrainSelectedInstOperands,
11339 /* 29185 */ // GIR_Coverage, 24437,
11340 /* 29185 */ GIR_EraseRootFromParent_Done,
11341 /* 29186 */ // Label 938: @29186
11342 /* 29186 */ GIM_Try, /*On fail goto*//*Label 939*/ GIMT_Encode4(29306),
11343 /* 29191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11344 /* 29195 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11345 /* 29199 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 940*/ GIMT_Encode4(29252), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25479 //
11346 /* 29206 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11347 /* 29210 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11348 /* 29214 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11349 /* 29217 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11350 /* 29221 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11351 /* 29225 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11352 /* 29227 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11353 /* 29234 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11354 /* 29234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11355 /* 29237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11356 /* 29239 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11357 /* 29241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11358 /* 29245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11359 /* 29250 */ GIR_RootConstrainSelectedInstOperands,
11360 /* 29251 */ // GIR_Coverage, 25479,
11361 /* 29251 */ GIR_EraseRootFromParent_Done,
11362 /* 29252 */ // Label 940: @29252
11363 /* 29252 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 941*/ GIMT_Encode4(29305), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25489 //
11364 /* 29259 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11365 /* 29263 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11366 /* 29267 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11367 /* 29270 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11368 /* 29274 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11369 /* 29278 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11370 /* 29280 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11371 /* 29287 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11372 /* 29287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11373 /* 29290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11374 /* 29292 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11375 /* 29294 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11376 /* 29298 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11377 /* 29303 */ GIR_RootConstrainSelectedInstOperands,
11378 /* 29304 */ // GIR_Coverage, 25489,
11379 /* 29304 */ GIR_EraseRootFromParent_Done,
11380 /* 29305 */ // Label 941: @29305
11381 /* 29305 */ GIM_Reject,
11382 /* 29306 */ // Label 939: @29306
11383 /* 29306 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 942*/ GIMT_Encode4(29367), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5780 //
11384 /* 29313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11385 /* 29317 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11386 /* 29321 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11387 /* 29325 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11388 /* 29329 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11389 /* 29332 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11390 /* 29336 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11391 /* 29340 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11392 /* 29342 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11393 /* 29349 */ // (or:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11394 /* 29349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rm),
11395 /* 29352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11396 /* 29354 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11397 /* 29356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11398 /* 29360 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11399 /* 29365 */ GIR_RootConstrainSelectedInstOperands,
11400 /* 29366 */ // GIR_Coverage, 5780,
11401 /* 29366 */ GIR_EraseRootFromParent_Done,
11402 /* 29367 */ // Label 942: @29367
11403 /* 29367 */ GIM_Try, /*On fail goto*//*Label 943*/ GIMT_Encode4(29487),
11404 /* 29372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11405 /* 29376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11406 /* 29380 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 944*/ GIMT_Encode4(29433), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18200 //
11407 /* 29387 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11408 /* 29391 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11409 /* 29395 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11410 /* 29398 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11411 /* 29402 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11412 /* 29406 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11413 /* 29408 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11414 /* 29415 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11415 /* 29415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11416 /* 29418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11417 /* 29420 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11418 /* 29422 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11419 /* 29426 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11420 /* 29431 */ GIR_RootConstrainSelectedInstOperands,
11421 /* 29432 */ // GIR_Coverage, 18200,
11422 /* 29432 */ GIR_EraseRootFromParent_Done,
11423 /* 29433 */ // Label 944: @29433
11424 /* 29433 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 945*/ GIMT_Encode4(29486), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18229 //
11425 /* 29440 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11426 /* 29444 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11427 /* 29448 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11428 /* 29451 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11429 /* 29455 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11430 /* 29459 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11431 /* 29461 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11432 /* 29468 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11433 /* 29468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11434 /* 29471 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11435 /* 29473 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11436 /* 29475 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11437 /* 29479 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11438 /* 29484 */ GIR_RootConstrainSelectedInstOperands,
11439 /* 29485 */ // GIR_Coverage, 18229,
11440 /* 29485 */ GIR_EraseRootFromParent_Done,
11441 /* 29486 */ // Label 945: @29486
11442 /* 29486 */ GIM_Reject,
11443 /* 29487 */ // Label 943: @29487
11444 /* 29487 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 946*/ GIMT_Encode4(29513), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5777 //
11445 /* 29494 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11446 /* 29498 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11447 /* 29502 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11448 /* 29506 */ // (or:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPORDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
11449 /* 29506 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rr),
11450 /* 29511 */ GIR_RootConstrainSelectedInstOperands,
11451 /* 29512 */ // GIR_Coverage, 5777,
11452 /* 29512 */ GIR_Done,
11453 /* 29513 */ // Label 946: @29513
11454 /* 29513 */ GIM_Try, /*On fail goto*//*Label 947*/ GIMT_Encode4(29559),
11455 /* 29518 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11456 /* 29522 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11457 /* 29526 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11458 /* 29530 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 948*/ GIMT_Encode4(29544), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18188 //
11459 /* 29537 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPORYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
11460 /* 29537 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
11461 /* 29542 */ GIR_RootConstrainSelectedInstOperands,
11462 /* 29543 */ // GIR_Coverage, 18188,
11463 /* 29543 */ GIR_Done,
11464 /* 29544 */ // Label 948: @29544
11465 /* 29544 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 949*/ GIMT_Encode4(29558), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18213 //
11466 /* 29551 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VORPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
11467 /* 29551 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
11468 /* 29556 */ GIR_RootConstrainSelectedInstOperands,
11469 /* 29557 */ // GIR_Coverage, 18213,
11470 /* 29557 */ GIR_Done,
11471 /* 29558 */ // Label 949: @29558
11472 /* 29558 */ GIM_Reject,
11473 /* 29559 */ // Label 947: @29559
11474 /* 29559 */ GIM_Reject,
11475 /* 29560 */ // Label 937: @29560
11476 /* 29560 */ GIM_Reject,
11477 /* 29561 */ // Label 758: @29561
11478 /* 29561 */ GIM_Try, /*On fail goto*//*Label 950*/ GIMT_Encode4(29715),
11479 /* 29566 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
11480 /* 29569 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
11481 /* 29572 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11482 /* 29576 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 951*/ GIMT_Encode4(29633), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24431 //
11483 /* 29583 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11484 /* 29587 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11485 /* 29591 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11486 /* 29594 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11487 /* 29598 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11488 /* 29602 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11489 /* 29606 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11490 /* 29608 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11491 /* 29615 */ // (or:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11492 /* 29615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZrm),
11493 /* 29618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11494 /* 29620 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11495 /* 29622 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11496 /* 29626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11497 /* 29631 */ GIR_RootConstrainSelectedInstOperands,
11498 /* 29632 */ // GIR_Coverage, 24431,
11499 /* 29632 */ GIR_EraseRootFromParent_Done,
11500 /* 29633 */ // Label 951: @29633
11501 /* 29633 */ GIM_Try, /*On fail goto*//*Label 952*/ GIMT_Encode4(29714),
11502 /* 29638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11503 /* 29642 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 953*/ GIMT_Encode4(29695), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5771 //
11504 /* 29649 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11505 /* 29653 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11506 /* 29657 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11507 /* 29660 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11508 /* 29664 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11509 /* 29668 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11510 /* 29670 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11511 /* 29677 */ // (or:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11512 /* 29677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZrm),
11513 /* 29680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11514 /* 29682 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11515 /* 29684 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11516 /* 29688 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11517 /* 29693 */ GIR_RootConstrainSelectedInstOperands,
11518 /* 29694 */ // GIR_Coverage, 5771,
11519 /* 29694 */ GIR_EraseRootFromParent_Done,
11520 /* 29695 */ // Label 953: @29695
11521 /* 29695 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 954*/ GIMT_Encode4(29713), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5768 //
11522 /* 29702 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11523 /* 29706 */ // (or:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPORDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
11524 /* 29706 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZrr),
11525 /* 29711 */ GIR_RootConstrainSelectedInstOperands,
11526 /* 29712 */ // GIR_Coverage, 5768,
11527 /* 29712 */ GIR_Done,
11528 /* 29713 */ // Label 954: @29713
11529 /* 29713 */ GIM_Reject,
11530 /* 29714 */ // Label 952: @29714
11531 /* 29714 */ GIM_Reject,
11532 /* 29715 */ // Label 950: @29715
11533 /* 29715 */ GIM_Reject,
11534 /* 29716 */ // Label 759: @29716
11535 /* 29716 */ GIM_Try, /*On fail goto*//*Label 955*/ GIMT_Encode4(30044),
11536 /* 29721 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
11537 /* 29724 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11538 /* 29727 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 956*/ GIMT_Encode4(29788), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23603 //
11539 /* 29734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11540 /* 29738 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11541 /* 29742 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11542 /* 29746 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11543 /* 29749 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11544 /* 29753 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11545 /* 29757 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11546 /* 29761 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11547 /* 29763 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11548 /* 29770 */ // (or:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11549 /* 29770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11550 /* 29773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11551 /* 29775 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11552 /* 29777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11553 /* 29781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11554 /* 29786 */ GIR_RootConstrainSelectedInstOperands,
11555 /* 29787 */ // GIR_Coverage, 23603,
11556 /* 29787 */ GIR_EraseRootFromParent_Done,
11557 /* 29788 */ // Label 956: @29788
11558 /* 29788 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 957*/ GIMT_Encode4(29849), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24425 //
11559 /* 29795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11560 /* 29799 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11561 /* 29803 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11562 /* 29807 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11563 /* 29810 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11564 /* 29814 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11565 /* 29818 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11566 /* 29822 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11567 /* 29824 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11568 /* 29831 */ // (or:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11569 /* 29831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11570 /* 29834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11571 /* 29836 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11572 /* 29838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11573 /* 29842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11574 /* 29847 */ GIR_RootConstrainSelectedInstOperands,
11575 /* 29848 */ // GIR_Coverage, 24425,
11576 /* 29848 */ GIR_EraseRootFromParent_Done,
11577 /* 29849 */ // Label 957: @29849
11578 /* 29849 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 958*/ GIMT_Encode4(29910), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2098 //
11579 /* 29856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11580 /* 29860 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11581 /* 29864 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11582 /* 29868 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11583 /* 29872 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11584 /* 29875 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11585 /* 29879 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11586 /* 29883 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11587 /* 29885 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11588 /* 29892 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11589 /* 29892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11590 /* 29895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11591 /* 29897 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11592 /* 29899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11593 /* 29903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11594 /* 29908 */ GIR_RootConstrainSelectedInstOperands,
11595 /* 29909 */ // GIR_Coverage, 2098,
11596 /* 29909 */ GIR_EraseRootFromParent_Done,
11597 /* 29910 */ // Label 958: @29910
11598 /* 29910 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 959*/ GIMT_Encode4(29971), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5762 //
11599 /* 29917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11600 /* 29921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11601 /* 29925 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11602 /* 29929 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11603 /* 29933 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11604 /* 29936 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11605 /* 29940 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11606 /* 29944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11607 /* 29946 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11608 /* 29953 */ // (or:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11609 /* 29953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11610 /* 29956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11611 /* 29958 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11612 /* 29960 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11613 /* 29964 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11614 /* 29969 */ GIR_RootConstrainSelectedInstOperands,
11615 /* 29970 */ // GIR_Coverage, 5762,
11616 /* 29970 */ GIR_EraseRootFromParent_Done,
11617 /* 29971 */ // Label 959: @29971
11618 /* 29971 */ GIM_Try, /*On fail goto*//*Label 960*/ GIMT_Encode4(30017),
11619 /* 29976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11620 /* 29980 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11621 /* 29984 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11622 /* 29988 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 961*/ GIMT_Encode4(30002), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2097 //
11623 /* 29995 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
11624 /* 29995 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
11625 /* 30000 */ GIR_RootConstrainSelectedInstOperands,
11626 /* 30001 */ // GIR_Coverage, 2097,
11627 /* 30001 */ GIR_Done,
11628 /* 30002 */ // Label 961: @30002
11629 /* 30002 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 962*/ GIMT_Encode4(30016), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2099 //
11630 /* 30009 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
11631 /* 30009 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
11632 /* 30014 */ GIR_RootConstrainSelectedInstOperands,
11633 /* 30015 */ // GIR_Coverage, 2099,
11634 /* 30015 */ GIR_Done,
11635 /* 30016 */ // Label 962: @30016
11636 /* 30016 */ GIM_Reject,
11637 /* 30017 */ // Label 960: @30017
11638 /* 30017 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 963*/ GIMT_Encode4(30043), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5759 //
11639 /* 30024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11640 /* 30028 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11641 /* 30032 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11642 /* 30036 */ // (or:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPORQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
11643 /* 30036 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
11644 /* 30041 */ GIR_RootConstrainSelectedInstOperands,
11645 /* 30042 */ // GIR_Coverage, 5759,
11646 /* 30042 */ GIR_Done,
11647 /* 30043 */ // Label 963: @30043
11648 /* 30043 */ GIM_Reject,
11649 /* 30044 */ // Label 955: @30044
11650 /* 30044 */ GIM_Reject,
11651 /* 30045 */ // Label 760: @30045
11652 /* 30045 */ GIM_Try, /*On fail goto*//*Label 964*/ GIMT_Encode4(30501),
11653 /* 30050 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
11654 /* 30053 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
11655 /* 30056 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 965*/ GIMT_Encode4(30117), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23605 //
11656 /* 30063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11657 /* 30067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11658 /* 30071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11659 /* 30075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11660 /* 30078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11661 /* 30082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11662 /* 30086 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11663 /* 30090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11664 /* 30092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11665 /* 30099 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11666 /* 30099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11667 /* 30102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11668 /* 30104 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11669 /* 30106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11670 /* 30110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11671 /* 30115 */ GIR_RootConstrainSelectedInstOperands,
11672 /* 30116 */ // GIR_Coverage, 23605,
11673 /* 30116 */ GIR_EraseRootFromParent_Done,
11674 /* 30117 */ // Label 965: @30117
11675 /* 30117 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 966*/ GIMT_Encode4(30178), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24419 //
11676 /* 30124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11677 /* 30128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11678 /* 30132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11679 /* 30136 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11680 /* 30139 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11681 /* 30143 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11682 /* 30147 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11683 /* 30151 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11684 /* 30153 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11685 /* 30160 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11686 /* 30160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11687 /* 30163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11688 /* 30165 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11689 /* 30167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11690 /* 30171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11691 /* 30176 */ GIR_RootConstrainSelectedInstOperands,
11692 /* 30177 */ // GIR_Coverage, 24419,
11693 /* 30177 */ GIR_EraseRootFromParent_Done,
11694 /* 30178 */ // Label 966: @30178
11695 /* 30178 */ GIM_Try, /*On fail goto*//*Label 967*/ GIMT_Encode4(30302),
11696 /* 30183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11697 /* 30187 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 968*/ GIMT_Encode4(30244), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25490 //
11698 /* 30194 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11699 /* 30198 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11700 /* 30202 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11701 /* 30205 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11702 /* 30209 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11703 /* 30213 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11704 /* 30217 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11705 /* 30219 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11706 /* 30226 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11707 /* 30226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11708 /* 30229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11709 /* 30231 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11710 /* 30233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11711 /* 30237 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11712 /* 30242 */ GIR_RootConstrainSelectedInstOperands,
11713 /* 30243 */ // GIR_Coverage, 25490,
11714 /* 30243 */ GIR_EraseRootFromParent_Done,
11715 /* 30244 */ // Label 968: @30244
11716 /* 30244 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 969*/ GIMT_Encode4(30301), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2102 //
11717 /* 30251 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11718 /* 30255 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11719 /* 30259 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11720 /* 30263 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11721 /* 30266 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11722 /* 30270 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11723 /* 30274 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11724 /* 30276 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11725 /* 30283 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11726 /* 30283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11727 /* 30286 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11728 /* 30288 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11729 /* 30290 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11730 /* 30294 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11731 /* 30299 */ GIR_RootConstrainSelectedInstOperands,
11732 /* 30300 */ // GIR_Coverage, 2102,
11733 /* 30300 */ GIR_EraseRootFromParent_Done,
11734 /* 30301 */ // Label 969: @30301
11735 /* 30301 */ GIM_Reject,
11736 /* 30302 */ // Label 967: @30302
11737 /* 30302 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 970*/ GIMT_Encode4(30363), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5753 //
11738 /* 30309 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11739 /* 30313 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11740 /* 30317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11741 /* 30321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11742 /* 30325 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11743 /* 30328 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11744 /* 30332 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11745 /* 30336 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11746 /* 30338 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11747 /* 30345 */ // (or:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11748 /* 30345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11749 /* 30348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11750 /* 30350 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11751 /* 30352 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11752 /* 30356 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11753 /* 30361 */ GIR_RootConstrainSelectedInstOperands,
11754 /* 30362 */ // GIR_Coverage, 5753,
11755 /* 30362 */ GIR_EraseRootFromParent_Done,
11756 /* 30363 */ // Label 970: @30363
11757 /* 30363 */ GIM_Try, /*On fail goto*//*Label 971*/ GIMT_Encode4(30448),
11758 /* 30368 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11759 /* 30372 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11760 /* 30376 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 972*/ GIMT_Encode4(30429), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18230 //
11761 /* 30383 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11762 /* 30387 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11763 /* 30391 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11764 /* 30394 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11765 /* 30398 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11766 /* 30402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11767 /* 30404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11768 /* 30411 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11769 /* 30411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11770 /* 30414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11771 /* 30416 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11772 /* 30418 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11773 /* 30422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11774 /* 30427 */ GIR_RootConstrainSelectedInstOperands,
11775 /* 30428 */ // GIR_Coverage, 18230,
11776 /* 30428 */ GIR_EraseRootFromParent_Done,
11777 /* 30429 */ // Label 972: @30429
11778 /* 30429 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 973*/ GIMT_Encode4(30447), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2101 //
11779 /* 30436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11780 /* 30440 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPORYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
11781 /* 30440 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
11782 /* 30445 */ GIR_RootConstrainSelectedInstOperands,
11783 /* 30446 */ // GIR_Coverage, 2101,
11784 /* 30446 */ GIR_Done,
11785 /* 30447 */ // Label 973: @30447
11786 /* 30447 */ GIM_Reject,
11787 /* 30448 */ // Label 971: @30448
11788 /* 30448 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 974*/ GIMT_Encode4(30474), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5750 //
11789 /* 30455 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11790 /* 30459 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11791 /* 30463 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11792 /* 30467 */ // (or:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPORQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
11793 /* 30467 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
11794 /* 30472 */ GIR_RootConstrainSelectedInstOperands,
11795 /* 30473 */ // GIR_Coverage, 5750,
11796 /* 30473 */ GIR_Done,
11797 /* 30474 */ // Label 974: @30474
11798 /* 30474 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 975*/ GIMT_Encode4(30500), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18214 //
11799 /* 30481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11800 /* 30485 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11801 /* 30489 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11802 /* 30493 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VORPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
11803 /* 30493 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
11804 /* 30498 */ GIR_RootConstrainSelectedInstOperands,
11805 /* 30499 */ // GIR_Coverage, 18214,
11806 /* 30499 */ GIR_Done,
11807 /* 30500 */ // Label 975: @30500
11808 /* 30500 */ GIM_Reject,
11809 /* 30501 */ // Label 964: @30501
11810 /* 30501 */ GIM_Reject,
11811 /* 30502 */ // Label 761: @30502
11812 /* 30502 */ GIM_Try, /*On fail goto*//*Label 976*/ GIMT_Encode4(30656),
11813 /* 30507 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
11814 /* 30510 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
11815 /* 30513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11816 /* 30517 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 977*/ GIMT_Encode4(30574), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24413 //
11817 /* 30524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11818 /* 30528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11819 /* 30532 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11820 /* 30535 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11821 /* 30539 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11822 /* 30543 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11823 /* 30547 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11824 /* 30549 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11825 /* 30556 */ // (or:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11826 /* 30556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
11827 /* 30559 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11828 /* 30561 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11829 /* 30563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11830 /* 30567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11831 /* 30572 */ GIR_RootConstrainSelectedInstOperands,
11832 /* 30573 */ // GIR_Coverage, 24413,
11833 /* 30573 */ GIR_EraseRootFromParent_Done,
11834 /* 30574 */ // Label 977: @30574
11835 /* 30574 */ GIM_Try, /*On fail goto*//*Label 978*/ GIMT_Encode4(30655),
11836 /* 30579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11837 /* 30583 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 979*/ GIMT_Encode4(30636), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5744 //
11838 /* 30590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11839 /* 30594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11840 /* 30598 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11841 /* 30601 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11842 /* 30605 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11843 /* 30609 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11844 /* 30611 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11845 /* 30618 */ // (or:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11846 /* 30618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
11847 /* 30621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11848 /* 30623 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11849 /* 30625 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11850 /* 30629 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11851 /* 30634 */ GIR_RootConstrainSelectedInstOperands,
11852 /* 30635 */ // GIR_Coverage, 5744,
11853 /* 30635 */ GIR_EraseRootFromParent_Done,
11854 /* 30636 */ // Label 979: @30636
11855 /* 30636 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 980*/ GIMT_Encode4(30654), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5741 //
11856 /* 30643 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11857 /* 30647 */ // (or:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPORQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
11858 /* 30647 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
11859 /* 30652 */ GIR_RootConstrainSelectedInstOperands,
11860 /* 30653 */ // GIR_Coverage, 5741,
11861 /* 30653 */ GIR_Done,
11862 /* 30654 */ // Label 980: @30654
11863 /* 30654 */ GIM_Reject,
11864 /* 30655 */ // Label 978: @30655
11865 /* 30655 */ GIM_Reject,
11866 /* 30656 */ // Label 976: @30656
11867 /* 30656 */ GIM_Reject,
11868 /* 30657 */ // Label 762: @30657
11869 /* 30657 */ GIM_Reject,
11870 /* 30658 */ // Label 5: @30658
11871 /* 30658 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 1004*/ GIMT_Encode4(42720),
11872 /* 30669 */ /*GILLT_s1*//*Label 981*/ GIMT_Encode4(30769),
11873 /* 30673 */ /*GILLT_s8*//*Label 982*/ GIMT_Encode4(31325),
11874 /* 30677 */ /*GILLT_s16*//*Label 983*/ GIMT_Encode4(31932),
11875 /* 30681 */ /*GILLT_s32*//*Label 984*/ GIMT_Encode4(32479),
11876 /* 30685 */ /*GILLT_s64*//*Label 985*/ GIMT_Encode4(33282), GIMT_Encode4(0), GIMT_Encode4(0),
11877 /* 30697 */ /*GILLT_v2s1*//*Label 986*/ GIMT_Encode4(34051),
11878 /* 30701 */ /*GILLT_v4s1*//*Label 987*/ GIMT_Encode4(34591),
11879 /* 30705 */ /*GILLT_v8s1*//*Label 988*/ GIMT_Encode4(35131),
11880 /* 30709 */ /*GILLT_v16s1*//*Label 989*/ GIMT_Encode4(35909),
11881 /* 30713 */ /*GILLT_v32s1*//*Label 990*/ GIMT_Encode4(36160),
11882 /* 30717 */ /*GILLT_v64s1*//*Label 991*/ GIMT_Encode4(36411),
11883 /* 30721 */ /*GILLT_v16s8*//*Label 992*/ GIMT_Encode4(36662),
11884 /* 30725 */ /*GILLT_v32s8*//*Label 993*/ GIMT_Encode4(37267),
11885 /* 30729 */ /*GILLT_v64s8*//*Label 994*/ GIMT_Encode4(37980),
11886 /* 30733 */ /*GILLT_v8s16*//*Label 995*/ GIMT_Encode4(38172),
11887 /* 30737 */ /*GILLT_v16s16*//*Label 996*/ GIMT_Encode4(38777),
11888 /* 30741 */ /*GILLT_v32s16*//*Label 997*/ GIMT_Encode4(39490),
11889 /* 30745 */ /*GILLT_v4s32*//*Label 998*/ GIMT_Encode4(39682),
11890 /* 30749 */ /*GILLT_v8s32*//*Label 999*/ GIMT_Encode4(40285),
11891 /* 30753 */ /*GILLT_v16s32*//*Label 1000*/ GIMT_Encode4(40998),
11892 /* 30757 */ /*GILLT_v2s64*//*Label 1001*/ GIMT_Encode4(41190),
11893 /* 30761 */ /*GILLT_v4s64*//*Label 1002*/ GIMT_Encode4(41795),
11894 /* 30765 */ /*GILLT_v8s64*//*Label 1003*/ GIMT_Encode4(42528),
11895 /* 30769 */ // Label 981: @30769
11896 /* 30769 */ GIM_Try, /*On fail goto*//*Label 1005*/ GIMT_Encode4(31324),
11897 /* 30774 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
11898 /* 30777 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
11899 /* 30780 */ GIM_Try, /*On fail goto*//*Label 1006*/ GIMT_Encode4(31151),
11900 /* 30785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
11901 /* 30789 */ GIM_Try, /*On fail goto*//*Label 1007*/ GIMT_Encode4(30909), // Rule ID 25616 //
11902 /* 30794 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11903 /* 30798 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
11904 /* 30802 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
11905 /* 30806 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
11906 /* 30810 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
11907 /* 30815 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
11908 /* 30819 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
11909 /* 30825 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
11910 /* 30827 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
11911 /* 30831 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
11912 /* 30833 */ // (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] })
11913 /* 30833 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
11914 /* 30836 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11915 /* 30840 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11916 /* 30845 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
11917 /* 30849 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11918 /* 30854 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
11919 /* 30857 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11920 /* 30861 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11921 /* 30866 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
11922 /* 30870 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11923 /* 30875 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
11924 /* 30878 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
11925 /* 30882 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11926 /* 30887 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
11927 /* 30890 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
11928 /* 30893 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
11929 /* 30895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11930 /* 30898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11931 /* 30900 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
11932 /* 30903 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
11933 /* 30908 */ // GIR_Coverage, 25616,
11934 /* 30908 */ GIR_EraseRootFromParent_Done,
11935 /* 30909 */ // Label 1007: @30909
11936 /* 30909 */ GIM_Try, /*On fail goto*//*Label 1008*/ GIMT_Encode4(31030), // Rule ID 19596 //
11937 /* 30914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11938 /* 30918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
11939 /* 30922 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
11940 /* 30926 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
11941 /* 30930 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
11942 /* 30935 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
11943 /* 30940 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
11944 /* 30944 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
11945 /* 30950 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
11946 /* 30952 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
11947 /* 30954 */ // (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] })
11948 /* 30954 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
11949 /* 30957 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11950 /* 30961 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11951 /* 30966 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
11952 /* 30970 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11953 /* 30975 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
11954 /* 30978 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11955 /* 30982 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11956 /* 30987 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
11957 /* 30991 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11958 /* 30996 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
11959 /* 30999 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
11960 /* 31003 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11961 /* 31008 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
11962 /* 31011 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
11963 /* 31014 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
11964 /* 31016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11965 /* 31019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11966 /* 31021 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
11967 /* 31024 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
11968 /* 31029 */ // GIR_Coverage, 19596,
11969 /* 31029 */ GIR_EraseRootFromParent_Done,
11970 /* 31030 */ // Label 1008: @31030
11971 /* 31030 */ GIM_Try, /*On fail goto*//*Label 1009*/ GIMT_Encode4(31150), // Rule ID 25617 //
11972 /* 31035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
11973 /* 31039 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11974 /* 31043 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
11975 /* 31047 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
11976 /* 31051 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
11977 /* 31055 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
11978 /* 31060 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
11979 /* 31064 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
11980 /* 31070 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
11981 /* 31072 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
11982 /* 31074 */ // (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] })
11983 /* 31074 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
11984 /* 31077 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11985 /* 31081 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11986 /* 31086 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
11987 /* 31090 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11988 /* 31095 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
11989 /* 31098 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11990 /* 31102 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11991 /* 31107 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
11992 /* 31111 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11993 /* 31116 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
11994 /* 31119 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
11995 /* 31123 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11996 /* 31128 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
11997 /* 31131 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
11998 /* 31134 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
11999 /* 31136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12000 /* 31139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12001 /* 31141 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12002 /* 31144 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
12003 /* 31149 */ // GIR_Coverage, 25617,
12004 /* 31149 */ GIR_EraseRootFromParent_Done,
12005 /* 31150 */ // Label 1009: @31150
12006 /* 31150 */ GIM_Reject,
12007 /* 31151 */ // Label 1006: @31151
12008 /* 31151 */ GIM_Try, /*On fail goto*//*Label 1010*/ GIMT_Encode4(31230), // Rule ID 19582 //
12009 /* 31156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
12010 /* 31160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12011 /* 31164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12012 /* 31168 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
12013 /* 31174 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
12014 /* 31176 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12015 /* 31178 */ // (xor:{ *:[v1i1] } VK1:{ *:[v1i1] }:$src, immAllOnesV:{ *:[v1i1] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src, VK16:{ *:[i32] })), VK2:{ *:[i32] })
12016 /* 31178 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12017 /* 31181 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12018 /* 31185 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12019 /* 31190 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
12020 /* 31194 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12021 /* 31199 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12022 /* 31202 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
12023 /* 31206 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12024 /* 31211 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12025 /* 31214 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12026 /* 31216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12027 /* 31219 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12028 /* 31221 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12029 /* 31224 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
12030 /* 31229 */ // GIR_Coverage, 19582,
12031 /* 31229 */ GIR_EraseRootFromParent_Done,
12032 /* 31230 */ // Label 1010: @31230
12033 /* 31230 */ GIM_Try, /*On fail goto*//*Label 1011*/ GIMT_Encode4(31323), // Rule ID 19600 //
12034 /* 31235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12035 /* 31239 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12036 /* 31243 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12037 /* 31247 */ // (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] })
12038 /* 31247 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
12039 /* 31250 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12040 /* 31254 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12041 /* 31259 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
12042 /* 31263 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12043 /* 31268 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12044 /* 31271 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12045 /* 31275 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12046 /* 31280 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
12047 /* 31284 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12048 /* 31289 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12049 /* 31292 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
12050 /* 31296 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12051 /* 31301 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12052 /* 31304 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
12053 /* 31307 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12054 /* 31309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12055 /* 31312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12056 /* 31314 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12057 /* 31317 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
12058 /* 31322 */ // GIR_Coverage, 19600,
12059 /* 31322 */ GIR_EraseRootFromParent_Done,
12060 /* 31323 */ // Label 1011: @31323
12061 /* 31323 */ GIM_Reject,
12062 /* 31324 */ // Label 1005: @31324
12063 /* 31324 */ GIM_Reject,
12064 /* 31325 */ // Label 982: @31325
12065 /* 31325 */ GIM_Try, /*On fail goto*//*Label 1012*/ GIMT_Encode4(31931),
12066 /* 31330 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
12067 /* 31333 */ GIM_Try, /*On fail goto*//*Label 1013*/ GIMT_Encode4(31496),
12068 /* 31338 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
12069 /* 31341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12070 /* 31345 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1014*/ GIMT_Encode4(31405), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26313 //
12071 /* 31352 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12072 /* 31356 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12073 /* 31360 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12074 /* 31363 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12075 /* 31367 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
12076 /* 31371 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12077 /* 31375 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12078 /* 31377 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12079 /* 31384 */ // (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)
12080 /* 31384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8rm),
12081 /* 31387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12082 /* 31389 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12083 /* 31391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12084 /* 31395 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12085 /* 31398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12086 /* 31403 */ GIR_RootConstrainSelectedInstOperands,
12087 /* 31404 */ // GIR_Coverage, 26313,
12088 /* 31404 */ GIR_EraseRootFromParent_Done,
12089 /* 31405 */ // Label 1014: @31405
12090 /* 31405 */ GIM_Try, /*On fail goto*//*Label 1015*/ GIMT_Encode4(31495),
12091 /* 31410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12092 /* 31414 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1016*/ GIMT_Encode4(31470), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23077 //
12093 /* 31421 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12094 /* 31425 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12095 /* 31429 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12096 /* 31432 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12097 /* 31436 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
12098 /* 31440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12099 /* 31442 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12100 /* 31449 */ // (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)
12101 /* 31449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8rm),
12102 /* 31452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12103 /* 31454 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12104 /* 31456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12105 /* 31460 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12106 /* 31463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12107 /* 31468 */ GIR_RootConstrainSelectedInstOperands,
12108 /* 31469 */ // GIR_Coverage, 23077,
12109 /* 31469 */ GIR_EraseRootFromParent_Done,
12110 /* 31470 */ // Label 1016: @31470
12111 /* 31470 */ GIM_Try, /*On fail goto*//*Label 1017*/ GIMT_Encode4(31494), // Rule ID 22826 //
12112 /* 31475 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 128,
12113 /* 31479 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -128:{ *:[i8] }) => (ADD8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, -128:{ *:[i8] })
12114 /* 31479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri),
12115 /* 31482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12116 /* 31484 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12117 /* 31486 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
12118 /* 31489 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12119 /* 31492 */ GIR_RootConstrainSelectedInstOperands,
12120 /* 31493 */ // GIR_Coverage, 22826,
12121 /* 31493 */ GIR_EraseRootFromParent_Done,
12122 /* 31494 */ // Label 1017: @31494
12123 /* 31494 */ GIM_Reject,
12124 /* 31495 */ // Label 1015: @31495
12125 /* 31495 */ GIM_Reject,
12126 /* 31496 */ // Label 1013: @31496
12127 /* 31496 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1018*/ GIMT_Encode4(31633), GIMT_Encode2(GIFBS_HasBMI), // Rule ID 25230 //
12128 /* 31503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12129 /* 31507 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12130 /* 31511 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
12131 /* 31515 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
12132 /* 31519 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12133 /* 31523 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12134 /* 31528 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
12135 /* 31532 */ // MIs[0] src
12136 /* 31532 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
12137 /* 31537 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12138 /* 31539 */ // (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] })
12139 /* 31539 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
12140 /* 31542 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12141 /* 31546 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12142 /* 31551 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
12143 /* 31553 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
12144 /* 31556 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12145 /* 31560 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12146 /* 31565 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
12147 /* 31568 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src
12148 /* 31572 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/1,
12149 /* 31575 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12150 /* 31580 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12151 /* 31585 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12152 /* 31590 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
12153 /* 31593 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::BLSMSK32rr),
12154 /* 31597 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12155 /* 31602 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12156 /* 31605 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
12157 /* 31608 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12158 /* 31610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12159 /* 31613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12160 /* 31615 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
12161 /* 31622 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
12162 /* 31627 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
12163 /* 31632 */ // GIR_Coverage, 25230,
12164 /* 31632 */ GIR_EraseRootFromParent_Done,
12165 /* 31633 */ // Label 1018: @31633
12166 /* 31633 */ GIM_Try, /*On fail goto*//*Label 1019*/ GIMT_Encode4(31930),
12167 /* 31638 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
12168 /* 31641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12169 /* 31645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12170 /* 31649 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1020*/ GIMT_Encode4(31773), GIMT_Encode2(GIFBS_HasBMI), // Rule ID 17380 //
12171 /* 31656 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12172 /* 31660 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
12173 /* 31664 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12174 /* 31668 */ // MIs[1] src
12175 /* 31668 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
12176 /* 31673 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
12177 /* 31677 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12178 /* 31679 */ // (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] })
12179 /* 31679 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
12180 /* 31682 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12181 /* 31686 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12182 /* 31691 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
12183 /* 31693 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
12184 /* 31696 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12185 /* 31700 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12186 /* 31705 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
12187 /* 31708 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
12188 /* 31712 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/1,
12189 /* 31715 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12190 /* 31720 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12191 /* 31725 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12192 /* 31730 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
12193 /* 31733 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::BLSMSK32rr),
12194 /* 31737 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12195 /* 31742 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12196 /* 31745 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
12197 /* 31748 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12198 /* 31750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12199 /* 31753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12200 /* 31755 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
12201 /* 31762 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
12202 /* 31767 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
12203 /* 31772 */ // GIR_Coverage, 17380,
12204 /* 31772 */ GIR_EraseRootFromParent_Done,
12205 /* 31773 */ // Label 1020: @31773
12206 /* 31773 */ GIM_Try, /*On fail goto*//*Label 1021*/ GIMT_Encode4(31815),
12207 /* 31778 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12208 /* 31782 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1022*/ GIMT_Encode4(31798), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 243 //
12209 /* 31789 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -1:{ *:[i8] }) => (NOT8r:{ *:[i8] } GR8:{ *:[i8] }:$src1)
12210 /* 31789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8r),
12211 /* 31792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12212 /* 31794 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12213 /* 31796 */ GIR_RootConstrainSelectedInstOperands,
12214 /* 31797 */ // GIR_Coverage, 243,
12215 /* 31797 */ GIR_EraseRootFromParent_Done,
12216 /* 31798 */ // Label 1022: @31798
12217 /* 31798 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1023*/ GIMT_Encode4(31814), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 251 //
12218 /* 31805 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -1:{ *:[i8] }) => (NOT8r_ND:{ *:[i8] } GR8:{ *:[i8] }:$src1)
12219 /* 31805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8r_ND),
12220 /* 31808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12221 /* 31810 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12222 /* 31812 */ GIR_RootConstrainSelectedInstOperands,
12223 /* 31813 */ // GIR_Coverage, 251,
12224 /* 31813 */ GIR_EraseRootFromParent_Done,
12225 /* 31814 */ // Label 1023: @31814
12226 /* 31814 */ GIM_Reject,
12227 /* 31815 */ // Label 1021: @31815
12228 /* 31815 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1024*/ GIMT_Encode4(31847), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23081 //
12229 /* 31822 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12230 /* 31826 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12231 /* 31830 */ // MIs[1] Operand 1
12232 /* 31830 */ // No operand predicates
12233 /* 31830 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12234 /* 31832 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (XOR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
12235 /* 31832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8ri),
12236 /* 31835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12237 /* 31837 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12238 /* 31839 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12239 /* 31842 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12240 /* 31845 */ GIR_RootConstrainSelectedInstOperands,
12241 /* 31846 */ // GIR_Coverage, 23081,
12242 /* 31846 */ GIR_EraseRootFromParent_Done,
12243 /* 31847 */ // Label 1024: @31847
12244 /* 31847 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1025*/ GIMT_Encode4(31879), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23171 //
12245 /* 31854 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12246 /* 31858 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12247 /* 31862 */ // MIs[1] Operand 1
12248 /* 31862 */ // No operand predicates
12249 /* 31862 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12250 /* 31864 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (XOR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
12251 /* 31864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8ri_ND),
12252 /* 31867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12253 /* 31869 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12254 /* 31871 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12255 /* 31874 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12256 /* 31877 */ GIR_RootConstrainSelectedInstOperands,
12257 /* 31878 */ // GIR_Coverage, 23171,
12258 /* 31878 */ GIR_EraseRootFromParent_Done,
12259 /* 31879 */ // Label 1025: @31879
12260 /* 31879 */ GIM_Try, /*On fail goto*//*Label 1026*/ GIMT_Encode4(31929),
12261 /* 31884 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12262 /* 31888 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1027*/ GIMT_Encode4(31908), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23073 //
12263 /* 31895 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (XOR8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
12264 /* 31895 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR8rr),
12265 /* 31900 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12266 /* 31906 */ GIR_RootConstrainSelectedInstOperands,
12267 /* 31907 */ // GIR_Coverage, 23073,
12268 /* 31907 */ GIR_Done,
12269 /* 31908 */ // Label 1027: @31908
12270 /* 31908 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1028*/ GIMT_Encode4(31928), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23163 //
12271 /* 31915 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (XOR8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
12272 /* 31915 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR8rr_ND),
12273 /* 31920 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12274 /* 31926 */ GIR_RootConstrainSelectedInstOperands,
12275 /* 31927 */ // GIR_Coverage, 23163,
12276 /* 31927 */ GIR_Done,
12277 /* 31928 */ // Label 1028: @31928
12278 /* 31928 */ GIM_Reject,
12279 /* 31929 */ // Label 1026: @31929
12280 /* 31929 */ GIM_Reject,
12281 /* 31930 */ // Label 1019: @31930
12282 /* 31930 */ GIM_Reject,
12283 /* 31931 */ // Label 1012: @31931
12284 /* 31931 */ GIM_Reject,
12285 /* 31932 */ // Label 983: @31932
12286 /* 31932 */ GIM_Try, /*On fail goto*//*Label 1029*/ GIMT_Encode4(32478),
12287 /* 31937 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
12288 /* 31940 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
12289 /* 31943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12290 /* 31947 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1030*/ GIMT_Encode4(32007), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26314 //
12291 /* 31954 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12292 /* 31958 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12293 /* 31962 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12294 /* 31965 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12295 /* 31969 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
12296 /* 31973 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12297 /* 31977 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12298 /* 31979 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12299 /* 31986 */ // (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)
12300 /* 31986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16rm),
12301 /* 31989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12302 /* 31991 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12303 /* 31993 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12304 /* 31997 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12305 /* 32000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12306 /* 32005 */ GIR_RootConstrainSelectedInstOperands,
12307 /* 32006 */ // GIR_Coverage, 26314,
12308 /* 32006 */ GIR_EraseRootFromParent_Done,
12309 /* 32007 */ // Label 1030: @32007
12310 /* 32007 */ GIM_Try, /*On fail goto*//*Label 1031*/ GIMT_Encode4(32111),
12311 /* 32012 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12312 /* 32016 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1032*/ GIMT_Encode4(32072), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23078 //
12313 /* 32023 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12314 /* 32027 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12315 /* 32031 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12316 /* 32034 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12317 /* 32038 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
12318 /* 32042 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12319 /* 32044 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12320 /* 32051 */ // (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)
12321 /* 32051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16rm),
12322 /* 32054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12323 /* 32056 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12324 /* 32058 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12325 /* 32062 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12326 /* 32065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12327 /* 32070 */ GIR_RootConstrainSelectedInstOperands,
12328 /* 32071 */ // GIR_Coverage, 23078,
12329 /* 32071 */ GIR_EraseRootFromParent_Done,
12330 /* 32072 */ // Label 1032: @32072
12331 /* 32072 */ GIM_Try, /*On fail goto*//*Label 1033*/ GIMT_Encode4(32110), // Rule ID 22827 //
12332 /* 32077 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(18446744073709518848u),
12333 /* 32088 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -32768:{ *:[i16] }) => (ADD16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -32768:{ *:[i16] })
12334 /* 32088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri),
12335 /* 32091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12336 /* 32093 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12337 /* 32095 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744073709518848u),
12338 /* 32105 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12339 /* 32108 */ GIR_RootConstrainSelectedInstOperands,
12340 /* 32109 */ // GIR_Coverage, 22827,
12341 /* 32109 */ GIR_EraseRootFromParent_Done,
12342 /* 32110 */ // Label 1033: @32110
12343 /* 32110 */ GIM_Reject,
12344 /* 32111 */ // Label 1031: @32111
12345 /* 32111 */ GIM_Try, /*On fail goto*//*Label 1034*/ GIMT_Encode4(32213), // Rule ID 26286 //
12346 /* 32116 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12347 /* 32120 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12348 /* 32124 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
12349 /* 32128 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12350 /* 32132 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12351 /* 32136 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12352 /* 32141 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12353 /* 32145 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12354 /* 32147 */ // (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] }))
12355 /* 32147 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
12356 /* 32150 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12357 /* 32154 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12358 /* 32159 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12359 /* 32161 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
12360 /* 32164 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12361 /* 32168 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12362 /* 32173 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12363 /* 32176 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12364 /* 32180 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12365 /* 32183 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
12366 /* 32188 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
12367 /* 32193 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12368 /* 32198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC16rr),
12369 /* 32201 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12370 /* 32203 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12371 /* 32205 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12372 /* 32208 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12373 /* 32211 */ GIR_RootConstrainSelectedInstOperands,
12374 /* 32212 */ // GIR_Coverage, 26286,
12375 /* 32212 */ GIR_EraseRootFromParent_Done,
12376 /* 32213 */ // Label 1034: @32213
12377 /* 32213 */ GIM_Try, /*On fail goto*//*Label 1035*/ GIMT_Encode4(32477),
12378 /* 32218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12379 /* 32222 */ GIM_Try, /*On fail goto*//*Label 1036*/ GIMT_Encode4(32320), // Rule ID 23007 //
12380 /* 32227 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12381 /* 32231 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12382 /* 32235 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
12383 /* 32239 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12384 /* 32243 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12385 /* 32247 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12386 /* 32252 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12387 /* 32254 */ // (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] }))
12388 /* 32254 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
12389 /* 32257 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12390 /* 32261 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12391 /* 32266 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12392 /* 32268 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
12393 /* 32271 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12394 /* 32275 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12395 /* 32280 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12396 /* 32283 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12397 /* 32287 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12398 /* 32290 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
12399 /* 32295 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
12400 /* 32300 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12401 /* 32305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC16rr),
12402 /* 32308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12403 /* 32310 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12404 /* 32312 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12405 /* 32315 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12406 /* 32318 */ GIR_RootConstrainSelectedInstOperands,
12407 /* 32319 */ // GIR_Coverage, 23007,
12408 /* 32319 */ GIR_EraseRootFromParent_Done,
12409 /* 32320 */ // Label 1036: @32320
12410 /* 32320 */ GIM_Try, /*On fail goto*//*Label 1037*/ GIMT_Encode4(32362),
12411 /* 32325 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12412 /* 32329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1038*/ GIMT_Encode4(32345), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 244 //
12413 /* 32336 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -1:{ *:[i16] }) => (NOT16r:{ *:[i16] } GR16:{ *:[i16] }:$src1)
12414 /* 32336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16r),
12415 /* 32339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12416 /* 32341 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12417 /* 32343 */ GIR_RootConstrainSelectedInstOperands,
12418 /* 32344 */ // GIR_Coverage, 244,
12419 /* 32344 */ GIR_EraseRootFromParent_Done,
12420 /* 32345 */ // Label 1038: @32345
12421 /* 32345 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1039*/ GIMT_Encode4(32361), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 252 //
12422 /* 32352 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -1:{ *:[i16] }) => (NOT16r_ND:{ *:[i16] } GR16:{ *:[i16] }:$src1)
12423 /* 32352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16r_ND),
12424 /* 32355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12425 /* 32357 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12426 /* 32359 */ GIR_RootConstrainSelectedInstOperands,
12427 /* 32360 */ // GIR_Coverage, 252,
12428 /* 32360 */ GIR_EraseRootFromParent_Done,
12429 /* 32361 */ // Label 1039: @32361
12430 /* 32361 */ GIM_Reject,
12431 /* 32362 */ // Label 1037: @32362
12432 /* 32362 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1040*/ GIMT_Encode4(32394), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23082 //
12433 /* 32369 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12434 /* 32373 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12435 /* 32377 */ // MIs[1] Operand 1
12436 /* 32377 */ // No operand predicates
12437 /* 32377 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12438 /* 32379 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (XOR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
12439 /* 32379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16ri),
12440 /* 32382 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12441 /* 32384 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12442 /* 32386 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12443 /* 32389 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12444 /* 32392 */ GIR_RootConstrainSelectedInstOperands,
12445 /* 32393 */ // GIR_Coverage, 23082,
12446 /* 32393 */ GIR_EraseRootFromParent_Done,
12447 /* 32394 */ // Label 1040: @32394
12448 /* 32394 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1041*/ GIMT_Encode4(32426), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23172 //
12449 /* 32401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12450 /* 32405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12451 /* 32409 */ // MIs[1] Operand 1
12452 /* 32409 */ // No operand predicates
12453 /* 32409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12454 /* 32411 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (XOR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
12455 /* 32411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16ri_ND),
12456 /* 32414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12457 /* 32416 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12458 /* 32418 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12459 /* 32421 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12460 /* 32424 */ GIR_RootConstrainSelectedInstOperands,
12461 /* 32425 */ // GIR_Coverage, 23172,
12462 /* 32425 */ GIR_EraseRootFromParent_Done,
12463 /* 32426 */ // Label 1041: @32426
12464 /* 32426 */ GIM_Try, /*On fail goto*//*Label 1042*/ GIMT_Encode4(32476),
12465 /* 32431 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12466 /* 32435 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1043*/ GIMT_Encode4(32455), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23074 //
12467 /* 32442 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (XOR16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
12468 /* 32442 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR16rr),
12469 /* 32447 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12470 /* 32453 */ GIR_RootConstrainSelectedInstOperands,
12471 /* 32454 */ // GIR_Coverage, 23074,
12472 /* 32454 */ GIR_Done,
12473 /* 32455 */ // Label 1043: @32455
12474 /* 32455 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1044*/ GIMT_Encode4(32475), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23164 //
12475 /* 32462 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (XOR16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
12476 /* 32462 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR16rr_ND),
12477 /* 32467 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12478 /* 32473 */ GIR_RootConstrainSelectedInstOperands,
12479 /* 32474 */ // GIR_Coverage, 23164,
12480 /* 32474 */ GIR_Done,
12481 /* 32475 */ // Label 1044: @32475
12482 /* 32475 */ GIM_Reject,
12483 /* 32476 */ // Label 1042: @32476
12484 /* 32476 */ GIM_Reject,
12485 /* 32477 */ // Label 1035: @32477
12486 /* 32477 */ GIM_Reject,
12487 /* 32478 */ // Label 1029: @32478
12488 /* 32478 */ GIM_Reject,
12489 /* 32479 */ // Label 984: @32479
12490 /* 32479 */ GIM_Try, /*On fail goto*//*Label 1045*/ GIMT_Encode4(33281),
12491 /* 32484 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
12492 /* 32487 */ GIM_Try, /*On fail goto*//*Label 1046*/ GIMT_Encode4(32802),
12493 /* 32492 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12494 /* 32495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12495 /* 32499 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1047*/ GIMT_Encode4(32559), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26315 //
12496 /* 32506 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12497 /* 32510 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12498 /* 32514 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12499 /* 32517 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12500 /* 32521 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
12501 /* 32525 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12502 /* 32529 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12503 /* 32531 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12504 /* 32538 */ // (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)
12505 /* 32538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32rm),
12506 /* 32541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12507 /* 32543 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12508 /* 32545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12509 /* 32549 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12510 /* 32552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12511 /* 32557 */ GIR_RootConstrainSelectedInstOperands,
12512 /* 32558 */ // GIR_Coverage, 26315,
12513 /* 32558 */ GIR_EraseRootFromParent_Done,
12514 /* 32559 */ // Label 1047: @32559
12515 /* 32559 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1048*/ GIMT_Encode4(32619), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23079 //
12516 /* 32566 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12517 /* 32570 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12518 /* 32574 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12519 /* 32578 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12520 /* 32581 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12521 /* 32585 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
12522 /* 32589 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12523 /* 32591 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12524 /* 32598 */ // (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)
12525 /* 32598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32rm),
12526 /* 32601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12527 /* 32603 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12528 /* 32605 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12529 /* 32609 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12530 /* 32612 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12531 /* 32617 */ GIR_RootConstrainSelectedInstOperands,
12532 /* 32618 */ // GIR_Coverage, 23079,
12533 /* 32618 */ GIR_EraseRootFromParent_Done,
12534 /* 32619 */ // Label 1048: @32619
12535 /* 32619 */ GIM_Try, /*On fail goto*//*Label 1049*/ GIMT_Encode4(32759),
12536 /* 32624 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12537 /* 32628 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1050*/ GIMT_Encode4(32693), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25245 //
12538 /* 32635 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12539 /* 32639 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
12540 /* 32643 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
12541 /* 32647 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
12542 /* 32651 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_SUB),
12543 /* 32655 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
12544 /* 32659 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
12545 /* 32663 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/1, 0,
12546 /* 32667 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12547 /* 32672 */ // MIs[1] src
12548 /* 32672 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/2,
12549 /* 32677 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12550 /* 32679 */ // (xor:{ *:[i32] } (and:{ *:[i32] } (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src), GR32:{ *:[i32] }:$src), -1:{ *:[i32] }) => (BLSIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
12551 /* 32679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC32rr),
12552 /* 32682 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12553 /* 32684 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // src
12554 /* 32688 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12555 /* 32691 */ GIR_RootConstrainSelectedInstOperands,
12556 /* 32692 */ // GIR_Coverage, 25245,
12557 /* 32692 */ GIR_EraseRootFromParent_Done,
12558 /* 32693 */ // Label 1050: @32693
12559 /* 32693 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1051*/ GIMT_Encode4(32758), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17405 //
12560 /* 32700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12561 /* 32704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
12562 /* 32708 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
12563 /* 32712 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
12564 /* 32716 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12565 /* 32721 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
12566 /* 32725 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_SUB),
12567 /* 32729 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
12568 /* 32733 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/1, 0,
12569 /* 32737 */ // MIs[2] src
12570 /* 32737 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
12571 /* 32742 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12572 /* 32744 */ // (xor:{ *:[i32] } (and:{ *:[i32] } GR32:{ *:[i32] }:$src, (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src)), -1:{ *:[i32] }) => (BLSIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
12573 /* 32744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC32rr),
12574 /* 32747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12575 /* 32749 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
12576 /* 32753 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12577 /* 32756 */ GIR_RootConstrainSelectedInstOperands,
12578 /* 32757 */ // GIR_Coverage, 17405,
12579 /* 32757 */ GIR_EraseRootFromParent_Done,
12580 /* 32758 */ // Label 1051: @32758
12581 /* 32758 */ GIM_Reject,
12582 /* 32759 */ // Label 1049: @32759
12583 /* 32759 */ GIM_Try, /*On fail goto*//*Label 1052*/ GIMT_Encode4(32801), // Rule ID 22828 //
12584 /* 32764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12585 /* 32768 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(18446744071562067968u),
12586 /* 32779 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -2147483648:{ *:[i32] }) => (ADD32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -2147483648:{ *:[i32] })
12587 /* 32779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri),
12588 /* 32782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12589 /* 32784 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12590 /* 32786 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
12591 /* 32796 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12592 /* 32799 */ GIR_RootConstrainSelectedInstOperands,
12593 /* 32800 */ // GIR_Coverage, 22828,
12594 /* 32800 */ GIR_EraseRootFromParent_Done,
12595 /* 32801 */ // Label 1052: @32801
12596 /* 32801 */ GIM_Reject,
12597 /* 32802 */ // Label 1046: @32802
12598 /* 32802 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1053*/ GIMT_Encode4(32859), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25239 //
12599 /* 32809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12600 /* 32813 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12601 /* 32817 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
12602 /* 32821 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
12603 /* 32825 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
12604 /* 32829 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12605 /* 32834 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
12606 /* 32838 */ // MIs[0] src
12607 /* 32838 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
12608 /* 32843 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12609 /* 32845 */ // (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
12610 /* 32845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK32rr),
12611 /* 32848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12612 /* 32850 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
12613 /* 32854 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12614 /* 32857 */ GIR_RootConstrainSelectedInstOperands,
12615 /* 32858 */ // GIR_Coverage, 25239,
12616 /* 32858 */ GIR_EraseRootFromParent_Done,
12617 /* 32859 */ // Label 1053: @32859
12618 /* 32859 */ GIM_Try, /*On fail goto*//*Label 1054*/ GIMT_Encode4(33280),
12619 /* 32864 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12620 /* 32867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12621 /* 32871 */ GIM_Try, /*On fail goto*//*Label 1055*/ GIMT_Encode4(32973), // Rule ID 26292 //
12622 /* 32876 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12623 /* 32880 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12624 /* 32884 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
12625 /* 32888 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12626 /* 32892 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12627 /* 32896 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12628 /* 32901 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12629 /* 32905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12630 /* 32907 */ // (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] }))
12631 /* 32907 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
12632 /* 32910 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12633 /* 32914 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12634 /* 32919 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12635 /* 32921 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
12636 /* 32924 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12637 /* 32928 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12638 /* 32933 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12639 /* 32936 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12640 /* 32940 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12641 /* 32943 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12642 /* 32948 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12643 /* 32953 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12644 /* 32958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC32rr),
12645 /* 32961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12646 /* 32963 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12647 /* 32965 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12648 /* 32968 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12649 /* 32971 */ GIR_RootConstrainSelectedInstOperands,
12650 /* 32972 */ // GIR_Coverage, 26292,
12651 /* 32972 */ GIR_EraseRootFromParent_Done,
12652 /* 32973 */ // Label 1055: @32973
12653 /* 32973 */ GIM_Try, /*On fail goto*//*Label 1056*/ GIMT_Encode4(33279),
12654 /* 32978 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12655 /* 32982 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1057*/ GIMT_Encode4(33024), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17399 //
12656 /* 32989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12657 /* 32993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
12658 /* 32997 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
12659 /* 33001 */ // MIs[1] src
12660 /* 33001 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
12661 /* 33006 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
12662 /* 33010 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12663 /* 33012 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
12664 /* 33012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK32rr),
12665 /* 33015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12666 /* 33017 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
12667 /* 33019 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12668 /* 33022 */ GIR_RootConstrainSelectedInstOperands,
12669 /* 33023 */ // GIR_Coverage, 17399,
12670 /* 33023 */ GIR_EraseRootFromParent_Done,
12671 /* 33024 */ // Label 1057: @33024
12672 /* 33024 */ GIM_Try, /*On fail goto*//*Label 1058*/ GIMT_Encode4(33122), // Rule ID 23013 //
12673 /* 33029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12674 /* 33033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12675 /* 33037 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
12676 /* 33041 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12677 /* 33045 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12678 /* 33049 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12679 /* 33054 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12680 /* 33056 */ // (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] }))
12681 /* 33056 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
12682 /* 33059 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12683 /* 33063 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12684 /* 33068 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12685 /* 33070 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
12686 /* 33073 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12687 /* 33077 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12688 /* 33082 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12689 /* 33085 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12690 /* 33089 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12691 /* 33092 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12692 /* 33097 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
12693 /* 33102 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12694 /* 33107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC32rr),
12695 /* 33110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12696 /* 33112 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12697 /* 33114 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12698 /* 33117 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12699 /* 33120 */ GIR_RootConstrainSelectedInstOperands,
12700 /* 33121 */ // GIR_Coverage, 23013,
12701 /* 33121 */ GIR_EraseRootFromParent_Done,
12702 /* 33122 */ // Label 1058: @33122
12703 /* 33122 */ GIM_Try, /*On fail goto*//*Label 1059*/ GIMT_Encode4(33164),
12704 /* 33127 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12705 /* 33131 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1060*/ GIMT_Encode4(33147), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 245 //
12706 /* 33138 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }) => (NOT32r:{ *:[i32] } GR32:{ *:[i32] }:$src1)
12707 /* 33138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32r),
12708 /* 33141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12709 /* 33143 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12710 /* 33145 */ GIR_RootConstrainSelectedInstOperands,
12711 /* 33146 */ // GIR_Coverage, 245,
12712 /* 33146 */ GIR_EraseRootFromParent_Done,
12713 /* 33147 */ // Label 1060: @33147
12714 /* 33147 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1061*/ GIMT_Encode4(33163), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 253 //
12715 /* 33154 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }) => (NOT32r_ND:{ *:[i32] } GR32:{ *:[i32] }:$src1)
12716 /* 33154 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32r_ND),
12717 /* 33157 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12718 /* 33159 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12719 /* 33161 */ GIR_RootConstrainSelectedInstOperands,
12720 /* 33162 */ // GIR_Coverage, 253,
12721 /* 33162 */ GIR_EraseRootFromParent_Done,
12722 /* 33163 */ // Label 1061: @33163
12723 /* 33163 */ GIM_Reject,
12724 /* 33164 */ // Label 1059: @33164
12725 /* 33164 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1062*/ GIMT_Encode4(33196), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23083 //
12726 /* 33171 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12727 /* 33175 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12728 /* 33179 */ // MIs[1] Operand 1
12729 /* 33179 */ // No operand predicates
12730 /* 33179 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12731 /* 33181 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (XOR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
12732 /* 33181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32ri),
12733 /* 33184 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12734 /* 33186 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12735 /* 33188 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12736 /* 33191 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12737 /* 33194 */ GIR_RootConstrainSelectedInstOperands,
12738 /* 33195 */ // GIR_Coverage, 23083,
12739 /* 33195 */ GIR_EraseRootFromParent_Done,
12740 /* 33196 */ // Label 1062: @33196
12741 /* 33196 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1063*/ GIMT_Encode4(33228), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23173 //
12742 /* 33203 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12743 /* 33207 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12744 /* 33211 */ // MIs[1] Operand 1
12745 /* 33211 */ // No operand predicates
12746 /* 33211 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12747 /* 33213 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (XOR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
12748 /* 33213 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32ri_ND),
12749 /* 33216 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12750 /* 33218 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12751 /* 33220 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12752 /* 33223 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12753 /* 33226 */ GIR_RootConstrainSelectedInstOperands,
12754 /* 33227 */ // GIR_Coverage, 23173,
12755 /* 33227 */ GIR_EraseRootFromParent_Done,
12756 /* 33228 */ // Label 1063: @33228
12757 /* 33228 */ GIM_Try, /*On fail goto*//*Label 1064*/ GIMT_Encode4(33278),
12758 /* 33233 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12759 /* 33237 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1065*/ GIMT_Encode4(33257), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23075 //
12760 /* 33244 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (XOR32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
12761 /* 33244 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR32rr),
12762 /* 33249 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12763 /* 33255 */ GIR_RootConstrainSelectedInstOperands,
12764 /* 33256 */ // GIR_Coverage, 23075,
12765 /* 33256 */ GIR_Done,
12766 /* 33257 */ // Label 1065: @33257
12767 /* 33257 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1066*/ GIMT_Encode4(33277), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23165 //
12768 /* 33264 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (XOR32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
12769 /* 33264 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR32rr_ND),
12770 /* 33269 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12771 /* 33275 */ GIR_RootConstrainSelectedInstOperands,
12772 /* 33276 */ // GIR_Coverage, 23165,
12773 /* 33276 */ GIR_Done,
12774 /* 33277 */ // Label 1066: @33277
12775 /* 33277 */ GIM_Reject,
12776 /* 33278 */ // Label 1064: @33278
12777 /* 33278 */ GIM_Reject,
12778 /* 33279 */ // Label 1056: @33279
12779 /* 33279 */ GIM_Reject,
12780 /* 33280 */ // Label 1054: @33280
12781 /* 33280 */ GIM_Reject,
12782 /* 33281 */ // Label 1045: @33281
12783 /* 33281 */ GIM_Reject,
12784 /* 33282 */ // Label 985: @33282
12785 /* 33282 */ GIM_Try, /*On fail goto*//*Label 1067*/ GIMT_Encode4(34050),
12786 /* 33287 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
12787 /* 33290 */ GIM_Try, /*On fail goto*//*Label 1068*/ GIMT_Encode4(33563),
12788 /* 33295 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
12789 /* 33298 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12790 /* 33302 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1069*/ GIMT_Encode4(33362), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 26316 //
12791 /* 33309 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12792 /* 33313 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12793 /* 33317 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12794 /* 33320 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12795 /* 33324 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12796 /* 33328 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12797 /* 33332 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12798 /* 33334 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12799 /* 33341 */ // (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)
12800 /* 33341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64rm),
12801 /* 33344 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12802 /* 33346 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12803 /* 33348 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12804 /* 33352 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12805 /* 33355 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12806 /* 33360 */ GIR_RootConstrainSelectedInstOperands,
12807 /* 33361 */ // GIR_Coverage, 26316,
12808 /* 33361 */ GIR_EraseRootFromParent_Done,
12809 /* 33362 */ // Label 1069: @33362
12810 /* 33362 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1070*/ GIMT_Encode4(33422), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23080 //
12811 /* 33369 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12812 /* 33373 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12813 /* 33377 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12814 /* 33381 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12815 /* 33384 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12816 /* 33388 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12817 /* 33392 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12818 /* 33394 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12819 /* 33401 */ // (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)
12820 /* 33401 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64rm),
12821 /* 33404 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12822 /* 33406 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12823 /* 33408 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12824 /* 33412 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12825 /* 33415 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12826 /* 33420 */ GIR_RootConstrainSelectedInstOperands,
12827 /* 33421 */ // GIR_Coverage, 23080,
12828 /* 33421 */ GIR_EraseRootFromParent_Done,
12829 /* 33422 */ // Label 1070: @33422
12830 /* 33422 */ GIM_Try, /*On fail goto*//*Label 1071*/ GIMT_Encode4(33562),
12831 /* 33427 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12832 /* 33431 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1072*/ GIMT_Encode4(33496), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25246 //
12833 /* 33438 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12834 /* 33442 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
12835 /* 33446 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
12836 /* 33450 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
12837 /* 33454 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_SUB),
12838 /* 33458 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
12839 /* 33462 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
12840 /* 33466 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/1, 0,
12841 /* 33470 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12842 /* 33475 */ // MIs[1] src
12843 /* 33475 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/2,
12844 /* 33480 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12845 /* 33482 */ // (xor:{ *:[i64] } (and:{ *:[i64] } (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src), GR64:{ *:[i64] }:$src), -1:{ *:[i64] }) => (BLSIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
12846 /* 33482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC64rr),
12847 /* 33485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12848 /* 33487 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/2, // src
12849 /* 33491 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12850 /* 33494 */ GIR_RootConstrainSelectedInstOperands,
12851 /* 33495 */ // GIR_Coverage, 25246,
12852 /* 33495 */ GIR_EraseRootFromParent_Done,
12853 /* 33496 */ // Label 1072: @33496
12854 /* 33496 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1073*/ GIMT_Encode4(33561), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17406 //
12855 /* 33503 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12856 /* 33507 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
12857 /* 33511 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
12858 /* 33515 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
12859 /* 33519 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12860 /* 33524 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
12861 /* 33528 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_SUB),
12862 /* 33532 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
12863 /* 33536 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/1, 0,
12864 /* 33540 */ // MIs[2] src
12865 /* 33540 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
12866 /* 33545 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12867 /* 33547 */ // (xor:{ *:[i64] } (and:{ *:[i64] } GR64:{ *:[i64] }:$src, (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src)), -1:{ *:[i64] }) => (BLSIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
12868 /* 33547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC64rr),
12869 /* 33550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12870 /* 33552 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
12871 /* 33556 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12872 /* 33559 */ GIR_RootConstrainSelectedInstOperands,
12873 /* 33560 */ // GIR_Coverage, 17406,
12874 /* 33560 */ GIR_EraseRootFromParent_Done,
12875 /* 33561 */ // Label 1073: @33561
12876 /* 33561 */ GIM_Reject,
12877 /* 33562 */ // Label 1071: @33562
12878 /* 33562 */ GIM_Reject,
12879 /* 33563 */ // Label 1068: @33563
12880 /* 33563 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1074*/ GIMT_Encode4(33620), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 25240 //
12881 /* 33570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12882 /* 33574 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12883 /* 33578 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
12884 /* 33582 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
12885 /* 33586 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
12886 /* 33590 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12887 /* 33595 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
12888 /* 33599 */ // MIs[0] src
12889 /* 33599 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
12890 /* 33604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12891 /* 33606 */ // (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
12892 /* 33606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK64rr),
12893 /* 33609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12894 /* 33611 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
12895 /* 33615 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12896 /* 33618 */ GIR_RootConstrainSelectedInstOperands,
12897 /* 33619 */ // GIR_Coverage, 25240,
12898 /* 33619 */ GIR_EraseRootFromParent_Done,
12899 /* 33620 */ // Label 1074: @33620
12900 /* 33620 */ GIM_Try, /*On fail goto*//*Label 1075*/ GIMT_Encode4(34049),
12901 /* 33625 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
12902 /* 33628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12903 /* 33632 */ GIM_Try, /*On fail goto*//*Label 1076*/ GIMT_Encode4(33734), // Rule ID 26298 //
12904 /* 33637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12905 /* 33641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12906 /* 33645 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
12907 /* 33649 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12908 /* 33653 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12909 /* 33657 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12910 /* 33662 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12911 /* 33666 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12912 /* 33668 */ // (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] }))
12913 /* 33668 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
12914 /* 33671 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12915 /* 33675 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12916 /* 33680 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12917 /* 33682 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
12918 /* 33685 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12919 /* 33689 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12920 /* 33694 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12921 /* 33697 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12922 /* 33701 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12923 /* 33704 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
12924 /* 33709 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
12925 /* 33714 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12926 /* 33719 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC64rr),
12927 /* 33722 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12928 /* 33724 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12929 /* 33726 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12930 /* 33729 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12931 /* 33732 */ GIR_RootConstrainSelectedInstOperands,
12932 /* 33733 */ // GIR_Coverage, 26298,
12933 /* 33733 */ GIR_EraseRootFromParent_Done,
12934 /* 33734 */ // Label 1076: @33734
12935 /* 33734 */ GIM_Try, /*On fail goto*//*Label 1077*/ GIMT_Encode4(34048),
12936 /* 33739 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
12937 /* 33743 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1078*/ GIMT_Encode4(33785), GIMT_Encode2(GIFBS_HasTBM), // Rule ID 17400 //
12938 /* 33750 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12939 /* 33754 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
12940 /* 33758 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
12941 /* 33762 */ // MIs[1] src
12942 /* 33762 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
12943 /* 33767 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
12944 /* 33771 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12945 /* 33773 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
12946 /* 33773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK64rr),
12947 /* 33776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12948 /* 33778 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
12949 /* 33780 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12950 /* 33783 */ GIR_RootConstrainSelectedInstOperands,
12951 /* 33784 */ // GIR_Coverage, 17400,
12952 /* 33784 */ GIR_EraseRootFromParent_Done,
12953 /* 33785 */ // Label 1078: @33785
12954 /* 33785 */ GIM_Try, /*On fail goto*//*Label 1079*/ GIMT_Encode4(33883), // Rule ID 23019 //
12955 /* 33790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12956 /* 33794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12957 /* 33798 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
12958 /* 33802 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12959 /* 33806 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12960 /* 33810 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12961 /* 33815 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12962 /* 33817 */ // (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] }))
12963 /* 33817 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
12964 /* 33820 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12965 /* 33824 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12966 /* 33829 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12967 /* 33831 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
12968 /* 33834 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12969 /* 33838 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12970 /* 33843 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12971 /* 33846 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12972 /* 33850 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12973 /* 33853 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
12974 /* 33858 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
12975 /* 33863 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12976 /* 33868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC64rr),
12977 /* 33871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12978 /* 33873 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12979 /* 33875 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12980 /* 33878 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12981 /* 33881 */ GIR_RootConstrainSelectedInstOperands,
12982 /* 33882 */ // GIR_Coverage, 23019,
12983 /* 33882 */ GIR_EraseRootFromParent_Done,
12984 /* 33883 */ // Label 1079: @33883
12985 /* 33883 */ GIM_Try, /*On fail goto*//*Label 1080*/ GIMT_Encode4(33925),
12986 /* 33888 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12987 /* 33892 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1081*/ GIMT_Encode4(33908), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 246 //
12988 /* 33899 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }) => (NOT64r:{ *:[i64] } GR64:{ *:[i64] }:$src1)
12989 /* 33899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64r),
12990 /* 33902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12991 /* 33904 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12992 /* 33906 */ GIR_RootConstrainSelectedInstOperands,
12993 /* 33907 */ // GIR_Coverage, 246,
12994 /* 33907 */ GIR_EraseRootFromParent_Done,
12995 /* 33908 */ // Label 1081: @33908
12996 /* 33908 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1082*/ GIMT_Encode4(33924), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 254 //
12997 /* 33915 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }) => (NOT64r_ND:{ *:[i64] } GR64:{ *:[i64] }:$src1)
12998 /* 33915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64r_ND),
12999 /* 33918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13000 /* 33920 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13001 /* 33922 */ GIR_RootConstrainSelectedInstOperands,
13002 /* 33923 */ // GIR_Coverage, 254,
13003 /* 33923 */ GIR_EraseRootFromParent_Done,
13004 /* 33924 */ // Label 1082: @33924
13005 /* 33924 */ GIM_Reject,
13006 /* 33925 */ // Label 1080: @33925
13007 /* 33925 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1083*/ GIMT_Encode4(33961), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23084 //
13008 /* 33932 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13009 /* 33936 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13010 /* 33940 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
13011 /* 33944 */ // MIs[1] Operand 1
13012 /* 33944 */ // No operand predicates
13013 /* 33944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13014 /* 33946 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (XOR64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
13015 /* 33946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64ri32),
13016 /* 33949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13017 /* 33951 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13018 /* 33953 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13019 /* 33956 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13020 /* 33959 */ GIR_RootConstrainSelectedInstOperands,
13021 /* 33960 */ // GIR_Coverage, 23084,
13022 /* 33960 */ GIR_EraseRootFromParent_Done,
13023 /* 33961 */ // Label 1083: @33961
13024 /* 33961 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1084*/ GIMT_Encode4(33997), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23174 //
13025 /* 33968 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13026 /* 33972 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13027 /* 33976 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
13028 /* 33980 */ // MIs[1] Operand 1
13029 /* 33980 */ // No operand predicates
13030 /* 33980 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13031 /* 33982 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (XOR64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
13032 /* 33982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64ri32_ND),
13033 /* 33985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13034 /* 33987 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13035 /* 33989 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13036 /* 33992 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13037 /* 33995 */ GIR_RootConstrainSelectedInstOperands,
13038 /* 33996 */ // GIR_Coverage, 23174,
13039 /* 33996 */ GIR_EraseRootFromParent_Done,
13040 /* 33997 */ // Label 1084: @33997
13041 /* 33997 */ GIM_Try, /*On fail goto*//*Label 1085*/ GIMT_Encode4(34047),
13042 /* 34002 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13043 /* 34006 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1086*/ GIMT_Encode4(34026), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 23076 //
13044 /* 34013 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (XOR64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
13045 /* 34013 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR64rr),
13046 /* 34018 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
13047 /* 34024 */ GIR_RootConstrainSelectedInstOperands,
13048 /* 34025 */ // GIR_Coverage, 23076,
13049 /* 34025 */ GIR_Done,
13050 /* 34026 */ // Label 1086: @34026
13051 /* 34026 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1087*/ GIMT_Encode4(34046), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 23166 //
13052 /* 34033 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (XOR64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
13053 /* 34033 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR64rr_ND),
13054 /* 34038 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
13055 /* 34044 */ GIR_RootConstrainSelectedInstOperands,
13056 /* 34045 */ // GIR_Coverage, 23166,
13057 /* 34045 */ GIR_Done,
13058 /* 34046 */ // Label 1087: @34046
13059 /* 34046 */ GIM_Reject,
13060 /* 34047 */ // Label 1085: @34047
13061 /* 34047 */ GIM_Reject,
13062 /* 34048 */ // Label 1077: @34048
13063 /* 34048 */ GIM_Reject,
13064 /* 34049 */ // Label 1075: @34049
13065 /* 34049 */ GIM_Reject,
13066 /* 34050 */ // Label 1067: @34050
13067 /* 34050 */ GIM_Reject,
13068 /* 34051 */ // Label 986: @34051
13069 /* 34051 */ GIM_Try, /*On fail goto*//*Label 1088*/ GIMT_Encode4(34590),
13070 /* 34056 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
13071 /* 34059 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
13072 /* 34062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13073 /* 34066 */ GIM_Try, /*On fail goto*//*Label 1089*/ GIMT_Encode4(34186), // Rule ID 25618 //
13074 /* 34071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13075 /* 34075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13076 /* 34079 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
13077 /* 34083 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
13078 /* 34087 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13079 /* 34092 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13080 /* 34096 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13081 /* 34102 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13082 /* 34104 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13083 /* 34108 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13084 /* 34110 */ // (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] })
13085 /* 34110 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13086 /* 34113 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13087 /* 34117 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13088 /* 34122 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13089 /* 34126 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13090 /* 34131 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13091 /* 34134 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13092 /* 34138 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13093 /* 34143 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13094 /* 34147 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13095 /* 34152 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13096 /* 34155 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13097 /* 34159 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13098 /* 34164 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13099 /* 34167 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13100 /* 34170 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13101 /* 34172 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13102 /* 34175 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13103 /* 34177 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13104 /* 34180 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13105 /* 34185 */ // GIR_Coverage, 25618,
13106 /* 34185 */ GIR_EraseRootFromParent_Done,
13107 /* 34186 */ // Label 1089: @34186
13108 /* 34186 */ GIM_Try, /*On fail goto*//*Label 1090*/ GIMT_Encode4(34307), // Rule ID 19597 //
13109 /* 34191 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13110 /* 34195 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13111 /* 34199 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
13112 /* 34203 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
13113 /* 34207 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13114 /* 34212 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13115 /* 34217 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13116 /* 34221 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13117 /* 34227 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13118 /* 34229 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13119 /* 34231 */ // (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] })
13120 /* 34231 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13121 /* 34234 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13122 /* 34238 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13123 /* 34243 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
13124 /* 34247 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13125 /* 34252 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13126 /* 34255 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13127 /* 34259 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13128 /* 34264 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13129 /* 34268 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13130 /* 34273 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13131 /* 34276 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13132 /* 34280 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13133 /* 34285 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13134 /* 34288 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13135 /* 34291 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13136 /* 34293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13137 /* 34296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13138 /* 34298 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13139 /* 34301 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13140 /* 34306 */ // GIR_Coverage, 19597,
13141 /* 34306 */ GIR_EraseRootFromParent_Done,
13142 /* 34307 */ // Label 1090: @34307
13143 /* 34307 */ GIM_Try, /*On fail goto*//*Label 1091*/ GIMT_Encode4(34589),
13144 /* 34312 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13145 /* 34316 */ GIM_Try, /*On fail goto*//*Label 1092*/ GIMT_Encode4(34432), // Rule ID 25619 //
13146 /* 34321 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13147 /* 34325 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13148 /* 34329 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
13149 /* 34333 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
13150 /* 34337 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13151 /* 34342 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13152 /* 34346 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13153 /* 34352 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13154 /* 34354 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13155 /* 34356 */ // (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] })
13156 /* 34356 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13157 /* 34359 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13158 /* 34363 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13159 /* 34368 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
13160 /* 34372 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13161 /* 34377 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13162 /* 34380 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13163 /* 34384 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13164 /* 34389 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13165 /* 34393 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13166 /* 34398 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13167 /* 34401 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13168 /* 34405 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13169 /* 34410 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13170 /* 34413 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13171 /* 34416 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13172 /* 34418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13173 /* 34421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13174 /* 34423 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13175 /* 34426 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13176 /* 34431 */ // GIR_Coverage, 25619,
13177 /* 34431 */ GIR_EraseRootFromParent_Done,
13178 /* 34432 */ // Label 1092: @34432
13179 /* 34432 */ GIM_Try, /*On fail goto*//*Label 1093*/ GIMT_Encode4(34503), // Rule ID 19581 //
13180 /* 34437 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13181 /* 34441 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13182 /* 34447 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13183 /* 34449 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13184 /* 34451 */ // (xor:{ *:[v2i1] } VK2:{ *:[v2i1] }:$src, immAllOnesV:{ *:[v2i1] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src, VK16:{ *:[i32] })), VK2:{ *:[i32] })
13185 /* 34451 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13186 /* 34454 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13187 /* 34458 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13188 /* 34463 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
13189 /* 34467 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13190 /* 34472 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13191 /* 34475 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
13192 /* 34479 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13193 /* 34484 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13194 /* 34487 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13195 /* 34489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13196 /* 34492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13197 /* 34494 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13198 /* 34497 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13199 /* 34502 */ // GIR_Coverage, 19581,
13200 /* 34502 */ GIR_EraseRootFromParent_Done,
13201 /* 34503 */ // Label 1093: @34503
13202 /* 34503 */ GIM_Try, /*On fail goto*//*Label 1094*/ GIMT_Encode4(34588), // Rule ID 19601 //
13203 /* 34508 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13204 /* 34512 */ // (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] })
13205 /* 34512 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13206 /* 34515 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13207 /* 34519 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13208 /* 34524 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13209 /* 34528 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13210 /* 34533 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13211 /* 34536 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13212 /* 34540 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13213 /* 34545 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
13214 /* 34549 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13215 /* 34554 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13216 /* 34557 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
13217 /* 34561 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13218 /* 34566 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13219 /* 34569 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13220 /* 34572 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13221 /* 34574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13222 /* 34577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13223 /* 34579 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13224 /* 34582 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13225 /* 34587 */ // GIR_Coverage, 19601,
13226 /* 34587 */ GIR_EraseRootFromParent_Done,
13227 /* 34588 */ // Label 1094: @34588
13228 /* 34588 */ GIM_Reject,
13229 /* 34589 */ // Label 1091: @34589
13230 /* 34589 */ GIM_Reject,
13231 /* 34590 */ // Label 1088: @34590
13232 /* 34590 */ GIM_Reject,
13233 /* 34591 */ // Label 987: @34591
13234 /* 34591 */ GIM_Try, /*On fail goto*//*Label 1095*/ GIMT_Encode4(35130),
13235 /* 34596 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
13236 /* 34599 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
13237 /* 34602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13238 /* 34606 */ GIM_Try, /*On fail goto*//*Label 1096*/ GIMT_Encode4(34726), // Rule ID 25620 //
13239 /* 34611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13240 /* 34615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13241 /* 34619 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
13242 /* 34623 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
13243 /* 34627 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13244 /* 34632 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13245 /* 34636 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13246 /* 34642 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13247 /* 34644 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13248 /* 34648 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13249 /* 34650 */ // (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] })
13250 /* 34650 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13251 /* 34653 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13252 /* 34657 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13253 /* 34662 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13254 /* 34666 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13255 /* 34671 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13256 /* 34674 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13257 /* 34678 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13258 /* 34683 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13259 /* 34687 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13260 /* 34692 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13261 /* 34695 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13262 /* 34699 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13263 /* 34704 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13264 /* 34707 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13265 /* 34710 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13266 /* 34712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13267 /* 34715 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13268 /* 34717 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13269 /* 34720 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13270 /* 34725 */ // GIR_Coverage, 25620,
13271 /* 34725 */ GIR_EraseRootFromParent_Done,
13272 /* 34726 */ // Label 1096: @34726
13273 /* 34726 */ GIM_Try, /*On fail goto*//*Label 1097*/ GIMT_Encode4(34847), // Rule ID 19598 //
13274 /* 34731 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13275 /* 34735 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13276 /* 34739 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
13277 /* 34743 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
13278 /* 34747 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13279 /* 34752 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13280 /* 34757 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13281 /* 34761 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13282 /* 34767 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13283 /* 34769 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13284 /* 34771 */ // (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] })
13285 /* 34771 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13286 /* 34774 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13287 /* 34778 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13288 /* 34783 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
13289 /* 34787 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13290 /* 34792 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13291 /* 34795 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13292 /* 34799 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13293 /* 34804 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13294 /* 34808 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13295 /* 34813 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13296 /* 34816 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13297 /* 34820 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13298 /* 34825 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13299 /* 34828 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13300 /* 34831 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13301 /* 34833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13302 /* 34836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13303 /* 34838 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13304 /* 34841 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13305 /* 34846 */ // GIR_Coverage, 19598,
13306 /* 34846 */ GIR_EraseRootFromParent_Done,
13307 /* 34847 */ // Label 1097: @34847
13308 /* 34847 */ GIM_Try, /*On fail goto*//*Label 1098*/ GIMT_Encode4(35129),
13309 /* 34852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13310 /* 34856 */ GIM_Try, /*On fail goto*//*Label 1099*/ GIMT_Encode4(34972), // Rule ID 25621 //
13311 /* 34861 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13312 /* 34865 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13313 /* 34869 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
13314 /* 34873 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
13315 /* 34877 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13316 /* 34882 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13317 /* 34886 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13318 /* 34892 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13319 /* 34894 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13320 /* 34896 */ // (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] })
13321 /* 34896 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13322 /* 34899 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13323 /* 34903 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13324 /* 34908 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
13325 /* 34912 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13326 /* 34917 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13327 /* 34920 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13328 /* 34924 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13329 /* 34929 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13330 /* 34933 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13331 /* 34938 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13332 /* 34941 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13333 /* 34945 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13334 /* 34950 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13335 /* 34953 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13336 /* 34956 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13337 /* 34958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13338 /* 34961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13339 /* 34963 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13340 /* 34966 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13341 /* 34971 */ // GIR_Coverage, 25621,
13342 /* 34971 */ GIR_EraseRootFromParent_Done,
13343 /* 34972 */ // Label 1099: @34972
13344 /* 34972 */ GIM_Try, /*On fail goto*//*Label 1100*/ GIMT_Encode4(35043), // Rule ID 19580 //
13345 /* 34977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13346 /* 34981 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13347 /* 34987 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13348 /* 34989 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13349 /* 34991 */ // (xor:{ *:[v4i1] } VK4:{ *:[v4i1] }:$src, immAllOnesV:{ *:[v4i1] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src, VK16:{ *:[i32] })), VK4:{ *:[i32] })
13350 /* 34991 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13351 /* 34994 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13352 /* 34998 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13353 /* 35003 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
13354 /* 35007 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13355 /* 35012 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13356 /* 35015 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
13357 /* 35019 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13358 /* 35024 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13359 /* 35027 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13360 /* 35029 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13361 /* 35032 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13362 /* 35034 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13363 /* 35037 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13364 /* 35042 */ // GIR_Coverage, 19580,
13365 /* 35042 */ GIR_EraseRootFromParent_Done,
13366 /* 35043 */ // Label 1100: @35043
13367 /* 35043 */ GIM_Try, /*On fail goto*//*Label 1101*/ GIMT_Encode4(35128), // Rule ID 19602 //
13368 /* 35048 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13369 /* 35052 */ // (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] })
13370 /* 35052 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13371 /* 35055 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13372 /* 35059 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13373 /* 35064 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13374 /* 35068 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13375 /* 35073 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13376 /* 35076 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13377 /* 35080 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13378 /* 35085 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
13379 /* 35089 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13380 /* 35094 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13381 /* 35097 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
13382 /* 35101 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13383 /* 35106 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13384 /* 35109 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13385 /* 35112 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13386 /* 35114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13387 /* 35117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13388 /* 35119 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13389 /* 35122 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13390 /* 35127 */ // GIR_Coverage, 19602,
13391 /* 35127 */ GIR_EraseRootFromParent_Done,
13392 /* 35128 */ // Label 1101: @35128
13393 /* 35128 */ GIM_Reject,
13394 /* 35129 */ // Label 1098: @35129
13395 /* 35129 */ GIM_Reject,
13396 /* 35130 */ // Label 1095: @35130
13397 /* 35130 */ GIM_Reject,
13398 /* 35131 */ // Label 988: @35131
13399 /* 35131 */ GIM_Try, /*On fail goto*//*Label 1102*/ GIMT_Encode4(35908),
13400 /* 35136 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
13401 /* 35139 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
13402 /* 35142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13403 /* 35146 */ GIM_Try, /*On fail goto*//*Label 1103*/ GIMT_Encode4(35329),
13404 /* 35151 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13405 /* 35155 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1104*/ GIMT_Encode4(35210), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 23924 //
13406 /* 35162 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13407 /* 35166 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13408 /* 35170 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13409 /* 35174 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13410 /* 35178 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13411 /* 35183 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13412 /* 35187 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13413 /* 35193 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13414 /* 35195 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13415 /* 35197 */ // (xor:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] }), VK8:{ *:[v8i1] }:$src2) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
13416 /* 35197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
13417 /* 35200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13418 /* 35202 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13419 /* 35206 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
13420 /* 35208 */ GIR_RootConstrainSelectedInstOperands,
13421 /* 35209 */ // GIR_Coverage, 23924,
13422 /* 35209 */ GIR_EraseRootFromParent_Done,
13423 /* 35210 */ // Label 1104: @35210
13424 /* 35210 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1105*/ GIMT_Encode4(35328), GIMT_Encode2(GIFBS_NoDQI), // Rule ID 25614 //
13425 /* 35217 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13426 /* 35221 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13427 /* 35225 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13428 /* 35229 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13429 /* 35233 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13430 /* 35238 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13431 /* 35242 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13432 /* 35248 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13433 /* 35250 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13434 /* 35252 */ // (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] })
13435 /* 35252 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13436 /* 35255 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13437 /* 35259 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13438 /* 35264 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13439 /* 35268 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13440 /* 35273 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13441 /* 35276 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13442 /* 35280 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13443 /* 35285 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13444 /* 35289 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13445 /* 35294 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13446 /* 35297 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13447 /* 35301 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13448 /* 35306 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13449 /* 35309 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13450 /* 35312 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13451 /* 35314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13452 /* 35317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13453 /* 35319 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13454 /* 35322 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
13455 /* 35327 */ // GIR_Coverage, 25614,
13456 /* 35327 */ GIR_EraseRootFromParent_Done,
13457 /* 35328 */ // Label 1105: @35328
13458 /* 35328 */ GIM_Reject,
13459 /* 35329 */ // Label 1103: @35329
13460 /* 35329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1106*/ GIMT_Encode4(35391), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 4411 //
13461 /* 35336 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13462 /* 35340 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13463 /* 35344 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13464 /* 35348 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13465 /* 35352 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13466 /* 35357 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13467 /* 35362 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13468 /* 35366 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13469 /* 35372 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13470 /* 35374 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13471 /* 35376 */ // (xor:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2), immAllOnesV:{ *:[v8i1] }) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
13472 /* 35376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
13473 /* 35379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13474 /* 35381 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13475 /* 35385 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
13476 /* 35389 */ GIR_RootConstrainSelectedInstOperands,
13477 /* 35390 */ // GIR_Coverage, 4411,
13478 /* 35390 */ GIR_EraseRootFromParent_Done,
13479 /* 35391 */ // Label 1106: @35391
13480 /* 35391 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1107*/ GIMT_Encode4(35514), GIMT_Encode2(GIFBS_NoDQI), // Rule ID 19595 //
13481 /* 35398 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13482 /* 35402 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13483 /* 35406 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13484 /* 35410 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13485 /* 35414 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13486 /* 35419 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13487 /* 35424 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13488 /* 35428 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13489 /* 35434 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13490 /* 35436 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13491 /* 35438 */ // (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] })
13492 /* 35438 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13493 /* 35441 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13494 /* 35445 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13495 /* 35450 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
13496 /* 35454 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13497 /* 35459 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13498 /* 35462 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13499 /* 35466 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13500 /* 35471 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13501 /* 35475 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13502 /* 35480 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13503 /* 35483 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13504 /* 35487 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13505 /* 35492 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13506 /* 35495 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13507 /* 35498 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13508 /* 35500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13509 /* 35503 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13510 /* 35505 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13511 /* 35508 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
13512 /* 35513 */ // GIR_Coverage, 19595,
13513 /* 35513 */ GIR_EraseRootFromParent_Done,
13514 /* 35514 */ // Label 1107: @35514
13515 /* 35514 */ GIM_Try, /*On fail goto*//*Label 1108*/ GIMT_Encode4(35907),
13516 /* 35519 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13517 /* 35523 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1109*/ GIMT_Encode4(35578), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 23925 //
13518 /* 35530 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13519 /* 35534 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13520 /* 35538 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13521 /* 35542 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13522 /* 35546 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13523 /* 35551 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13524 /* 35555 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13525 /* 35561 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13526 /* 35563 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13527 /* 35565 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src2, (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] })) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
13528 /* 35565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
13529 /* 35568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13530 /* 35570 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13531 /* 35574 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
13532 /* 35576 */ GIR_RootConstrainSelectedInstOperands,
13533 /* 35577 */ // GIR_Coverage, 23925,
13534 /* 35577 */ GIR_EraseRootFromParent_Done,
13535 /* 35578 */ // Label 1109: @35578
13536 /* 35578 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1110*/ GIMT_Encode4(35696), GIMT_Encode2(GIFBS_NoDQI), // Rule ID 25615 //
13537 /* 35585 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13538 /* 35589 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13539 /* 35593 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13540 /* 35597 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13541 /* 35601 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13542 /* 35606 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13543 /* 35610 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13544 /* 35616 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13545 /* 35618 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13546 /* 35620 */ // (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] })
13547 /* 35620 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13548 /* 35623 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13549 /* 35627 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13550 /* 35632 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
13551 /* 35636 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13552 /* 35641 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13553 /* 35644 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13554 /* 35648 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13555 /* 35653 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13556 /* 35657 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13557 /* 35662 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13558 /* 35665 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13559 /* 35669 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13560 /* 35674 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13561 /* 35677 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13562 /* 35680 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13563 /* 35682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13564 /* 35685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13565 /* 35687 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13566 /* 35690 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
13567 /* 35695 */ // GIR_Coverage, 25615,
13568 /* 35695 */ GIR_EraseRootFromParent_Done,
13569 /* 35696 */ // Label 1110: @35696
13570 /* 35696 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1111*/ GIMT_Encode4(35726), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 4399 //
13571 /* 35703 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13572 /* 35707 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13573 /* 35713 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13574 /* 35715 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13575 /* 35717 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src, immAllOnesV:{ *:[v8i1] }) => (KNOTBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src)
13576 /* 35717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTBkk),
13577 /* 35720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13578 /* 35722 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13579 /* 35724 */ GIR_RootConstrainSelectedInstOperands,
13580 /* 35725 */ // GIR_Coverage, 4399,
13581 /* 35725 */ GIR_EraseRootFromParent_Done,
13582 /* 35726 */ // Label 1111: @35726
13583 /* 35726 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1112*/ GIMT_Encode4(35799), GIMT_Encode2(GIFBS_HasAVX512_NoDQI), // Rule ID 19579 //
13584 /* 35733 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13585 /* 35737 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13586 /* 35743 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13587 /* 35745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13588 /* 35747 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src, immAllOnesV:{ *:[v8i1] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src, VK16:{ *:[i32] })), VK8:{ *:[i32] })
13589 /* 35747 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13590 /* 35750 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13591 /* 35754 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13592 /* 35759 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
13593 /* 35763 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13594 /* 35768 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13595 /* 35771 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
13596 /* 35775 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13597 /* 35780 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13598 /* 35783 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13599 /* 35785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13600 /* 35788 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13601 /* 35790 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13602 /* 35793 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
13603 /* 35798 */ // GIR_Coverage, 19579,
13604 /* 35798 */ GIR_EraseRootFromParent_Done,
13605 /* 35799 */ // Label 1112: @35799
13606 /* 35799 */ GIM_Try, /*On fail goto*//*Label 1113*/ GIMT_Encode4(35906),
13607 /* 35804 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13608 /* 35808 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1114*/ GIMT_Encode4(35822), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 4415 //
13609 /* 35815 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KXORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
13610 /* 35815 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORBkk),
13611 /* 35820 */ GIR_RootConstrainSelectedInstOperands,
13612 /* 35821 */ // GIR_Coverage, 4415,
13613 /* 35821 */ GIR_Done,
13614 /* 35822 */ // Label 1114: @35822
13615 /* 35822 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1115*/ GIMT_Encode4(35905), GIMT_Encode2(GIFBS_NoDQI), // Rule ID 19599 //
13616 /* 35829 */ // (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] })
13617 /* 35829 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13618 /* 35832 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13619 /* 35836 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13620 /* 35841 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13621 /* 35845 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13622 /* 35850 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13623 /* 35853 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13624 /* 35857 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13625 /* 35862 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
13626 /* 35866 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13627 /* 35871 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13628 /* 35874 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
13629 /* 35878 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13630 /* 35883 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13631 /* 35886 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13632 /* 35889 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13633 /* 35891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13634 /* 35894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13635 /* 35896 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13636 /* 35899 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
13637 /* 35904 */ // GIR_Coverage, 19599,
13638 /* 35904 */ GIR_EraseRootFromParent_Done,
13639 /* 35905 */ // Label 1115: @35905
13640 /* 35905 */ GIM_Reject,
13641 /* 35906 */ // Label 1113: @35906
13642 /* 35906 */ GIM_Reject,
13643 /* 35907 */ // Label 1108: @35907
13644 /* 35907 */ GIM_Reject,
13645 /* 35908 */ // Label 1102: @35908
13646 /* 35908 */ GIM_Reject,
13647 /* 35909 */ // Label 989: @35909
13648 /* 35909 */ GIM_Try, /*On fail goto*//*Label 1116*/ GIMT_Encode4(36159),
13649 /* 35914 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
13650 /* 35917 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
13651 /* 35920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
13652 /* 35924 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1117*/ GIMT_Encode4(35983), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 23926 //
13653 /* 35931 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13654 /* 35935 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13655 /* 35939 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
13656 /* 35943 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
13657 /* 35947 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
13658 /* 35952 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13659 /* 35956 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13660 /* 35962 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13661 /* 35964 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
13662 /* 35968 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13663 /* 35970 */ // (xor:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] }), VK16:{ *:[v16i1] }:$src2) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
13664 /* 35970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13665 /* 35973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13666 /* 35975 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13667 /* 35979 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
13668 /* 35981 */ GIR_RootConstrainSelectedInstOperands,
13669 /* 35982 */ // GIR_Coverage, 23926,
13670 /* 35982 */ GIR_EraseRootFromParent_Done,
13671 /* 35983 */ // Label 1117: @35983
13672 /* 35983 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1118*/ GIMT_Encode4(36045), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4412 //
13673 /* 35990 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13674 /* 35994 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13675 /* 35998 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
13676 /* 36002 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
13677 /* 36006 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
13678 /* 36011 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
13679 /* 36016 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13680 /* 36020 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13681 /* 36026 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13682 /* 36028 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13683 /* 36030 */ // (xor:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2), immAllOnesV:{ *:[v16i1] }) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
13684 /* 36030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13685 /* 36033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13686 /* 36035 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13687 /* 36039 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
13688 /* 36043 */ GIR_RootConstrainSelectedInstOperands,
13689 /* 36044 */ // GIR_Coverage, 4412,
13690 /* 36044 */ GIR_EraseRootFromParent_Done,
13691 /* 36045 */ // Label 1118: @36045
13692 /* 36045 */ GIM_Try, /*On fail goto*//*Label 1119*/ GIMT_Encode4(36158),
13693 /* 36050 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
13694 /* 36054 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1120*/ GIMT_Encode4(36109), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 23927 //
13695 /* 36061 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13696 /* 36065 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13697 /* 36069 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
13698 /* 36073 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
13699 /* 36077 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
13700 /* 36082 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13701 /* 36086 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13702 /* 36092 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13703 /* 36094 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13704 /* 36096 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src2, (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] })) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
13705 /* 36096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13706 /* 36099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13707 /* 36101 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13708 /* 36105 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
13709 /* 36107 */ GIR_RootConstrainSelectedInstOperands,
13710 /* 36108 */ // GIR_Coverage, 23927,
13711 /* 36108 */ GIR_EraseRootFromParent_Done,
13712 /* 36109 */ // Label 1120: @36109
13713 /* 36109 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1121*/ GIMT_Encode4(36139), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4400 //
13714 /* 36116 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13715 /* 36120 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13716 /* 36126 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13717 /* 36128 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13718 /* 36130 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src, immAllOnesV:{ *:[v16i1] }) => (KNOTWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src)
13719 /* 36130 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
13720 /* 36133 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13721 /* 36135 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13722 /* 36137 */ GIR_RootConstrainSelectedInstOperands,
13723 /* 36138 */ // GIR_Coverage, 4400,
13724 /* 36138 */ GIR_EraseRootFromParent_Done,
13725 /* 36139 */ // Label 1121: @36139
13726 /* 36139 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1122*/ GIMT_Encode4(36157), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4416 //
13727 /* 36146 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
13728 /* 36150 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KXORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
13729 /* 36150 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
13730 /* 36155 */ GIR_RootConstrainSelectedInstOperands,
13731 /* 36156 */ // GIR_Coverage, 4416,
13732 /* 36156 */ GIR_Done,
13733 /* 36157 */ // Label 1122: @36157
13734 /* 36157 */ GIM_Reject,
13735 /* 36158 */ // Label 1119: @36158
13736 /* 36158 */ GIM_Reject,
13737 /* 36159 */ // Label 1116: @36159
13738 /* 36159 */ GIM_Reject,
13739 /* 36160 */ // Label 990: @36160
13740 /* 36160 */ GIM_Try, /*On fail goto*//*Label 1123*/ GIMT_Encode4(36410),
13741 /* 36165 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
13742 /* 36168 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
13743 /* 36171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
13744 /* 36175 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1124*/ GIMT_Encode4(36234), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23928 //
13745 /* 36182 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13746 /* 36186 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13747 /* 36190 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
13748 /* 36194 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
13749 /* 36198 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
13750 /* 36203 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13751 /* 36207 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13752 /* 36213 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13753 /* 36215 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
13754 /* 36219 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13755 /* 36221 */ // (xor:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] }), VK32:{ *:[v32i1] }:$src2) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
13756 /* 36221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
13757 /* 36224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13758 /* 36226 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13759 /* 36230 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
13760 /* 36232 */ GIR_RootConstrainSelectedInstOperands,
13761 /* 36233 */ // GIR_Coverage, 23928,
13762 /* 36233 */ GIR_EraseRootFromParent_Done,
13763 /* 36234 */ // Label 1124: @36234
13764 /* 36234 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1125*/ GIMT_Encode4(36296), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4413 //
13765 /* 36241 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13766 /* 36245 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13767 /* 36249 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
13768 /* 36253 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
13769 /* 36257 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
13770 /* 36262 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
13771 /* 36267 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13772 /* 36271 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13773 /* 36277 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13774 /* 36279 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13775 /* 36281 */ // (xor:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2), immAllOnesV:{ *:[v32i1] }) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
13776 /* 36281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
13777 /* 36284 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13778 /* 36286 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13779 /* 36290 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
13780 /* 36294 */ GIR_RootConstrainSelectedInstOperands,
13781 /* 36295 */ // GIR_Coverage, 4413,
13782 /* 36295 */ GIR_EraseRootFromParent_Done,
13783 /* 36296 */ // Label 1125: @36296
13784 /* 36296 */ GIM_Try, /*On fail goto*//*Label 1126*/ GIMT_Encode4(36409),
13785 /* 36301 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
13786 /* 36305 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1127*/ GIMT_Encode4(36360), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23929 //
13787 /* 36312 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13788 /* 36316 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13789 /* 36320 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
13790 /* 36324 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
13791 /* 36328 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
13792 /* 36333 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13793 /* 36337 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13794 /* 36343 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13795 /* 36345 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13796 /* 36347 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src2, (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] })) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
13797 /* 36347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
13798 /* 36350 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13799 /* 36352 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13800 /* 36356 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
13801 /* 36358 */ GIR_RootConstrainSelectedInstOperands,
13802 /* 36359 */ // GIR_Coverage, 23929,
13803 /* 36359 */ GIR_EraseRootFromParent_Done,
13804 /* 36360 */ // Label 1127: @36360
13805 /* 36360 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1128*/ GIMT_Encode4(36390), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4401 //
13806 /* 36367 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13807 /* 36371 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13808 /* 36377 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13809 /* 36379 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13810 /* 36381 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src, immAllOnesV:{ *:[v32i1] }) => (KNOTDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src)
13811 /* 36381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTDkk),
13812 /* 36384 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13813 /* 36386 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13814 /* 36388 */ GIR_RootConstrainSelectedInstOperands,
13815 /* 36389 */ // GIR_Coverage, 4401,
13816 /* 36389 */ GIR_EraseRootFromParent_Done,
13817 /* 36390 */ // Label 1128: @36390
13818 /* 36390 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1129*/ GIMT_Encode4(36408), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4417 //
13819 /* 36397 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
13820 /* 36401 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KXORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
13821 /* 36401 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORDkk),
13822 /* 36406 */ GIR_RootConstrainSelectedInstOperands,
13823 /* 36407 */ // GIR_Coverage, 4417,
13824 /* 36407 */ GIR_Done,
13825 /* 36408 */ // Label 1129: @36408
13826 /* 36408 */ GIM_Reject,
13827 /* 36409 */ // Label 1126: @36409
13828 /* 36409 */ GIM_Reject,
13829 /* 36410 */ // Label 1123: @36410
13830 /* 36410 */ GIM_Reject,
13831 /* 36411 */ // Label 991: @36411
13832 /* 36411 */ GIM_Try, /*On fail goto*//*Label 1130*/ GIMT_Encode4(36661),
13833 /* 36416 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
13834 /* 36419 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
13835 /* 36422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
13836 /* 36426 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1131*/ GIMT_Encode4(36485), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23930 //
13837 /* 36433 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13838 /* 36437 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13839 /* 36441 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
13840 /* 36445 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
13841 /* 36449 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
13842 /* 36454 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13843 /* 36458 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13844 /* 36464 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13845 /* 36466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
13846 /* 36470 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13847 /* 36472 */ // (xor:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] }), VK64:{ *:[v64i1] }:$src2) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
13848 /* 36472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
13849 /* 36475 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13850 /* 36477 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13851 /* 36481 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
13852 /* 36483 */ GIR_RootConstrainSelectedInstOperands,
13853 /* 36484 */ // GIR_Coverage, 23930,
13854 /* 36484 */ GIR_EraseRootFromParent_Done,
13855 /* 36485 */ // Label 1131: @36485
13856 /* 36485 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1132*/ GIMT_Encode4(36547), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4414 //
13857 /* 36492 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13858 /* 36496 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13859 /* 36500 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
13860 /* 36504 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
13861 /* 36508 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
13862 /* 36513 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
13863 /* 36518 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13864 /* 36522 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13865 /* 36528 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13866 /* 36530 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13867 /* 36532 */ // (xor:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2), immAllOnesV:{ *:[v64i1] }) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
13868 /* 36532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
13869 /* 36535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13870 /* 36537 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13871 /* 36541 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
13872 /* 36545 */ GIR_RootConstrainSelectedInstOperands,
13873 /* 36546 */ // GIR_Coverage, 4414,
13874 /* 36546 */ GIR_EraseRootFromParent_Done,
13875 /* 36547 */ // Label 1132: @36547
13876 /* 36547 */ GIM_Try, /*On fail goto*//*Label 1133*/ GIMT_Encode4(36660),
13877 /* 36552 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
13878 /* 36556 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1134*/ GIMT_Encode4(36611), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23931 //
13879 /* 36563 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13880 /* 36567 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13881 /* 36571 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
13882 /* 36575 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
13883 /* 36579 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
13884 /* 36584 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13885 /* 36588 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13886 /* 36594 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13887 /* 36596 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13888 /* 36598 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src2, (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] })) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
13889 /* 36598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
13890 /* 36601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13891 /* 36603 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13892 /* 36607 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
13893 /* 36609 */ GIR_RootConstrainSelectedInstOperands,
13894 /* 36610 */ // GIR_Coverage, 23931,
13895 /* 36610 */ GIR_EraseRootFromParent_Done,
13896 /* 36611 */ // Label 1134: @36611
13897 /* 36611 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1135*/ GIMT_Encode4(36641), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4402 //
13898 /* 36618 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13899 /* 36622 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13900 /* 36628 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13901 /* 36630 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13902 /* 36632 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src, immAllOnesV:{ *:[v64i1] }) => (KNOTQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src)
13903 /* 36632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTQkk),
13904 /* 36635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13905 /* 36637 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13906 /* 36639 */ GIR_RootConstrainSelectedInstOperands,
13907 /* 36640 */ // GIR_Coverage, 4402,
13908 /* 36640 */ GIR_EraseRootFromParent_Done,
13909 /* 36641 */ // Label 1135: @36641
13910 /* 36641 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1136*/ GIMT_Encode4(36659), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4418 //
13911 /* 36648 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
13912 /* 36652 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KXORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
13913 /* 36652 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORQkk),
13914 /* 36657 */ GIR_RootConstrainSelectedInstOperands,
13915 /* 36658 */ // GIR_Coverage, 4418,
13916 /* 36658 */ GIR_Done,
13917 /* 36659 */ // Label 1136: @36659
13918 /* 36659 */ GIM_Reject,
13919 /* 36660 */ // Label 1133: @36660
13920 /* 36660 */ GIM_Reject,
13921 /* 36661 */ // Label 1130: @36661
13922 /* 36661 */ GIM_Reject,
13923 /* 36662 */ // Label 992: @36662
13924 /* 36662 */ GIM_Try, /*On fail goto*//*Label 1137*/ GIMT_Encode4(37266),
13925 /* 36667 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
13926 /* 36670 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
13927 /* 36673 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1138*/ GIMT_Encode4(36734), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25501 //
13928 /* 36680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13929 /* 36684 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13930 /* 36688 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13931 /* 36692 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13932 /* 36695 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13933 /* 36699 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13934 /* 36703 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13935 /* 36707 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13936 /* 36709 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13937 /* 36716 */ // (xor:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPXORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
13938 /* 36716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
13939 /* 36719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13940 /* 36721 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13941 /* 36723 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13942 /* 36727 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13943 /* 36732 */ GIR_RootConstrainSelectedInstOperands,
13944 /* 36733 */ // GIR_Coverage, 25501,
13945 /* 36733 */ GIR_EraseRootFromParent_Done,
13946 /* 36734 */ // Label 1138: @36734
13947 /* 36734 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1139*/ GIMT_Encode4(36795), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25680 //
13948 /* 36741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13949 /* 36745 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13950 /* 36749 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13951 /* 36753 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13952 /* 36756 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13953 /* 36760 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13954 /* 36764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13955 /* 36768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13956 /* 36770 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13957 /* 36777 */ // (xor:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPXORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
13958 /* 36777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
13959 /* 36780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13960 /* 36782 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13961 /* 36784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13962 /* 36788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13963 /* 36793 */ GIR_RootConstrainSelectedInstOperands,
13964 /* 36794 */ // GIR_Coverage, 25680,
13965 /* 36794 */ GIR_EraseRootFromParent_Done,
13966 /* 36795 */ // Label 1139: @36795
13967 /* 36795 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1140*/ GIMT_Encode4(36856), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18257 //
13968 /* 36802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13969 /* 36806 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
13970 /* 36810 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13971 /* 36814 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13972 /* 36818 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13973 /* 36821 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13974 /* 36825 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13975 /* 36829 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13976 /* 36831 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13977 /* 36838 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
13978 /* 36838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
13979 /* 36841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13980 /* 36843 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13981 /* 36845 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13982 /* 36849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13983 /* 36854 */ GIR_RootConstrainSelectedInstOperands,
13984 /* 36855 */ // GIR_Coverage, 18257,
13985 /* 36855 */ GIR_EraseRootFromParent_Done,
13986 /* 36856 */ // Label 1140: @36856
13987 /* 36856 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1141*/ GIMT_Encode4(36917), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20154 //
13988 /* 36863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13989 /* 36867 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
13990 /* 36871 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13991 /* 36875 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13992 /* 36879 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13993 /* 36882 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13994 /* 36886 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13995 /* 36890 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13996 /* 36892 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13997 /* 36899 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
13998 /* 36899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
13999 /* 36902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14000 /* 36904 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14001 /* 36906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14002 /* 36910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14003 /* 36915 */ GIR_RootConstrainSelectedInstOperands,
14004 /* 36916 */ // GIR_Coverage, 20154,
14005 /* 36916 */ GIR_EraseRootFromParent_Done,
14006 /* 36917 */ // Label 1141: @36917
14007 /* 36917 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1142*/ GIMT_Encode4(37148), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 22091 //
14008 /* 36924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
14009 /* 36928 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14010 /* 36932 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14011 /* 36936 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14012 /* 36942 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14013 /* 36944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14014 /* 36946 */ // (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] })
14015 /* 36946 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14016 /* 36949 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14017 /* 36953 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14018 /* 36958 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14019 /* 36960 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14020 /* 36963 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14021 /* 36967 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14022 /* 36972 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14023 /* 36975 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14024 /* 36979 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
14025 /* 36982 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14026 /* 36987 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14027 /* 36992 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14028 /* 36997 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14029 /* 37000 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14030 /* 37004 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14031 /* 37009 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14032 /* 37011 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14033 /* 37014 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14034 /* 37018 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14035 /* 37023 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14036 /* 37026 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14037 /* 37030 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
14038 /* 37033 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14039 /* 37038 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14040 /* 37043 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14041 /* 37048 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14042 /* 37051 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14043 /* 37055 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14044 /* 37060 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14045 /* 37062 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14046 /* 37065 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14047 /* 37069 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14048 /* 37074 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14049 /* 37077 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14050 /* 37081 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
14051 /* 37084 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14052 /* 37089 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14053 /* 37094 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14054 /* 37099 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14055 /* 37102 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14056 /* 37106 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14057 /* 37111 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14058 /* 37114 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14059 /* 37117 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14060 /* 37120 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14061 /* 37123 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14062 /* 37125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14063 /* 37128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14064 /* 37130 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
14065 /* 37137 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
14066 /* 37142 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14067 /* 37147 */ // GIR_Coverage, 22091,
14068 /* 37147 */ GIR_EraseRootFromParent_Done,
14069 /* 37148 */ // Label 1142: @37148
14070 /* 37148 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1143*/ GIMT_Encode4(37193), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 22099 //
14071 /* 37155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14072 /* 37159 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14073 /* 37163 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14074 /* 37167 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14075 /* 37173 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14076 /* 37175 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14077 /* 37177 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, immAllOnesV:{ *:[v16i8] }) => (VPTERNLOGQZ128rri:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VR128X:{ *:[v16i8] }:$src, VR128X:{ *:[v16i8] }:$src, 15:{ *:[i8] })
14078 /* 37177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
14079 /* 37180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14080 /* 37182 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14081 /* 37184 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14082 /* 37186 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14083 /* 37188 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14084 /* 37191 */ GIR_RootConstrainSelectedInstOperands,
14085 /* 37192 */ // GIR_Coverage, 22099,
14086 /* 37192 */ GIR_EraseRootFromParent_Done,
14087 /* 37193 */ // Label 1143: @37193
14088 /* 37193 */ GIM_Try, /*On fail goto*//*Label 1144*/ GIMT_Encode4(37239),
14089 /* 37198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14090 /* 37202 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14091 /* 37206 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14092 /* 37210 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1145*/ GIMT_Encode4(37224), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18245 //
14093 /* 37217 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPXORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
14094 /* 37217 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
14095 /* 37222 */ GIR_RootConstrainSelectedInstOperands,
14096 /* 37223 */ // GIR_Coverage, 18245,
14097 /* 37223 */ GIR_Done,
14098 /* 37224 */ // Label 1145: @37224
14099 /* 37224 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1146*/ GIMT_Encode4(37238), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18269 //
14100 /* 37231 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PXORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
14101 /* 37231 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
14102 /* 37236 */ GIR_RootConstrainSelectedInstOperands,
14103 /* 37237 */ // GIR_Coverage, 18269,
14104 /* 37237 */ GIR_Done,
14105 /* 37238 */ // Label 1146: @37238
14106 /* 37238 */ GIM_Reject,
14107 /* 37239 */ // Label 1144: @37239
14108 /* 37239 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1147*/ GIMT_Encode4(37265), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20146 //
14109 /* 37246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14110 /* 37250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14111 /* 37254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14112 /* 37258 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPXORQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
14113 /* 37258 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
14114 /* 37263 */ GIR_RootConstrainSelectedInstOperands,
14115 /* 37264 */ // GIR_Coverage, 20146,
14116 /* 37264 */ GIR_Done,
14117 /* 37265 */ // Label 1147: @37265
14118 /* 37265 */ GIM_Reject,
14119 /* 37266 */ // Label 1137: @37266
14120 /* 37266 */ GIM_Reject,
14121 /* 37267 */ // Label 993: @37267
14122 /* 37267 */ GIM_Try, /*On fail goto*//*Label 1148*/ GIMT_Encode4(37979),
14123 /* 37272 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
14124 /* 37275 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
14125 /* 37278 */ GIM_Try, /*On fail goto*//*Label 1149*/ GIMT_Encode4(37398),
14126 /* 37283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14127 /* 37287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14128 /* 37291 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1150*/ GIMT_Encode4(37344), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25480 //
14129 /* 37298 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14130 /* 37302 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14131 /* 37306 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14132 /* 37309 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14133 /* 37313 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14134 /* 37317 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14135 /* 37319 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14136 /* 37326 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPXORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14137 /* 37326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
14138 /* 37329 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14139 /* 37331 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14140 /* 37333 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14141 /* 37337 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14142 /* 37342 */ GIR_RootConstrainSelectedInstOperands,
14143 /* 37343 */ // GIR_Coverage, 25480,
14144 /* 37343 */ GIR_EraseRootFromParent_Done,
14145 /* 37344 */ // Label 1150: @37344
14146 /* 37344 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1151*/ GIMT_Encode4(37397), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25491 //
14147 /* 37351 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14148 /* 37355 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14149 /* 37359 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14150 /* 37362 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14151 /* 37366 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14152 /* 37370 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14153 /* 37372 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14154 /* 37379 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VXORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14155 /* 37379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
14156 /* 37382 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14157 /* 37384 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14158 /* 37386 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14159 /* 37390 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14160 /* 37395 */ GIR_RootConstrainSelectedInstOperands,
14161 /* 37396 */ // GIR_Coverage, 25491,
14162 /* 37396 */ GIR_EraseRootFromParent_Done,
14163 /* 37397 */ // Label 1151: @37397
14164 /* 37397 */ GIM_Reject,
14165 /* 37398 */ // Label 1149: @37398
14166 /* 37398 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1152*/ GIMT_Encode4(37459), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25686 //
14167 /* 37405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14168 /* 37409 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14169 /* 37413 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14170 /* 37417 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14171 /* 37420 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14172 /* 37424 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14173 /* 37428 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14174 /* 37432 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14175 /* 37434 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14176 /* 37441 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPXORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14177 /* 37441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
14178 /* 37444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14179 /* 37446 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14180 /* 37448 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14181 /* 37452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14182 /* 37457 */ GIR_RootConstrainSelectedInstOperands,
14183 /* 37458 */ // GIR_Coverage, 25686,
14184 /* 37458 */ GIR_EraseRootFromParent_Done,
14185 /* 37459 */ // Label 1152: @37459
14186 /* 37459 */ GIM_Try, /*On fail goto*//*Label 1153*/ GIMT_Encode4(37579),
14187 /* 37464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14188 /* 37468 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14189 /* 37472 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1154*/ GIMT_Encode4(37525), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18201 //
14190 /* 37479 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14191 /* 37483 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14192 /* 37487 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14193 /* 37490 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14194 /* 37494 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14195 /* 37498 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14196 /* 37500 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14197 /* 37507 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14198 /* 37507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
14199 /* 37510 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14200 /* 37512 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14201 /* 37514 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14202 /* 37518 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14203 /* 37523 */ GIR_RootConstrainSelectedInstOperands,
14204 /* 37524 */ // GIR_Coverage, 18201,
14205 /* 37524 */ GIR_EraseRootFromParent_Done,
14206 /* 37525 */ // Label 1154: @37525
14207 /* 37525 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1155*/ GIMT_Encode4(37578), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18231 //
14208 /* 37532 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14209 /* 37536 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14210 /* 37540 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14211 /* 37543 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14212 /* 37547 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14213 /* 37551 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14214 /* 37553 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14215 /* 37560 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14216 /* 37560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
14217 /* 37563 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14218 /* 37565 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14219 /* 37567 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14220 /* 37571 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14221 /* 37576 */ GIR_RootConstrainSelectedInstOperands,
14222 /* 37577 */ // GIR_Coverage, 18231,
14223 /* 37577 */ GIR_EraseRootFromParent_Done,
14224 /* 37578 */ // Label 1155: @37578
14225 /* 37578 */ GIM_Reject,
14226 /* 37579 */ // Label 1153: @37579
14227 /* 37579 */ GIM_Try, /*On fail goto*//*Label 1156*/ GIMT_Encode4(37906),
14228 /* 37584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14229 /* 37588 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14230 /* 37592 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1157*/ GIMT_Encode4(37645), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20170 //
14231 /* 37599 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14232 /* 37603 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14233 /* 37607 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14234 /* 37610 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14235 /* 37614 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14236 /* 37618 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14237 /* 37620 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14238 /* 37627 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14239 /* 37627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
14240 /* 37630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14241 /* 37632 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14242 /* 37634 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14243 /* 37638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14244 /* 37643 */ GIR_RootConstrainSelectedInstOperands,
14245 /* 37644 */ // GIR_Coverage, 20170,
14246 /* 37644 */ GIR_EraseRootFromParent_Done,
14247 /* 37645 */ // Label 1157: @37645
14248 /* 37645 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1158*/ GIMT_Encode4(37868), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 22095 //
14249 /* 37652 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14250 /* 37656 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14251 /* 37662 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14252 /* 37664 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14253 /* 37666 */ // (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] })
14254 /* 37666 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14255 /* 37669 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14256 /* 37673 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14257 /* 37678 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14258 /* 37680 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14259 /* 37683 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14260 /* 37687 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14261 /* 37692 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14262 /* 37695 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14263 /* 37699 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
14264 /* 37702 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14265 /* 37707 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14266 /* 37712 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14267 /* 37717 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14268 /* 37720 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14269 /* 37724 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14270 /* 37729 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14271 /* 37731 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14272 /* 37734 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14273 /* 37738 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14274 /* 37743 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14275 /* 37746 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14276 /* 37750 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
14277 /* 37753 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14278 /* 37758 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14279 /* 37763 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14280 /* 37768 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14281 /* 37771 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14282 /* 37775 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14283 /* 37780 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14284 /* 37782 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14285 /* 37785 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14286 /* 37789 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14287 /* 37794 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14288 /* 37797 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14289 /* 37801 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
14290 /* 37804 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14291 /* 37809 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14292 /* 37814 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14293 /* 37819 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14294 /* 37822 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14295 /* 37826 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14296 /* 37831 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14297 /* 37834 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14298 /* 37837 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14299 /* 37840 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14300 /* 37843 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14301 /* 37845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14302 /* 37848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14303 /* 37850 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
14304 /* 37857 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
14305 /* 37862 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14306 /* 37867 */ // GIR_Coverage, 22095,
14307 /* 37867 */ GIR_EraseRootFromParent_Done,
14308 /* 37868 */ // Label 1158: @37868
14309 /* 37868 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1159*/ GIMT_Encode4(37905), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 22103 //
14310 /* 37875 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14311 /* 37879 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14312 /* 37885 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14313 /* 37887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14314 /* 37889 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, immAllOnesV:{ *:[v32i8] }) => (VPTERNLOGQZ256rri:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VR256X:{ *:[v32i8] }:$src, VR256X:{ *:[v32i8] }:$src, 15:{ *:[i8] })
14315 /* 37889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
14316 /* 37892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14317 /* 37894 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14318 /* 37896 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14319 /* 37898 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14320 /* 37900 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14321 /* 37903 */ GIR_RootConstrainSelectedInstOperands,
14322 /* 37904 */ // GIR_Coverage, 22103,
14323 /* 37904 */ GIR_EraseRootFromParent_Done,
14324 /* 37905 */ // Label 1159: @37905
14325 /* 37905 */ GIM_Reject,
14326 /* 37906 */ // Label 1156: @37906
14327 /* 37906 */ GIM_Try, /*On fail goto*//*Label 1160*/ GIMT_Encode4(37952),
14328 /* 37911 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14329 /* 37915 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14330 /* 37919 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14331 /* 37923 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1161*/ GIMT_Encode4(37937), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18189 //
14332 /* 37930 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPXORYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
14333 /* 37930 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
14334 /* 37935 */ GIR_RootConstrainSelectedInstOperands,
14335 /* 37936 */ // GIR_Coverage, 18189,
14336 /* 37936 */ GIR_Done,
14337 /* 37937 */ // Label 1161: @37937
14338 /* 37937 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1162*/ GIMT_Encode4(37951), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18215 //
14339 /* 37944 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VXORPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
14340 /* 37944 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
14341 /* 37949 */ GIR_RootConstrainSelectedInstOperands,
14342 /* 37950 */ // GIR_Coverage, 18215,
14343 /* 37950 */ GIR_Done,
14344 /* 37951 */ // Label 1162: @37951
14345 /* 37951 */ GIM_Reject,
14346 /* 37952 */ // Label 1160: @37952
14347 /* 37952 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1163*/ GIMT_Encode4(37978), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20162 //
14348 /* 37959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14349 /* 37963 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14350 /* 37967 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14351 /* 37971 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPXORQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
14352 /* 37971 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
14353 /* 37976 */ GIR_RootConstrainSelectedInstOperands,
14354 /* 37977 */ // GIR_Coverage, 20162,
14355 /* 37977 */ GIR_Done,
14356 /* 37978 */ // Label 1163: @37978
14357 /* 37978 */ GIM_Reject,
14358 /* 37979 */ // Label 1148: @37979
14359 /* 37979 */ GIM_Reject,
14360 /* 37980 */ // Label 994: @37980
14361 /* 37980 */ GIM_Try, /*On fail goto*//*Label 1164*/ GIMT_Encode4(38171),
14362 /* 37985 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
14363 /* 37988 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
14364 /* 37991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14365 /* 37995 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1165*/ GIMT_Encode4(38052), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 25692 //
14366 /* 38002 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14367 /* 38006 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14368 /* 38010 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14369 /* 38013 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14370 /* 38017 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14371 /* 38021 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14372 /* 38025 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14373 /* 38027 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14374 /* 38034 */ // (xor:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPXORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14375 /* 38034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
14376 /* 38037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14377 /* 38039 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14378 /* 38041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14379 /* 38045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14380 /* 38050 */ GIR_RootConstrainSelectedInstOperands,
14381 /* 38051 */ // GIR_Coverage, 25692,
14382 /* 38051 */ GIR_EraseRootFromParent_Done,
14383 /* 38052 */ // Label 1165: @38052
14384 /* 38052 */ GIM_Try, /*On fail goto*//*Label 1166*/ GIMT_Encode4(38170),
14385 /* 38057 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14386 /* 38061 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1167*/ GIMT_Encode4(38114), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20186 //
14387 /* 38068 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14388 /* 38072 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14389 /* 38076 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14390 /* 38079 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14391 /* 38083 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14392 /* 38087 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14393 /* 38089 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14394 /* 38096 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14395 /* 38096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
14396 /* 38099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14397 /* 38101 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14398 /* 38103 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14399 /* 38107 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14400 /* 38112 */ GIR_RootConstrainSelectedInstOperands,
14401 /* 38113 */ // GIR_Coverage, 20186,
14402 /* 38113 */ GIR_EraseRootFromParent_Done,
14403 /* 38114 */ // Label 1167: @38114
14404 /* 38114 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1168*/ GIMT_Encode4(38151), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22087 //
14405 /* 38121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14406 /* 38125 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14407 /* 38131 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14408 /* 38133 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14409 /* 38135 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, immAllOnesV:{ *:[v64i8] }) => (VPTERNLOGQZrri:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VR512:{ *:[v64i8] }:$src, VR512:{ *:[v64i8] }:$src, 15:{ *:[i8] })
14410 /* 38135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14411 /* 38138 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14412 /* 38140 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14413 /* 38142 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14414 /* 38144 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14415 /* 38146 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14416 /* 38149 */ GIR_RootConstrainSelectedInstOperands,
14417 /* 38150 */ // GIR_Coverage, 22087,
14418 /* 38150 */ GIR_EraseRootFromParent_Done,
14419 /* 38151 */ // Label 1168: @38151
14420 /* 38151 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1169*/ GIMT_Encode4(38169), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20178 //
14421 /* 38158 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14422 /* 38162 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPXORQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
14423 /* 38162 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
14424 /* 38167 */ GIR_RootConstrainSelectedInstOperands,
14425 /* 38168 */ // GIR_Coverage, 20178,
14426 /* 38168 */ GIR_Done,
14427 /* 38169 */ // Label 1169: @38169
14428 /* 38169 */ GIM_Reject,
14429 /* 38170 */ // Label 1166: @38170
14430 /* 38170 */ GIM_Reject,
14431 /* 38171 */ // Label 1164: @38171
14432 /* 38171 */ GIM_Reject,
14433 /* 38172 */ // Label 995: @38172
14434 /* 38172 */ GIM_Try, /*On fail goto*//*Label 1170*/ GIMT_Encode4(38776),
14435 /* 38177 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
14436 /* 38180 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
14437 /* 38183 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1171*/ GIMT_Encode4(38244), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25502 //
14438 /* 38190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14439 /* 38194 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14440 /* 38198 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14441 /* 38202 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14442 /* 38205 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14443 /* 38209 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14444 /* 38213 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14445 /* 38217 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14446 /* 38219 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14447 /* 38226 */ // (xor:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPXORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14448 /* 38226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14449 /* 38229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14450 /* 38231 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14451 /* 38233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14452 /* 38237 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14453 /* 38242 */ GIR_RootConstrainSelectedInstOperands,
14454 /* 38243 */ // GIR_Coverage, 25502,
14455 /* 38243 */ GIR_EraseRootFromParent_Done,
14456 /* 38244 */ // Label 1171: @38244
14457 /* 38244 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1172*/ GIMT_Encode4(38305), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25681 //
14458 /* 38251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14459 /* 38255 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14460 /* 38259 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14461 /* 38263 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14462 /* 38266 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14463 /* 38270 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14464 /* 38274 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14465 /* 38278 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14466 /* 38280 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14467 /* 38287 */ // (xor:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPXORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14468 /* 38287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
14469 /* 38290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14470 /* 38292 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14471 /* 38294 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14472 /* 38298 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14473 /* 38303 */ GIR_RootConstrainSelectedInstOperands,
14474 /* 38304 */ // GIR_Coverage, 25681,
14475 /* 38304 */ GIR_EraseRootFromParent_Done,
14476 /* 38305 */ // Label 1172: @38305
14477 /* 38305 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1173*/ GIMT_Encode4(38366), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18258 //
14478 /* 38312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14479 /* 38316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14480 /* 38320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14481 /* 38324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14482 /* 38328 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14483 /* 38331 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14484 /* 38335 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14485 /* 38339 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14486 /* 38341 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14487 /* 38348 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14488 /* 38348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14489 /* 38351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14490 /* 38353 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14491 /* 38355 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14492 /* 38359 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14493 /* 38364 */ GIR_RootConstrainSelectedInstOperands,
14494 /* 38365 */ // GIR_Coverage, 18258,
14495 /* 38365 */ GIR_EraseRootFromParent_Done,
14496 /* 38366 */ // Label 1173: @38366
14497 /* 38366 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1174*/ GIMT_Encode4(38427), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20155 //
14498 /* 38373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14499 /* 38377 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14500 /* 38381 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14501 /* 38385 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14502 /* 38389 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14503 /* 38392 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14504 /* 38396 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14505 /* 38400 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14506 /* 38402 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14507 /* 38409 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14508 /* 38409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
14509 /* 38412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14510 /* 38414 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14511 /* 38416 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14512 /* 38420 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14513 /* 38425 */ GIR_RootConstrainSelectedInstOperands,
14514 /* 38426 */ // GIR_Coverage, 20155,
14515 /* 38426 */ GIR_EraseRootFromParent_Done,
14516 /* 38427 */ // Label 1174: @38427
14517 /* 38427 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1175*/ GIMT_Encode4(38658), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 22092 //
14518 /* 38434 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
14519 /* 38438 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14520 /* 38442 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14521 /* 38446 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14522 /* 38452 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14523 /* 38454 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14524 /* 38456 */ // (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] })
14525 /* 38456 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14526 /* 38459 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14527 /* 38463 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14528 /* 38468 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14529 /* 38470 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14530 /* 38473 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14531 /* 38477 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14532 /* 38482 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14533 /* 38485 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14534 /* 38489 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
14535 /* 38492 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14536 /* 38497 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14537 /* 38502 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14538 /* 38507 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14539 /* 38510 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14540 /* 38514 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14541 /* 38519 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14542 /* 38521 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14543 /* 38524 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14544 /* 38528 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14545 /* 38533 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14546 /* 38536 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14547 /* 38540 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
14548 /* 38543 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14549 /* 38548 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14550 /* 38553 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14551 /* 38558 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14552 /* 38561 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14553 /* 38565 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14554 /* 38570 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14555 /* 38572 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14556 /* 38575 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14557 /* 38579 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14558 /* 38584 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14559 /* 38587 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14560 /* 38591 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
14561 /* 38594 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14562 /* 38599 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14563 /* 38604 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14564 /* 38609 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14565 /* 38612 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14566 /* 38616 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14567 /* 38621 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14568 /* 38624 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14569 /* 38627 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14570 /* 38630 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14571 /* 38633 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14572 /* 38635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14573 /* 38638 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14574 /* 38640 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
14575 /* 38647 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
14576 /* 38652 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14577 /* 38657 */ // GIR_Coverage, 22092,
14578 /* 38657 */ GIR_EraseRootFromParent_Done,
14579 /* 38658 */ // Label 1175: @38658
14580 /* 38658 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1176*/ GIMT_Encode4(38703), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 22100 //
14581 /* 38665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14582 /* 38669 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14583 /* 38673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14584 /* 38677 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14585 /* 38683 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14586 /* 38685 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14587 /* 38687 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, immAllOnesV:{ *:[v8i16] }) => (VPTERNLOGQZ128rri:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VR128X:{ *:[v8i16] }:$src, VR128X:{ *:[v8i16] }:$src, 15:{ *:[i8] })
14588 /* 38687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
14589 /* 38690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14590 /* 38692 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14591 /* 38694 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14592 /* 38696 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14593 /* 38698 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14594 /* 38701 */ GIR_RootConstrainSelectedInstOperands,
14595 /* 38702 */ // GIR_Coverage, 22100,
14596 /* 38702 */ GIR_EraseRootFromParent_Done,
14597 /* 38703 */ // Label 1176: @38703
14598 /* 38703 */ GIM_Try, /*On fail goto*//*Label 1177*/ GIMT_Encode4(38749),
14599 /* 38708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14600 /* 38712 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14601 /* 38716 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14602 /* 38720 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1178*/ GIMT_Encode4(38734), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18246 //
14603 /* 38727 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPXORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
14604 /* 38727 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
14605 /* 38732 */ GIR_RootConstrainSelectedInstOperands,
14606 /* 38733 */ // GIR_Coverage, 18246,
14607 /* 38733 */ GIR_Done,
14608 /* 38734 */ // Label 1178: @38734
14609 /* 38734 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1179*/ GIMT_Encode4(38748), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18270 //
14610 /* 38741 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PXORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
14611 /* 38741 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
14612 /* 38746 */ GIR_RootConstrainSelectedInstOperands,
14613 /* 38747 */ // GIR_Coverage, 18270,
14614 /* 38747 */ GIR_Done,
14615 /* 38748 */ // Label 1179: @38748
14616 /* 38748 */ GIM_Reject,
14617 /* 38749 */ // Label 1177: @38749
14618 /* 38749 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1180*/ GIMT_Encode4(38775), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20147 //
14619 /* 38756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14620 /* 38760 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14621 /* 38764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14622 /* 38768 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPXORQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
14623 /* 38768 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
14624 /* 38773 */ GIR_RootConstrainSelectedInstOperands,
14625 /* 38774 */ // GIR_Coverage, 20147,
14626 /* 38774 */ GIR_Done,
14627 /* 38775 */ // Label 1180: @38775
14628 /* 38775 */ GIM_Reject,
14629 /* 38776 */ // Label 1170: @38776
14630 /* 38776 */ GIM_Reject,
14631 /* 38777 */ // Label 996: @38777
14632 /* 38777 */ GIM_Try, /*On fail goto*//*Label 1181*/ GIMT_Encode4(39489),
14633 /* 38782 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
14634 /* 38785 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
14635 /* 38788 */ GIM_Try, /*On fail goto*//*Label 1182*/ GIMT_Encode4(38908),
14636 /* 38793 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14637 /* 38797 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14638 /* 38801 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1183*/ GIMT_Encode4(38854), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25481 //
14639 /* 38808 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14640 /* 38812 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14641 /* 38816 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14642 /* 38819 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14643 /* 38823 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14644 /* 38827 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14645 /* 38829 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14646 /* 38836 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPXORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14647 /* 38836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
14648 /* 38839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14649 /* 38841 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14650 /* 38843 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14651 /* 38847 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14652 /* 38852 */ GIR_RootConstrainSelectedInstOperands,
14653 /* 38853 */ // GIR_Coverage, 25481,
14654 /* 38853 */ GIR_EraseRootFromParent_Done,
14655 /* 38854 */ // Label 1183: @38854
14656 /* 38854 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1184*/ GIMT_Encode4(38907), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25492 //
14657 /* 38861 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14658 /* 38865 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14659 /* 38869 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14660 /* 38872 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14661 /* 38876 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14662 /* 38880 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14663 /* 38882 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14664 /* 38889 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VXORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14665 /* 38889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
14666 /* 38892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14667 /* 38894 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14668 /* 38896 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14669 /* 38900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14670 /* 38905 */ GIR_RootConstrainSelectedInstOperands,
14671 /* 38906 */ // GIR_Coverage, 25492,
14672 /* 38906 */ GIR_EraseRootFromParent_Done,
14673 /* 38907 */ // Label 1184: @38907
14674 /* 38907 */ GIM_Reject,
14675 /* 38908 */ // Label 1182: @38908
14676 /* 38908 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1185*/ GIMT_Encode4(38969), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 25687 //
14677 /* 38915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14678 /* 38919 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14679 /* 38923 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14680 /* 38927 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14681 /* 38930 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14682 /* 38934 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14683 /* 38938 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14684 /* 38942 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14685 /* 38944 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14686 /* 38951 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPXORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14687 /* 38951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
14688 /* 38954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14689 /* 38956 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14690 /* 38958 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14691 /* 38962 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14692 /* 38967 */ GIR_RootConstrainSelectedInstOperands,
14693 /* 38968 */ // GIR_Coverage, 25687,
14694 /* 38968 */ GIR_EraseRootFromParent_Done,
14695 /* 38969 */ // Label 1185: @38969
14696 /* 38969 */ GIM_Try, /*On fail goto*//*Label 1186*/ GIMT_Encode4(39089),
14697 /* 38974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14698 /* 38978 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14699 /* 38982 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1187*/ GIMT_Encode4(39035), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18202 //
14700 /* 38989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14701 /* 38993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14702 /* 38997 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14703 /* 39000 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14704 /* 39004 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14705 /* 39008 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14706 /* 39010 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14707 /* 39017 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14708 /* 39017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
14709 /* 39020 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14710 /* 39022 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14711 /* 39024 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14712 /* 39028 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14713 /* 39033 */ GIR_RootConstrainSelectedInstOperands,
14714 /* 39034 */ // GIR_Coverage, 18202,
14715 /* 39034 */ GIR_EraseRootFromParent_Done,
14716 /* 39035 */ // Label 1187: @39035
14717 /* 39035 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1188*/ GIMT_Encode4(39088), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18232 //
14718 /* 39042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14719 /* 39046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14720 /* 39050 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14721 /* 39053 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14722 /* 39057 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14723 /* 39061 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14724 /* 39063 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14725 /* 39070 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14726 /* 39070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
14727 /* 39073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14728 /* 39075 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14729 /* 39077 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14730 /* 39081 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14731 /* 39086 */ GIR_RootConstrainSelectedInstOperands,
14732 /* 39087 */ // GIR_Coverage, 18232,
14733 /* 39087 */ GIR_EraseRootFromParent_Done,
14734 /* 39088 */ // Label 1188: @39088
14735 /* 39088 */ GIM_Reject,
14736 /* 39089 */ // Label 1186: @39089
14737 /* 39089 */ GIM_Try, /*On fail goto*//*Label 1189*/ GIMT_Encode4(39416),
14738 /* 39094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14739 /* 39098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14740 /* 39102 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1190*/ GIMT_Encode4(39155), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20171 //
14741 /* 39109 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14742 /* 39113 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14743 /* 39117 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14744 /* 39120 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14745 /* 39124 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14746 /* 39128 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14747 /* 39130 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14748 /* 39137 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14749 /* 39137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
14750 /* 39140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14751 /* 39142 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14752 /* 39144 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14753 /* 39148 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14754 /* 39153 */ GIR_RootConstrainSelectedInstOperands,
14755 /* 39154 */ // GIR_Coverage, 20171,
14756 /* 39154 */ GIR_EraseRootFromParent_Done,
14757 /* 39155 */ // Label 1190: @39155
14758 /* 39155 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1191*/ GIMT_Encode4(39378), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 22096 //
14759 /* 39162 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14760 /* 39166 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14761 /* 39172 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14762 /* 39174 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14763 /* 39176 */ // (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] })
14764 /* 39176 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14765 /* 39179 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14766 /* 39183 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14767 /* 39188 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14768 /* 39190 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14769 /* 39193 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14770 /* 39197 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14771 /* 39202 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14772 /* 39205 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14773 /* 39209 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
14774 /* 39212 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14775 /* 39217 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14776 /* 39222 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14777 /* 39227 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14778 /* 39230 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14779 /* 39234 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14780 /* 39239 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14781 /* 39241 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14782 /* 39244 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14783 /* 39248 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14784 /* 39253 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14785 /* 39256 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14786 /* 39260 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
14787 /* 39263 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14788 /* 39268 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14789 /* 39273 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14790 /* 39278 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14791 /* 39281 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14792 /* 39285 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14793 /* 39290 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14794 /* 39292 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14795 /* 39295 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14796 /* 39299 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14797 /* 39304 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14798 /* 39307 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14799 /* 39311 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
14800 /* 39314 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14801 /* 39319 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14802 /* 39324 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14803 /* 39329 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14804 /* 39332 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14805 /* 39336 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14806 /* 39341 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14807 /* 39344 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14808 /* 39347 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14809 /* 39350 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14810 /* 39353 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14811 /* 39355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14812 /* 39358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14813 /* 39360 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
14814 /* 39367 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
14815 /* 39372 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14816 /* 39377 */ // GIR_Coverage, 22096,
14817 /* 39377 */ GIR_EraseRootFromParent_Done,
14818 /* 39378 */ // Label 1191: @39378
14819 /* 39378 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1192*/ GIMT_Encode4(39415), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 22104 //
14820 /* 39385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14821 /* 39389 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14822 /* 39395 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14823 /* 39397 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14824 /* 39399 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, immAllOnesV:{ *:[v16i16] }) => (VPTERNLOGQZ256rri:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VR256X:{ *:[v16i16] }:$src, VR256X:{ *:[v16i16] }:$src, 15:{ *:[i8] })
14825 /* 39399 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
14826 /* 39402 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14827 /* 39404 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14828 /* 39406 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14829 /* 39408 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14830 /* 39410 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14831 /* 39413 */ GIR_RootConstrainSelectedInstOperands,
14832 /* 39414 */ // GIR_Coverage, 22104,
14833 /* 39414 */ GIR_EraseRootFromParent_Done,
14834 /* 39415 */ // Label 1192: @39415
14835 /* 39415 */ GIM_Reject,
14836 /* 39416 */ // Label 1189: @39416
14837 /* 39416 */ GIM_Try, /*On fail goto*//*Label 1193*/ GIMT_Encode4(39462),
14838 /* 39421 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14839 /* 39425 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14840 /* 39429 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14841 /* 39433 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1194*/ GIMT_Encode4(39447), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18190 //
14842 /* 39440 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPXORYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
14843 /* 39440 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
14844 /* 39445 */ GIR_RootConstrainSelectedInstOperands,
14845 /* 39446 */ // GIR_Coverage, 18190,
14846 /* 39446 */ GIR_Done,
14847 /* 39447 */ // Label 1194: @39447
14848 /* 39447 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1195*/ GIMT_Encode4(39461), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18216 //
14849 /* 39454 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VXORPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
14850 /* 39454 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
14851 /* 39459 */ GIR_RootConstrainSelectedInstOperands,
14852 /* 39460 */ // GIR_Coverage, 18216,
14853 /* 39460 */ GIR_Done,
14854 /* 39461 */ // Label 1195: @39461
14855 /* 39461 */ GIM_Reject,
14856 /* 39462 */ // Label 1193: @39462
14857 /* 39462 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1196*/ GIMT_Encode4(39488), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 20163 //
14858 /* 39469 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14859 /* 39473 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14860 /* 39477 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14861 /* 39481 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPXORQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
14862 /* 39481 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
14863 /* 39486 */ GIR_RootConstrainSelectedInstOperands,
14864 /* 39487 */ // GIR_Coverage, 20163,
14865 /* 39487 */ GIR_Done,
14866 /* 39488 */ // Label 1196: @39488
14867 /* 39488 */ GIM_Reject,
14868 /* 39489 */ // Label 1181: @39489
14869 /* 39489 */ GIM_Reject,
14870 /* 39490 */ // Label 997: @39490
14871 /* 39490 */ GIM_Try, /*On fail goto*//*Label 1197*/ GIMT_Encode4(39681),
14872 /* 39495 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
14873 /* 39498 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
14874 /* 39501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14875 /* 39505 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1198*/ GIMT_Encode4(39562), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 25693 //
14876 /* 39512 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14877 /* 39516 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14878 /* 39520 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14879 /* 39523 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14880 /* 39527 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14881 /* 39531 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14882 /* 39535 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14883 /* 39537 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14884 /* 39544 */ // (xor:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPXORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14885 /* 39544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
14886 /* 39547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14887 /* 39549 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14888 /* 39551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14889 /* 39555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14890 /* 39560 */ GIR_RootConstrainSelectedInstOperands,
14891 /* 39561 */ // GIR_Coverage, 25693,
14892 /* 39561 */ GIR_EraseRootFromParent_Done,
14893 /* 39562 */ // Label 1198: @39562
14894 /* 39562 */ GIM_Try, /*On fail goto*//*Label 1199*/ GIMT_Encode4(39680),
14895 /* 39567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14896 /* 39571 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1200*/ GIMT_Encode4(39624), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20187 //
14897 /* 39578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14898 /* 39582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14899 /* 39586 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14900 /* 39589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14901 /* 39593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14902 /* 39597 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14903 /* 39599 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14904 /* 39606 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14905 /* 39606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
14906 /* 39609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14907 /* 39611 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14908 /* 39613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14909 /* 39617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14910 /* 39622 */ GIR_RootConstrainSelectedInstOperands,
14911 /* 39623 */ // GIR_Coverage, 20187,
14912 /* 39623 */ GIR_EraseRootFromParent_Done,
14913 /* 39624 */ // Label 1200: @39624
14914 /* 39624 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1201*/ GIMT_Encode4(39661), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22088 //
14915 /* 39631 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14916 /* 39635 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14917 /* 39641 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14918 /* 39643 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14919 /* 39645 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, immAllOnesV:{ *:[v32i16] }) => (VPTERNLOGQZrri:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VR512:{ *:[v32i16] }:$src, VR512:{ *:[v32i16] }:$src, 15:{ *:[i8] })
14920 /* 39645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14921 /* 39648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14922 /* 39650 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14923 /* 39652 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14924 /* 39654 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14925 /* 39656 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14926 /* 39659 */ GIR_RootConstrainSelectedInstOperands,
14927 /* 39660 */ // GIR_Coverage, 22088,
14928 /* 39660 */ GIR_EraseRootFromParent_Done,
14929 /* 39661 */ // Label 1201: @39661
14930 /* 39661 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1202*/ GIMT_Encode4(39679), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 20179 //
14931 /* 39668 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14932 /* 39672 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPXORQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
14933 /* 39672 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
14934 /* 39677 */ GIR_RootConstrainSelectedInstOperands,
14935 /* 39678 */ // GIR_Coverage, 20179,
14936 /* 39678 */ GIR_Done,
14937 /* 39679 */ // Label 1202: @39679
14938 /* 39679 */ GIM_Reject,
14939 /* 39680 */ // Label 1199: @39680
14940 /* 39680 */ GIM_Reject,
14941 /* 39681 */ // Label 1197: @39681
14942 /* 39681 */ GIM_Reject,
14943 /* 39682 */ // Label 998: @39682
14944 /* 39682 */ GIM_Try, /*On fail goto*//*Label 1203*/ GIMT_Encode4(40284),
14945 /* 39687 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
14946 /* 39690 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
14947 /* 39693 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1204*/ GIMT_Encode4(39754), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24479 //
14948 /* 39700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14949 /* 39704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14950 /* 39708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14951 /* 39712 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14952 /* 39715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14953 /* 39719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14954 /* 39723 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14955 /* 39727 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14956 /* 39729 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14957 /* 39736 */ // (xor:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPXORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14958 /* 39736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rm),
14959 /* 39739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14960 /* 39741 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14961 /* 39743 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14962 /* 39747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14963 /* 39752 */ GIR_RootConstrainSelectedInstOperands,
14964 /* 39753 */ // GIR_Coverage, 24479,
14965 /* 39753 */ GIR_EraseRootFromParent_Done,
14966 /* 39754 */ // Label 1204: @39754
14967 /* 39754 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1205*/ GIMT_Encode4(39815), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 25503 //
14968 /* 39761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14969 /* 39765 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14970 /* 39769 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14971 /* 39773 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14972 /* 39776 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14973 /* 39780 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14974 /* 39784 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14975 /* 39788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14976 /* 39790 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14977 /* 39797 */ // (xor:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPXORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14978 /* 39797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14979 /* 39800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14980 /* 39802 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14981 /* 39804 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14982 /* 39808 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14983 /* 39813 */ GIR_RootConstrainSelectedInstOperands,
14984 /* 39814 */ // GIR_Coverage, 25503,
14985 /* 39814 */ GIR_EraseRootFromParent_Done,
14986 /* 39815 */ // Label 1205: @39815
14987 /* 39815 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1206*/ GIMT_Encode4(39876), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5843 //
14988 /* 39822 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14989 /* 39826 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14990 /* 39830 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14991 /* 39834 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14992 /* 39838 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14993 /* 39841 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14994 /* 39845 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14995 /* 39849 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14996 /* 39851 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14997 /* 39858 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14998 /* 39858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rm),
14999 /* 39861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15000 /* 39863 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15001 /* 39865 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15002 /* 39869 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15003 /* 39874 */ GIR_RootConstrainSelectedInstOperands,
15004 /* 39875 */ // GIR_Coverage, 5843,
15005 /* 39875 */ GIR_EraseRootFromParent_Done,
15006 /* 39876 */ // Label 1206: @39876
15007 /* 39876 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1207*/ GIMT_Encode4(39937), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18259 //
15008 /* 39883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15009 /* 39887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15010 /* 39891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15011 /* 39895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15012 /* 39899 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15013 /* 39902 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15014 /* 39906 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15015 /* 39910 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15016 /* 39912 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15017 /* 39919 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15018 /* 39919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
15019 /* 39922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15020 /* 39924 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15021 /* 39926 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15022 /* 39930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15023 /* 39935 */ GIR_RootConstrainSelectedInstOperands,
15024 /* 39936 */ // GIR_Coverage, 18259,
15025 /* 39936 */ GIR_EraseRootFromParent_Done,
15026 /* 39937 */ // Label 1207: @39937
15027 /* 39937 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1208*/ GIMT_Encode4(40168), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 22093 //
15028 /* 39944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
15029 /* 39948 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15030 /* 39952 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15031 /* 39956 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15032 /* 39962 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15033 /* 39964 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15034 /* 39966 */ // (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] })
15035 /* 39966 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15036 /* 39969 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15037 /* 39973 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15038 /* 39978 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15039 /* 39980 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15040 /* 39983 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15041 /* 39987 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15042 /* 39992 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15043 /* 39995 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15044 /* 39999 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
15045 /* 40002 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15046 /* 40007 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15047 /* 40012 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15048 /* 40017 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15049 /* 40020 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15050 /* 40024 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15051 /* 40029 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15052 /* 40031 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15053 /* 40034 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15054 /* 40038 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15055 /* 40043 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15056 /* 40046 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15057 /* 40050 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
15058 /* 40053 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15059 /* 40058 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15060 /* 40063 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15061 /* 40068 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15062 /* 40071 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15063 /* 40075 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15064 /* 40080 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15065 /* 40082 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15066 /* 40085 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15067 /* 40089 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15068 /* 40094 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15069 /* 40097 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15070 /* 40101 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
15071 /* 40104 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15072 /* 40109 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15073 /* 40114 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15074 /* 40119 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15075 /* 40122 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15076 /* 40126 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15077 /* 40131 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15078 /* 40134 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15079 /* 40137 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15080 /* 40140 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15081 /* 40143 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15082 /* 40145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15083 /* 40148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15084 /* 40150 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
15085 /* 40157 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
15086 /* 40162 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15087 /* 40167 */ // GIR_Coverage, 22093,
15088 /* 40167 */ GIR_EraseRootFromParent_Done,
15089 /* 40168 */ // Label 1208: @40168
15090 /* 40168 */ GIM_Try, /*On fail goto*//*Label 1209*/ GIMT_Encode4(40237),
15091 /* 40173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15092 /* 40177 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15093 /* 40181 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1210*/ GIMT_Encode4(40218), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 22101 //
15094 /* 40188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15095 /* 40192 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15096 /* 40198 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15097 /* 40200 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15098 /* 40202 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, immAllOnesV:{ *:[v4i32] }) => (VPTERNLOGQZ128rri:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VR128X:{ *:[v4i32] }:$src, VR128X:{ *:[v4i32] }:$src, 15:{ *:[i8] })
15099 /* 40202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
15100 /* 40205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15101 /* 40207 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15102 /* 40209 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15103 /* 40211 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15104 /* 40213 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15105 /* 40216 */ GIR_RootConstrainSelectedInstOperands,
15106 /* 40217 */ // GIR_Coverage, 22101,
15107 /* 40217 */ GIR_EraseRootFromParent_Done,
15108 /* 40218 */ // Label 1210: @40218
15109 /* 40218 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1211*/ GIMT_Encode4(40236), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5840 //
15110 /* 40225 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15111 /* 40229 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPXORDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
15112 /* 40229 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rr),
15113 /* 40234 */ GIR_RootConstrainSelectedInstOperands,
15114 /* 40235 */ // GIR_Coverage, 5840,
15115 /* 40235 */ GIR_Done,
15116 /* 40236 */ // Label 1211: @40236
15117 /* 40236 */ GIM_Reject,
15118 /* 40237 */ // Label 1209: @40237
15119 /* 40237 */ GIM_Try, /*On fail goto*//*Label 1212*/ GIMT_Encode4(40283),
15120 /* 40242 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15121 /* 40246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15122 /* 40250 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15123 /* 40254 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1213*/ GIMT_Encode4(40268), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18247 //
15124 /* 40261 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPXORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
15125 /* 40261 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
15126 /* 40266 */ GIR_RootConstrainSelectedInstOperands,
15127 /* 40267 */ // GIR_Coverage, 18247,
15128 /* 40267 */ GIR_Done,
15129 /* 40268 */ // Label 1213: @40268
15130 /* 40268 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1214*/ GIMT_Encode4(40282), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18271 //
15131 /* 40275 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PXORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
15132 /* 40275 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
15133 /* 40280 */ GIR_RootConstrainSelectedInstOperands,
15134 /* 40281 */ // GIR_Coverage, 18271,
15135 /* 40281 */ GIR_Done,
15136 /* 40282 */ // Label 1214: @40282
15137 /* 40282 */ GIM_Reject,
15138 /* 40283 */ // Label 1212: @40283
15139 /* 40283 */ GIM_Reject,
15140 /* 40284 */ // Label 1203: @40284
15141 /* 40284 */ GIM_Reject,
15142 /* 40285 */ // Label 999: @40285
15143 /* 40285 */ GIM_Try, /*On fail goto*//*Label 1215*/ GIMT_Encode4(40997),
15144 /* 40290 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
15145 /* 40293 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
15146 /* 40296 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1216*/ GIMT_Encode4(40357), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24473 //
15147 /* 40303 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15148 /* 40307 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15149 /* 40311 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15150 /* 40315 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15151 /* 40318 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15152 /* 40322 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15153 /* 40326 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15154 /* 40330 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15155 /* 40332 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15156 /* 40339 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPXORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15157 /* 40339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rm),
15158 /* 40342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15159 /* 40344 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15160 /* 40346 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15161 /* 40350 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15162 /* 40355 */ GIR_RootConstrainSelectedInstOperands,
15163 /* 40356 */ // GIR_Coverage, 24473,
15164 /* 40356 */ GIR_EraseRootFromParent_Done,
15165 /* 40357 */ // Label 1216: @40357
15166 /* 40357 */ GIM_Try, /*On fail goto*//*Label 1217*/ GIMT_Encode4(40477),
15167 /* 40362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15168 /* 40366 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15169 /* 40370 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1218*/ GIMT_Encode4(40423), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 25482 //
15170 /* 40377 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15171 /* 40381 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15172 /* 40385 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15173 /* 40388 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15174 /* 40392 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15175 /* 40396 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15176 /* 40398 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15177 /* 40405 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPXORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15178 /* 40405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15179 /* 40408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15180 /* 40410 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15181 /* 40412 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15182 /* 40416 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15183 /* 40421 */ GIR_RootConstrainSelectedInstOperands,
15184 /* 40422 */ // GIR_Coverage, 25482,
15185 /* 40422 */ GIR_EraseRootFromParent_Done,
15186 /* 40423 */ // Label 1218: @40423
15187 /* 40423 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1219*/ GIMT_Encode4(40476), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25493 //
15188 /* 40430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15189 /* 40434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15190 /* 40438 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15191 /* 40441 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15192 /* 40445 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15193 /* 40449 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15194 /* 40451 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15195 /* 40458 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VXORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15196 /* 40458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15197 /* 40461 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15198 /* 40463 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15199 /* 40465 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15200 /* 40469 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15201 /* 40474 */ GIR_RootConstrainSelectedInstOperands,
15202 /* 40475 */ // GIR_Coverage, 25493,
15203 /* 40475 */ GIR_EraseRootFromParent_Done,
15204 /* 40476 */ // Label 1219: @40476
15205 /* 40476 */ GIM_Reject,
15206 /* 40477 */ // Label 1217: @40477
15207 /* 40477 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1220*/ GIMT_Encode4(40538), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5834 //
15208 /* 40484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15209 /* 40488 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15210 /* 40492 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15211 /* 40496 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15212 /* 40500 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15213 /* 40503 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15214 /* 40507 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15215 /* 40511 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15216 /* 40513 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15217 /* 40520 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15218 /* 40520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rm),
15219 /* 40523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15220 /* 40525 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15221 /* 40527 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15222 /* 40531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15223 /* 40536 */ GIR_RootConstrainSelectedInstOperands,
15224 /* 40537 */ // GIR_Coverage, 5834,
15225 /* 40537 */ GIR_EraseRootFromParent_Done,
15226 /* 40538 */ // Label 1220: @40538
15227 /* 40538 */ GIM_Try, /*On fail goto*//*Label 1221*/ GIMT_Encode4(40658),
15228 /* 40543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15229 /* 40547 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15230 /* 40551 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1222*/ GIMT_Encode4(40604), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18203 //
15231 /* 40558 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15232 /* 40562 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15233 /* 40566 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15234 /* 40569 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15235 /* 40573 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15236 /* 40577 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15237 /* 40579 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15238 /* 40586 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15239 /* 40586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15240 /* 40589 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15241 /* 40591 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15242 /* 40593 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15243 /* 40597 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15244 /* 40602 */ GIR_RootConstrainSelectedInstOperands,
15245 /* 40603 */ // GIR_Coverage, 18203,
15246 /* 40603 */ GIR_EraseRootFromParent_Done,
15247 /* 40604 */ // Label 1222: @40604
15248 /* 40604 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1223*/ GIMT_Encode4(40657), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18233 //
15249 /* 40611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15250 /* 40615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15251 /* 40619 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15252 /* 40622 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15253 /* 40626 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15254 /* 40630 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15255 /* 40632 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15256 /* 40639 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15257 /* 40639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15258 /* 40642 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15259 /* 40644 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15260 /* 40646 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15261 /* 40650 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15262 /* 40655 */ GIR_RootConstrainSelectedInstOperands,
15263 /* 40656 */ // GIR_Coverage, 18233,
15264 /* 40656 */ GIR_EraseRootFromParent_Done,
15265 /* 40657 */ // Label 1223: @40657
15266 /* 40657 */ GIM_Reject,
15267 /* 40658 */ // Label 1221: @40658
15268 /* 40658 */ GIM_Try, /*On fail goto*//*Label 1224*/ GIMT_Encode4(40950),
15269 /* 40663 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15270 /* 40667 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15271 /* 40671 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1225*/ GIMT_Encode4(40894), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 22097 //
15272 /* 40678 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15273 /* 40682 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15274 /* 40688 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15275 /* 40690 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15276 /* 40692 */ // (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] })
15277 /* 40692 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15278 /* 40695 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15279 /* 40699 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15280 /* 40704 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15281 /* 40706 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15282 /* 40709 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15283 /* 40713 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15284 /* 40718 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15285 /* 40721 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15286 /* 40725 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
15287 /* 40728 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15288 /* 40733 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15289 /* 40738 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15290 /* 40743 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15291 /* 40746 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15292 /* 40750 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15293 /* 40755 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15294 /* 40757 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15295 /* 40760 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15296 /* 40764 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15297 /* 40769 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15298 /* 40772 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15299 /* 40776 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
15300 /* 40779 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15301 /* 40784 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15302 /* 40789 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15303 /* 40794 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15304 /* 40797 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15305 /* 40801 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15306 /* 40806 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15307 /* 40808 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15308 /* 40811 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15309 /* 40815 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15310 /* 40820 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15311 /* 40823 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15312 /* 40827 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
15313 /* 40830 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15314 /* 40835 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15315 /* 40840 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15316 /* 40845 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15317 /* 40848 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15318 /* 40852 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15319 /* 40857 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15320 /* 40860 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15321 /* 40863 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15322 /* 40866 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15323 /* 40869 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15324 /* 40871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15325 /* 40874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15326 /* 40876 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
15327 /* 40883 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
15328 /* 40888 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15329 /* 40893 */ // GIR_Coverage, 22097,
15330 /* 40893 */ GIR_EraseRootFromParent_Done,
15331 /* 40894 */ // Label 1225: @40894
15332 /* 40894 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1226*/ GIMT_Encode4(40931), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 22105 //
15333 /* 40901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15334 /* 40905 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15335 /* 40911 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15336 /* 40913 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15337 /* 40915 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, immAllOnesV:{ *:[v8i32] }) => (VPTERNLOGQZ256rri:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VR256X:{ *:[v8i32] }:$src, VR256X:{ *:[v8i32] }:$src, 15:{ *:[i8] })
15338 /* 40915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
15339 /* 40918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15340 /* 40920 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15341 /* 40922 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15342 /* 40924 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15343 /* 40926 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15344 /* 40929 */ GIR_RootConstrainSelectedInstOperands,
15345 /* 40930 */ // GIR_Coverage, 22105,
15346 /* 40930 */ GIR_EraseRootFromParent_Done,
15347 /* 40931 */ // Label 1226: @40931
15348 /* 40931 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1227*/ GIMT_Encode4(40949), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5831 //
15349 /* 40938 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15350 /* 40942 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPXORDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
15351 /* 40942 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rr),
15352 /* 40947 */ GIR_RootConstrainSelectedInstOperands,
15353 /* 40948 */ // GIR_Coverage, 5831,
15354 /* 40948 */ GIR_Done,
15355 /* 40949 */ // Label 1227: @40949
15356 /* 40949 */ GIM_Reject,
15357 /* 40950 */ // Label 1224: @40950
15358 /* 40950 */ GIM_Try, /*On fail goto*//*Label 1228*/ GIMT_Encode4(40996),
15359 /* 40955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15360 /* 40959 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15361 /* 40963 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15362 /* 40967 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1229*/ GIMT_Encode4(40981), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18191 //
15363 /* 40974 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPXORYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
15364 /* 40974 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
15365 /* 40979 */ GIR_RootConstrainSelectedInstOperands,
15366 /* 40980 */ // GIR_Coverage, 18191,
15367 /* 40980 */ GIR_Done,
15368 /* 40981 */ // Label 1229: @40981
15369 /* 40981 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1230*/ GIMT_Encode4(40995), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18217 //
15370 /* 40988 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VXORPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
15371 /* 40988 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
15372 /* 40993 */ GIR_RootConstrainSelectedInstOperands,
15373 /* 40994 */ // GIR_Coverage, 18217,
15374 /* 40994 */ GIR_Done,
15375 /* 40995 */ // Label 1230: @40995
15376 /* 40995 */ GIM_Reject,
15377 /* 40996 */ // Label 1228: @40996
15378 /* 40996 */ GIM_Reject,
15379 /* 40997 */ // Label 1215: @40997
15380 /* 40997 */ GIM_Reject,
15381 /* 40998 */ // Label 1000: @40998
15382 /* 40998 */ GIM_Try, /*On fail goto*//*Label 1231*/ GIMT_Encode4(41189),
15383 /* 41003 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
15384 /* 41006 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
15385 /* 41009 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15386 /* 41013 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1232*/ GIMT_Encode4(41070), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24467 //
15387 /* 41020 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15388 /* 41024 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15389 /* 41028 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15390 /* 41031 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15391 /* 41035 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15392 /* 41039 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15393 /* 41043 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15394 /* 41045 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15395 /* 41052 */ // (xor:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPXORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15396 /* 41052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZrm),
15397 /* 41055 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15398 /* 41057 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15399 /* 41059 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15400 /* 41063 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15401 /* 41068 */ GIR_RootConstrainSelectedInstOperands,
15402 /* 41069 */ // GIR_Coverage, 24467,
15403 /* 41069 */ GIR_EraseRootFromParent_Done,
15404 /* 41070 */ // Label 1232: @41070
15405 /* 41070 */ GIM_Try, /*On fail goto*//*Label 1233*/ GIMT_Encode4(41188),
15406 /* 41075 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15407 /* 41079 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1234*/ GIMT_Encode4(41132), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5825 //
15408 /* 41086 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15409 /* 41090 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15410 /* 41094 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15411 /* 41097 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15412 /* 41101 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15413 /* 41105 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15414 /* 41107 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15415 /* 41114 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15416 /* 41114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZrm),
15417 /* 41117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15418 /* 41119 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15419 /* 41121 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15420 /* 41125 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15421 /* 41130 */ GIR_RootConstrainSelectedInstOperands,
15422 /* 41131 */ // GIR_Coverage, 5825,
15423 /* 41131 */ GIR_EraseRootFromParent_Done,
15424 /* 41132 */ // Label 1234: @41132
15425 /* 41132 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1235*/ GIMT_Encode4(41169), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22089 //
15426 /* 41139 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15427 /* 41143 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15428 /* 41149 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15429 /* 41151 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15430 /* 41153 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, immAllOnesV:{ *:[v16i32] }) => (VPTERNLOGQZrri:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VR512:{ *:[v16i32] }:$src, VR512:{ *:[v16i32] }:$src, 15:{ *:[i8] })
15431 /* 41153 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15432 /* 41156 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15433 /* 41158 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15434 /* 41160 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15435 /* 41162 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15436 /* 41164 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15437 /* 41167 */ GIR_RootConstrainSelectedInstOperands,
15438 /* 41168 */ // GIR_Coverage, 22089,
15439 /* 41168 */ GIR_EraseRootFromParent_Done,
15440 /* 41169 */ // Label 1235: @41169
15441 /* 41169 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1236*/ GIMT_Encode4(41187), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5822 //
15442 /* 41176 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15443 /* 41180 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPXORDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
15444 /* 41180 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZrr),
15445 /* 41185 */ GIR_RootConstrainSelectedInstOperands,
15446 /* 41186 */ // GIR_Coverage, 5822,
15447 /* 41186 */ GIR_Done,
15448 /* 41187 */ // Label 1236: @41187
15449 /* 41187 */ GIM_Reject,
15450 /* 41188 */ // Label 1233: @41188
15451 /* 41188 */ GIM_Reject,
15452 /* 41189 */ // Label 1231: @41189
15453 /* 41189 */ GIM_Reject,
15454 /* 41190 */ // Label 1001: @41190
15455 /* 41190 */ GIM_Try, /*On fail goto*//*Label 1237*/ GIMT_Encode4(41794),
15456 /* 41195 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
15457 /* 41198 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
15458 /* 41201 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1238*/ GIMT_Encode4(41262), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23606 //
15459 /* 41208 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15460 /* 41212 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15461 /* 41216 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15462 /* 41220 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15463 /* 41223 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15464 /* 41227 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15465 /* 41231 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15466 /* 41235 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15467 /* 41237 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15468 /* 41244 */ // (xor:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPXORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15469 /* 41244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
15470 /* 41247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15471 /* 41249 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15472 /* 41251 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15473 /* 41255 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15474 /* 41260 */ GIR_RootConstrainSelectedInstOperands,
15475 /* 41261 */ // GIR_Coverage, 23606,
15476 /* 41261 */ GIR_EraseRootFromParent_Done,
15477 /* 41262 */ // Label 1238: @41262
15478 /* 41262 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1239*/ GIMT_Encode4(41323), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24461 //
15479 /* 41269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15480 /* 41273 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15481 /* 41277 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15482 /* 41281 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15483 /* 41284 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15484 /* 41288 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15485 /* 41292 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15486 /* 41296 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15487 /* 41298 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15488 /* 41305 */ // (xor:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPXORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15489 /* 41305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
15490 /* 41308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15491 /* 41310 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15492 /* 41312 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15493 /* 41316 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15494 /* 41321 */ GIR_RootConstrainSelectedInstOperands,
15495 /* 41322 */ // GIR_Coverage, 24461,
15496 /* 41322 */ GIR_EraseRootFromParent_Done,
15497 /* 41323 */ // Label 1239: @41323
15498 /* 41323 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1240*/ GIMT_Encode4(41384), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2104 //
15499 /* 41330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15500 /* 41334 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15501 /* 41338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15502 /* 41342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15503 /* 41346 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15504 /* 41349 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15505 /* 41353 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15506 /* 41357 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15507 /* 41359 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15508 /* 41366 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15509 /* 41366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
15510 /* 41369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15511 /* 41371 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15512 /* 41373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15513 /* 41377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15514 /* 41382 */ GIR_RootConstrainSelectedInstOperands,
15515 /* 41383 */ // GIR_Coverage, 2104,
15516 /* 41383 */ GIR_EraseRootFromParent_Done,
15517 /* 41384 */ // Label 1240: @41384
15518 /* 41384 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1241*/ GIMT_Encode4(41445), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5816 //
15519 /* 41391 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15520 /* 41395 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15521 /* 41399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15522 /* 41403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15523 /* 41407 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15524 /* 41410 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15525 /* 41414 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15526 /* 41418 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15527 /* 41420 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15528 /* 41427 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15529 /* 41427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
15530 /* 41430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15531 /* 41432 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15532 /* 41434 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15533 /* 41438 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15534 /* 41443 */ GIR_RootConstrainSelectedInstOperands,
15535 /* 41444 */ // GIR_Coverage, 5816,
15536 /* 41444 */ GIR_EraseRootFromParent_Done,
15537 /* 41445 */ // Label 1241: @41445
15538 /* 41445 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1242*/ GIMT_Encode4(41676), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 22094 //
15539 /* 41452 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
15540 /* 41456 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15541 /* 41460 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15542 /* 41464 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15543 /* 41470 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15544 /* 41472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15545 /* 41474 */ // (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] })
15546 /* 41474 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15547 /* 41477 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15548 /* 41481 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15549 /* 41486 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15550 /* 41488 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15551 /* 41491 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15552 /* 41495 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15553 /* 41500 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15554 /* 41503 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15555 /* 41507 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
15556 /* 41510 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15557 /* 41515 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15558 /* 41520 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15559 /* 41525 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15560 /* 41528 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15561 /* 41532 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15562 /* 41537 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15563 /* 41539 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15564 /* 41542 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15565 /* 41546 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15566 /* 41551 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15567 /* 41554 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15568 /* 41558 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
15569 /* 41561 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15570 /* 41566 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15571 /* 41571 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15572 /* 41576 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15573 /* 41579 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15574 /* 41583 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15575 /* 41588 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15576 /* 41590 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15577 /* 41593 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15578 /* 41597 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15579 /* 41602 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15580 /* 41605 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15581 /* 41609 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
15582 /* 41612 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15583 /* 41617 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15584 /* 41622 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15585 /* 41627 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15586 /* 41630 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15587 /* 41634 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15588 /* 41639 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15589 /* 41642 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15590 /* 41645 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15591 /* 41648 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15592 /* 41651 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15593 /* 41653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15594 /* 41656 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15595 /* 41658 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
15596 /* 41665 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
15597 /* 41670 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15598 /* 41675 */ // GIR_Coverage, 22094,
15599 /* 41675 */ GIR_EraseRootFromParent_Done,
15600 /* 41676 */ // Label 1242: @41676
15601 /* 41676 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1243*/ GIMT_Encode4(41721), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 22102 //
15602 /* 41683 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15603 /* 41687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15604 /* 41691 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15605 /* 41695 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15606 /* 41701 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15607 /* 41703 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15608 /* 41705 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, immAllOnesV:{ *:[v2i64] }) => (VPTERNLOGQZ128rri:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VR128X:{ *:[v2i64] }:$src, VR128X:{ *:[v2i64] }:$src, 15:{ *:[i8] })
15609 /* 41705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
15610 /* 41708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15611 /* 41710 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15612 /* 41712 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15613 /* 41714 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15614 /* 41716 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15615 /* 41719 */ GIR_RootConstrainSelectedInstOperands,
15616 /* 41720 */ // GIR_Coverage, 22102,
15617 /* 41720 */ GIR_EraseRootFromParent_Done,
15618 /* 41721 */ // Label 1243: @41721
15619 /* 41721 */ GIM_Try, /*On fail goto*//*Label 1244*/ GIMT_Encode4(41767),
15620 /* 41726 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15621 /* 41730 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15622 /* 41734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15623 /* 41738 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1245*/ GIMT_Encode4(41752), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2103 //
15624 /* 41745 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPXORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
15625 /* 41745 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
15626 /* 41750 */ GIR_RootConstrainSelectedInstOperands,
15627 /* 41751 */ // GIR_Coverage, 2103,
15628 /* 41751 */ GIR_Done,
15629 /* 41752 */ // Label 1245: @41752
15630 /* 41752 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1246*/ GIMT_Encode4(41766), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2105 //
15631 /* 41759 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PXORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
15632 /* 41759 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
15633 /* 41764 */ GIR_RootConstrainSelectedInstOperands,
15634 /* 41765 */ // GIR_Coverage, 2105,
15635 /* 41765 */ GIR_Done,
15636 /* 41766 */ // Label 1246: @41766
15637 /* 41766 */ GIM_Reject,
15638 /* 41767 */ // Label 1244: @41767
15639 /* 41767 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1247*/ GIMT_Encode4(41793), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5813 //
15640 /* 41774 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15641 /* 41778 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15642 /* 41782 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15643 /* 41786 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPXORQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
15644 /* 41786 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
15645 /* 41791 */ GIR_RootConstrainSelectedInstOperands,
15646 /* 41792 */ // GIR_Coverage, 5813,
15647 /* 41792 */ GIR_Done,
15648 /* 41793 */ // Label 1247: @41793
15649 /* 41793 */ GIM_Reject,
15650 /* 41794 */ // Label 1237: @41794
15651 /* 41794 */ GIM_Reject,
15652 /* 41795 */ // Label 1002: @41795
15653 /* 41795 */ GIM_Try, /*On fail goto*//*Label 1248*/ GIMT_Encode4(42527),
15654 /* 41800 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
15655 /* 41803 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
15656 /* 41806 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1249*/ GIMT_Encode4(41867), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23608 //
15657 /* 41813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15658 /* 41817 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15659 /* 41821 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15660 /* 41825 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15661 /* 41828 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15662 /* 41832 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15663 /* 41836 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15664 /* 41840 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15665 /* 41842 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15666 /* 41849 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPXORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15667 /* 41849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15668 /* 41852 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15669 /* 41854 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15670 /* 41856 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15671 /* 41860 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15672 /* 41865 */ GIR_RootConstrainSelectedInstOperands,
15673 /* 41866 */ // GIR_Coverage, 23608,
15674 /* 41866 */ GIR_EraseRootFromParent_Done,
15675 /* 41867 */ // Label 1249: @41867
15676 /* 41867 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1250*/ GIMT_Encode4(41928), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24455 //
15677 /* 41874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15678 /* 41878 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15679 /* 41882 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15680 /* 41886 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15681 /* 41889 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15682 /* 41893 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15683 /* 41897 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15684 /* 41901 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15685 /* 41903 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15686 /* 41910 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPXORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15687 /* 41910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
15688 /* 41913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15689 /* 41915 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15690 /* 41917 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15691 /* 41921 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15692 /* 41926 */ GIR_RootConstrainSelectedInstOperands,
15693 /* 41927 */ // GIR_Coverage, 24455,
15694 /* 41927 */ GIR_EraseRootFromParent_Done,
15695 /* 41928 */ // Label 1250: @41928
15696 /* 41928 */ GIM_Try, /*On fail goto*//*Label 1251*/ GIMT_Encode4(42052),
15697 /* 41933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15698 /* 41937 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1252*/ GIMT_Encode4(41994), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 25494 //
15699 /* 41944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15700 /* 41948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15701 /* 41952 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15702 /* 41955 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15703 /* 41959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15704 /* 41963 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15705 /* 41967 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15706 /* 41969 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15707 /* 41976 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VXORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15708 /* 41976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15709 /* 41979 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15710 /* 41981 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15711 /* 41983 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15712 /* 41987 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15713 /* 41992 */ GIR_RootConstrainSelectedInstOperands,
15714 /* 41993 */ // GIR_Coverage, 25494,
15715 /* 41993 */ GIR_EraseRootFromParent_Done,
15716 /* 41994 */ // Label 1252: @41994
15717 /* 41994 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1253*/ GIMT_Encode4(42051), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2108 //
15718 /* 42001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15719 /* 42005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15720 /* 42009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15721 /* 42013 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15722 /* 42016 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15723 /* 42020 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15724 /* 42024 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15725 /* 42026 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15726 /* 42033 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15727 /* 42033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15728 /* 42036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15729 /* 42038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15730 /* 42040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15731 /* 42044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15732 /* 42049 */ GIR_RootConstrainSelectedInstOperands,
15733 /* 42050 */ // GIR_Coverage, 2108,
15734 /* 42050 */ GIR_EraseRootFromParent_Done,
15735 /* 42051 */ // Label 1253: @42051
15736 /* 42051 */ GIM_Reject,
15737 /* 42052 */ // Label 1251: @42052
15738 /* 42052 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1254*/ GIMT_Encode4(42113), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5807 //
15739 /* 42059 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15740 /* 42063 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15741 /* 42067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15742 /* 42071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15743 /* 42075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15744 /* 42078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15745 /* 42082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15746 /* 42086 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15747 /* 42088 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15748 /* 42095 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15749 /* 42095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
15750 /* 42098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15751 /* 42100 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15752 /* 42102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15753 /* 42106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15754 /* 42111 */ GIR_RootConstrainSelectedInstOperands,
15755 /* 42112 */ // GIR_Coverage, 5807,
15756 /* 42112 */ GIR_EraseRootFromParent_Done,
15757 /* 42113 */ // Label 1254: @42113
15758 /* 42113 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1255*/ GIMT_Encode4(42174), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18234 //
15759 /* 42120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15760 /* 42124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15761 /* 42128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15762 /* 42132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15763 /* 42136 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15764 /* 42139 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15765 /* 42143 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15766 /* 42147 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15767 /* 42149 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15768 /* 42156 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15769 /* 42156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15770 /* 42159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15771 /* 42161 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15772 /* 42163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15773 /* 42167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15774 /* 42172 */ GIR_RootConstrainSelectedInstOperands,
15775 /* 42173 */ // GIR_Coverage, 18234,
15776 /* 42173 */ GIR_EraseRootFromParent_Done,
15777 /* 42174 */ // Label 1255: @42174
15778 /* 42174 */ GIM_Try, /*On fail goto*//*Label 1256*/ GIMT_Encode4(42448),
15779 /* 42179 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15780 /* 42183 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15781 /* 42187 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1257*/ GIMT_Encode4(42410), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 22098 //
15782 /* 42194 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15783 /* 42198 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15784 /* 42204 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15785 /* 42206 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15786 /* 42208 */ // (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] })
15787 /* 42208 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15788 /* 42211 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15789 /* 42215 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15790 /* 42220 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15791 /* 42222 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15792 /* 42225 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15793 /* 42229 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15794 /* 42234 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15795 /* 42237 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15796 /* 42241 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
15797 /* 42244 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15798 /* 42249 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15799 /* 42254 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15800 /* 42259 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15801 /* 42262 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15802 /* 42266 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15803 /* 42271 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15804 /* 42273 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15805 /* 42276 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15806 /* 42280 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15807 /* 42285 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15808 /* 42288 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15809 /* 42292 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
15810 /* 42295 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15811 /* 42300 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15812 /* 42305 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15813 /* 42310 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15814 /* 42313 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15815 /* 42317 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15816 /* 42322 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15817 /* 42324 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15818 /* 42327 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15819 /* 42331 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15820 /* 42336 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15821 /* 42339 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15822 /* 42343 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
15823 /* 42346 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15824 /* 42351 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15825 /* 42356 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15826 /* 42361 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15827 /* 42364 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15828 /* 42368 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15829 /* 42373 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15830 /* 42376 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15831 /* 42379 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15832 /* 42382 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15833 /* 42385 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15834 /* 42387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15835 /* 42390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15836 /* 42392 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
15837 /* 42399 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
15838 /* 42404 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15839 /* 42409 */ // GIR_Coverage, 22098,
15840 /* 42409 */ GIR_EraseRootFromParent_Done,
15841 /* 42410 */ // Label 1257: @42410
15842 /* 42410 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1258*/ GIMT_Encode4(42447), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 22106 //
15843 /* 42417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15844 /* 42421 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15845 /* 42427 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15846 /* 42429 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15847 /* 42431 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, immAllOnesV:{ *:[v4i64] }) => (VPTERNLOGQZ256rri:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VR256X:{ *:[v4i64] }:$src, VR256X:{ *:[v4i64] }:$src, 15:{ *:[i8] })
15848 /* 42431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
15849 /* 42434 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15850 /* 42436 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15851 /* 42438 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15852 /* 42440 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15853 /* 42442 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15854 /* 42445 */ GIR_RootConstrainSelectedInstOperands,
15855 /* 42446 */ // GIR_Coverage, 22106,
15856 /* 42446 */ GIR_EraseRootFromParent_Done,
15857 /* 42447 */ // Label 1258: @42447
15858 /* 42447 */ GIM_Reject,
15859 /* 42448 */ // Label 1256: @42448
15860 /* 42448 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1259*/ GIMT_Encode4(42474), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2107 //
15861 /* 42455 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15862 /* 42459 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15863 /* 42463 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15864 /* 42467 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPXORYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
15865 /* 42467 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
15866 /* 42472 */ GIR_RootConstrainSelectedInstOperands,
15867 /* 42473 */ // GIR_Coverage, 2107,
15868 /* 42473 */ GIR_Done,
15869 /* 42474 */ // Label 1259: @42474
15870 /* 42474 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1260*/ GIMT_Encode4(42500), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5804 //
15871 /* 42481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15872 /* 42485 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15873 /* 42489 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15874 /* 42493 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPXORQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
15875 /* 42493 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
15876 /* 42498 */ GIR_RootConstrainSelectedInstOperands,
15877 /* 42499 */ // GIR_Coverage, 5804,
15878 /* 42499 */ GIR_Done,
15879 /* 42500 */ // Label 1260: @42500
15880 /* 42500 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1261*/ GIMT_Encode4(42526), GIMT_Encode2(GIFBS_HasAVX1Only), // Rule ID 18218 //
15881 /* 42507 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15882 /* 42511 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15883 /* 42515 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15884 /* 42519 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VXORPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
15885 /* 42519 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
15886 /* 42524 */ GIR_RootConstrainSelectedInstOperands,
15887 /* 42525 */ // GIR_Coverage, 18218,
15888 /* 42525 */ GIR_Done,
15889 /* 42526 */ // Label 1261: @42526
15890 /* 42526 */ GIM_Reject,
15891 /* 42527 */ // Label 1248: @42527
15892 /* 42527 */ GIM_Reject,
15893 /* 42528 */ // Label 1003: @42528
15894 /* 42528 */ GIM_Try, /*On fail goto*//*Label 1262*/ GIMT_Encode4(42719),
15895 /* 42533 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
15896 /* 42536 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
15897 /* 42539 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15898 /* 42543 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1263*/ GIMT_Encode4(42600), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24449 //
15899 /* 42550 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15900 /* 42554 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15901 /* 42558 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15902 /* 42561 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15903 /* 42565 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15904 /* 42569 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15905 /* 42573 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15906 /* 42575 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15907 /* 42582 */ // (xor:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPXORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15908 /* 42582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
15909 /* 42585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15910 /* 42587 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15911 /* 42589 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15912 /* 42593 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15913 /* 42598 */ GIR_RootConstrainSelectedInstOperands,
15914 /* 42599 */ // GIR_Coverage, 24449,
15915 /* 42599 */ GIR_EraseRootFromParent_Done,
15916 /* 42600 */ // Label 1263: @42600
15917 /* 42600 */ GIM_Try, /*On fail goto*//*Label 1264*/ GIMT_Encode4(42718),
15918 /* 42605 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15919 /* 42609 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1265*/ GIMT_Encode4(42662), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5798 //
15920 /* 42616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15921 /* 42620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15922 /* 42624 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15923 /* 42627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15924 /* 42631 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15925 /* 42635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15926 /* 42637 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15927 /* 42644 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15928 /* 42644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
15929 /* 42647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15930 /* 42649 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15931 /* 42651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15932 /* 42655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15933 /* 42660 */ GIR_RootConstrainSelectedInstOperands,
15934 /* 42661 */ // GIR_Coverage, 5798,
15935 /* 42661 */ GIR_EraseRootFromParent_Done,
15936 /* 42662 */ // Label 1265: @42662
15937 /* 42662 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1266*/ GIMT_Encode4(42699), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22090 //
15938 /* 42669 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15939 /* 42673 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15940 /* 42679 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15941 /* 42681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15942 /* 42683 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, immAllOnesV:{ *:[v8i64] }) => (VPTERNLOGQZrri:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VR512:{ *:[v8i64] }:$src, VR512:{ *:[v8i64] }:$src, 15:{ *:[i8] })
15943 /* 42683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15944 /* 42686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15945 /* 42688 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15946 /* 42690 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15947 /* 42692 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15948 /* 42694 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15949 /* 42697 */ GIR_RootConstrainSelectedInstOperands,
15950 /* 42698 */ // GIR_Coverage, 22090,
15951 /* 42698 */ GIR_EraseRootFromParent_Done,
15952 /* 42699 */ // Label 1266: @42699
15953 /* 42699 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1267*/ GIMT_Encode4(42717), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5795 //
15954 /* 42706 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15955 /* 42710 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPXORQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
15956 /* 42710 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
15957 /* 42715 */ GIR_RootConstrainSelectedInstOperands,
15958 /* 42716 */ // GIR_Coverage, 5795,
15959 /* 42716 */ GIR_Done,
15960 /* 42717 */ // Label 1267: @42717
15961 /* 42717 */ GIM_Reject,
15962 /* 42718 */ // Label 1264: @42718
15963 /* 42718 */ GIM_Reject,
15964 /* 42719 */ // Label 1262: @42719
15965 /* 42719 */ GIM_Reject,
15966 /* 42720 */ // Label 1004: @42720
15967 /* 42720 */ GIM_Reject,
15968 /* 42721 */ // Label 6: @42721
15969 /* 42721 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(19), /*)*//*default:*//*Label 1274*/ GIMT_Encode4(44342),
15970 /* 42732 */ /*GILLT_v16s8*//*Label 1268*/ GIMT_Encode4(42756),
15971 /* 42736 */ /*GILLT_v32s8*//*Label 1269*/ GIMT_Encode4(43085),
15972 /* 42740 */ /*GILLT_v64s8*//*Label 1270*/ GIMT_Encode4(43394),
15973 /* 42744 */ /*GILLT_v8s16*//*Label 1271*/ GIMT_Encode4(43549),
15974 /* 42748 */ /*GILLT_v16s16*//*Label 1272*/ GIMT_Encode4(43878),
15975 /* 42752 */ /*GILLT_v32s16*//*Label 1273*/ GIMT_Encode4(44187),
15976 /* 42756 */ // Label 1268: @42756
15977 /* 42756 */ GIM_Try, /*On fail goto*//*Label 1275*/ GIMT_Encode4(43084),
15978 /* 42761 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
15979 /* 42764 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
15980 /* 42767 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1276*/ GIMT_Encode4(42828), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23714 //
15981 /* 42774 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15982 /* 42778 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15983 /* 42782 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15984 /* 42786 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15985 /* 42789 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15986 /* 42793 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15987 /* 42797 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15988 /* 42801 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15989 /* 42803 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15990 /* 42810 */ // (avgceilu:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPAVGBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
15991 /* 42810 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBrm),
15992 /* 42813 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15993 /* 42815 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15994 /* 42817 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15995 /* 42821 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15996 /* 42826 */ GIR_RootConstrainSelectedInstOperands,
15997 /* 42827 */ // GIR_Coverage, 23714,
15998 /* 42827 */ GIR_EraseRootFromParent_Done,
15999 /* 42828 */ // Label 1276: @42828
16000 /* 42828 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1277*/ GIMT_Encode4(42889), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24113 //
16001 /* 42835 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16002 /* 42839 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16003 /* 42843 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16004 /* 42847 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16005 /* 42850 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16006 /* 42854 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16007 /* 42858 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16008 /* 42862 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16009 /* 42864 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16010 /* 42871 */ // (avgceilu:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPAVGBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16011 /* 42871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ128rm),
16012 /* 42874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16013 /* 42876 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16014 /* 42878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16015 /* 42882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16016 /* 42887 */ GIR_RootConstrainSelectedInstOperands,
16017 /* 42888 */ // GIR_Coverage, 24113,
16018 /* 42888 */ GIR_EraseRootFromParent_Done,
16019 /* 42889 */ // Label 1277: @42889
16020 /* 42889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1278*/ GIMT_Encode4(42950), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2643 //
16021 /* 42896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16022 /* 42900 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16023 /* 42904 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16024 /* 42908 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16025 /* 42912 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16026 /* 42915 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16027 /* 42919 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16028 /* 42923 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16029 /* 42925 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16030 /* 42932 */ // (avgceilu:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16031 /* 42932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBrm),
16032 /* 42935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16033 /* 42937 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16034 /* 42939 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16035 /* 42943 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16036 /* 42948 */ GIR_RootConstrainSelectedInstOperands,
16037 /* 42949 */ // GIR_Coverage, 2643,
16038 /* 42949 */ GIR_EraseRootFromParent_Done,
16039 /* 42950 */ // Label 1278: @42950
16040 /* 42950 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1279*/ GIMT_Encode4(43011), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5117 //
16041 /* 42957 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16042 /* 42961 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16043 /* 42965 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16044 /* 42969 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16045 /* 42973 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16046 /* 42976 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16047 /* 42980 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16048 /* 42984 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16049 /* 42986 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16050 /* 42993 */ // (avgceilu:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16051 /* 42993 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ128rm),
16052 /* 42996 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16053 /* 42998 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16054 /* 43000 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16055 /* 43004 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16056 /* 43009 */ GIR_RootConstrainSelectedInstOperands,
16057 /* 43010 */ // GIR_Coverage, 5117,
16058 /* 43010 */ GIR_EraseRootFromParent_Done,
16059 /* 43011 */ // Label 1279: @43011
16060 /* 43011 */ GIM_Try, /*On fail goto*//*Label 1280*/ GIMT_Encode4(43057),
16061 /* 43016 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16062 /* 43020 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16063 /* 43024 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16064 /* 43028 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1281*/ GIMT_Encode4(43042), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2642 //
16065 /* 43035 */ // (avgceilu:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPAVGBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
16066 /* 43035 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBrr),
16067 /* 43040 */ GIR_RootConstrainSelectedInstOperands,
16068 /* 43041 */ // GIR_Coverage, 2642,
16069 /* 43041 */ GIR_Done,
16070 /* 43042 */ // Label 1281: @43042
16071 /* 43042 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1282*/ GIMT_Encode4(43056), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2644 //
16072 /* 43049 */ // (avgceilu:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PAVGBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
16073 /* 43049 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PAVGBrr),
16074 /* 43054 */ GIR_RootConstrainSelectedInstOperands,
16075 /* 43055 */ // GIR_Coverage, 2644,
16076 /* 43055 */ GIR_Done,
16077 /* 43056 */ // Label 1282: @43056
16078 /* 43056 */ GIM_Reject,
16079 /* 43057 */ // Label 1280: @43057
16080 /* 43057 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1283*/ GIMT_Encode4(43083), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5114 //
16081 /* 43064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16082 /* 43068 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16083 /* 43072 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16084 /* 43076 */ // (avgceilu:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPAVGBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
16085 /* 43076 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ128rr),
16086 /* 43081 */ GIR_RootConstrainSelectedInstOperands,
16087 /* 43082 */ // GIR_Coverage, 5114,
16088 /* 43082 */ GIR_Done,
16089 /* 43083 */ // Label 1283: @43083
16090 /* 43083 */ GIM_Reject,
16091 /* 43084 */ // Label 1275: @43084
16092 /* 43084 */ GIM_Reject,
16093 /* 43085 */ // Label 1269: @43085
16094 /* 43085 */ GIM_Try, /*On fail goto*//*Label 1284*/ GIMT_Encode4(43393),
16095 /* 43090 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
16096 /* 43093 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
16097 /* 43096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1285*/ GIMT_Encode4(43157), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23716 //
16098 /* 43103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16099 /* 43107 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16100 /* 43111 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16101 /* 43115 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16102 /* 43118 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16103 /* 43122 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16104 /* 43126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16105 /* 43130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16106 /* 43132 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16107 /* 43139 */ // (avgceilu:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPAVGBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16108 /* 43139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBYrm),
16109 /* 43142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16110 /* 43144 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16111 /* 43146 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16112 /* 43150 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16113 /* 43155 */ GIR_RootConstrainSelectedInstOperands,
16114 /* 43156 */ // GIR_Coverage, 23716,
16115 /* 43156 */ GIR_EraseRootFromParent_Done,
16116 /* 43157 */ // Label 1285: @43157
16117 /* 43157 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1286*/ GIMT_Encode4(43218), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24110 //
16118 /* 43164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16119 /* 43168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16120 /* 43172 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16121 /* 43176 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16122 /* 43179 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16123 /* 43183 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16124 /* 43187 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16125 /* 43191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16126 /* 43193 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16127 /* 43200 */ // (avgceilu:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPAVGBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16128 /* 43200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ256rm),
16129 /* 43203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16130 /* 43205 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16131 /* 43207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16132 /* 43211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16133 /* 43216 */ GIR_RootConstrainSelectedInstOperands,
16134 /* 43217 */ // GIR_Coverage, 24110,
16135 /* 43217 */ GIR_EraseRootFromParent_Done,
16136 /* 43218 */ // Label 1286: @43218
16137 /* 43218 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1287*/ GIMT_Encode4(43279), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2647 //
16138 /* 43225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16139 /* 43229 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16140 /* 43233 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16141 /* 43237 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16142 /* 43241 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16143 /* 43244 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16144 /* 43248 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16145 /* 43252 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16146 /* 43254 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16147 /* 43261 */ // (avgceilu:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16148 /* 43261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBYrm),
16149 /* 43264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16150 /* 43266 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16151 /* 43268 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16152 /* 43272 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16153 /* 43277 */ GIR_RootConstrainSelectedInstOperands,
16154 /* 43278 */ // GIR_Coverage, 2647,
16155 /* 43278 */ GIR_EraseRootFromParent_Done,
16156 /* 43279 */ // Label 1287: @43279
16157 /* 43279 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1288*/ GIMT_Encode4(43340), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5111 //
16158 /* 43286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16159 /* 43290 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16160 /* 43294 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16161 /* 43298 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16162 /* 43302 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16163 /* 43305 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16164 /* 43309 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16165 /* 43313 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16166 /* 43315 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16167 /* 43322 */ // (avgceilu:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16168 /* 43322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ256rm),
16169 /* 43325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16170 /* 43327 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16171 /* 43329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16172 /* 43333 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16173 /* 43338 */ GIR_RootConstrainSelectedInstOperands,
16174 /* 43339 */ // GIR_Coverage, 5111,
16175 /* 43339 */ GIR_EraseRootFromParent_Done,
16176 /* 43340 */ // Label 1288: @43340
16177 /* 43340 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1289*/ GIMT_Encode4(43366), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2646 //
16178 /* 43347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16179 /* 43351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16180 /* 43355 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16181 /* 43359 */ // (avgceilu:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPAVGBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
16182 /* 43359 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBYrr),
16183 /* 43364 */ GIR_RootConstrainSelectedInstOperands,
16184 /* 43365 */ // GIR_Coverage, 2646,
16185 /* 43365 */ GIR_Done,
16186 /* 43366 */ // Label 1289: @43366
16187 /* 43366 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1290*/ GIMT_Encode4(43392), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5108 //
16188 /* 43373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16189 /* 43377 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16190 /* 43381 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16191 /* 43385 */ // (avgceilu:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPAVGBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
16192 /* 43385 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ256rr),
16193 /* 43390 */ GIR_RootConstrainSelectedInstOperands,
16194 /* 43391 */ // GIR_Coverage, 5108,
16195 /* 43391 */ GIR_Done,
16196 /* 43392 */ // Label 1290: @43392
16197 /* 43392 */ GIM_Reject,
16198 /* 43393 */ // Label 1284: @43393
16199 /* 43393 */ GIM_Reject,
16200 /* 43394 */ // Label 1270: @43394
16201 /* 43394 */ GIM_Try, /*On fail goto*//*Label 1291*/ GIMT_Encode4(43548),
16202 /* 43399 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
16203 /* 43402 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
16204 /* 43405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16205 /* 43409 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1292*/ GIMT_Encode4(43466), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24107 //
16206 /* 43416 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16207 /* 43420 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16208 /* 43424 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16209 /* 43427 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16210 /* 43431 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16211 /* 43435 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16212 /* 43439 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16213 /* 43441 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16214 /* 43448 */ // (avgceilu:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPAVGBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16215 /* 43448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZrm),
16216 /* 43451 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16217 /* 43453 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16218 /* 43455 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16219 /* 43459 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16220 /* 43464 */ GIR_RootConstrainSelectedInstOperands,
16221 /* 43465 */ // GIR_Coverage, 24107,
16222 /* 43465 */ GIR_EraseRootFromParent_Done,
16223 /* 43466 */ // Label 1292: @43466
16224 /* 43466 */ GIM_Try, /*On fail goto*//*Label 1293*/ GIMT_Encode4(43547),
16225 /* 43471 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16226 /* 43475 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1294*/ GIMT_Encode4(43528), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5105 //
16227 /* 43482 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16228 /* 43486 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16229 /* 43490 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16230 /* 43493 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16231 /* 43497 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16232 /* 43501 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16233 /* 43503 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16234 /* 43510 */ // (avgceilu:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16235 /* 43510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZrm),
16236 /* 43513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16237 /* 43515 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16238 /* 43517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16239 /* 43521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16240 /* 43526 */ GIR_RootConstrainSelectedInstOperands,
16241 /* 43527 */ // GIR_Coverage, 5105,
16242 /* 43527 */ GIR_EraseRootFromParent_Done,
16243 /* 43528 */ // Label 1294: @43528
16244 /* 43528 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1295*/ GIMT_Encode4(43546), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5102 //
16245 /* 43535 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16246 /* 43539 */ // (avgceilu:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPAVGBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
16247 /* 43539 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBZrr),
16248 /* 43544 */ GIR_RootConstrainSelectedInstOperands,
16249 /* 43545 */ // GIR_Coverage, 5102,
16250 /* 43545 */ GIR_Done,
16251 /* 43546 */ // Label 1295: @43546
16252 /* 43546 */ GIM_Reject,
16253 /* 43547 */ // Label 1293: @43547
16254 /* 43547 */ GIM_Reject,
16255 /* 43548 */ // Label 1291: @43548
16256 /* 43548 */ GIM_Reject,
16257 /* 43549 */ // Label 1271: @43549
16258 /* 43549 */ GIM_Try, /*On fail goto*//*Label 1296*/ GIMT_Encode4(43877),
16259 /* 43554 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
16260 /* 43557 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
16261 /* 43560 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1297*/ GIMT_Encode4(43621), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23717 //
16262 /* 43567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16263 /* 43571 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16264 /* 43575 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16265 /* 43579 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16266 /* 43582 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16267 /* 43586 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16268 /* 43590 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16269 /* 43594 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16270 /* 43596 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16271 /* 43603 */ // (avgceilu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPAVGWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16272 /* 43603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWrm),
16273 /* 43606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16274 /* 43608 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16275 /* 43610 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16276 /* 43614 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16277 /* 43619 */ GIR_RootConstrainSelectedInstOperands,
16278 /* 43620 */ // GIR_Coverage, 23717,
16279 /* 43620 */ GIR_EraseRootFromParent_Done,
16280 /* 43621 */ // Label 1297: @43621
16281 /* 43621 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1298*/ GIMT_Encode4(43682), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24104 //
16282 /* 43628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16283 /* 43632 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16284 /* 43636 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16285 /* 43640 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16286 /* 43643 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16287 /* 43647 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16288 /* 43651 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16289 /* 43655 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16290 /* 43657 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16291 /* 43664 */ // (avgceilu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPAVGWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16292 /* 43664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ128rm),
16293 /* 43667 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16294 /* 43669 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16295 /* 43671 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16296 /* 43675 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16297 /* 43680 */ GIR_RootConstrainSelectedInstOperands,
16298 /* 43681 */ // GIR_Coverage, 24104,
16299 /* 43681 */ GIR_EraseRootFromParent_Done,
16300 /* 43682 */ // Label 1298: @43682
16301 /* 43682 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1299*/ GIMT_Encode4(43743), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2649 //
16302 /* 43689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16303 /* 43693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16304 /* 43697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16305 /* 43701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16306 /* 43705 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16307 /* 43708 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16308 /* 43712 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16309 /* 43716 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16310 /* 43718 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16311 /* 43725 */ // (avgceilu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16312 /* 43725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWrm),
16313 /* 43728 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16314 /* 43730 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16315 /* 43732 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16316 /* 43736 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16317 /* 43741 */ GIR_RootConstrainSelectedInstOperands,
16318 /* 43742 */ // GIR_Coverage, 2649,
16319 /* 43742 */ GIR_EraseRootFromParent_Done,
16320 /* 43743 */ // Label 1299: @43743
16321 /* 43743 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1300*/ GIMT_Encode4(43804), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5099 //
16322 /* 43750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16323 /* 43754 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16324 /* 43758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16325 /* 43762 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16326 /* 43766 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16327 /* 43769 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16328 /* 43773 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16329 /* 43777 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16330 /* 43779 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16331 /* 43786 */ // (avgceilu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16332 /* 43786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ128rm),
16333 /* 43789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16334 /* 43791 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16335 /* 43793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16336 /* 43797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16337 /* 43802 */ GIR_RootConstrainSelectedInstOperands,
16338 /* 43803 */ // GIR_Coverage, 5099,
16339 /* 43803 */ GIR_EraseRootFromParent_Done,
16340 /* 43804 */ // Label 1300: @43804
16341 /* 43804 */ GIM_Try, /*On fail goto*//*Label 1301*/ GIMT_Encode4(43850),
16342 /* 43809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16343 /* 43813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16344 /* 43817 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16345 /* 43821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1302*/ GIMT_Encode4(43835), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2648 //
16346 /* 43828 */ // (avgceilu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPAVGWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
16347 /* 43828 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWrr),
16348 /* 43833 */ GIR_RootConstrainSelectedInstOperands,
16349 /* 43834 */ // GIR_Coverage, 2648,
16350 /* 43834 */ GIR_Done,
16351 /* 43835 */ // Label 1302: @43835
16352 /* 43835 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1303*/ GIMT_Encode4(43849), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2650 //
16353 /* 43842 */ // (avgceilu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PAVGWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
16354 /* 43842 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PAVGWrr),
16355 /* 43847 */ GIR_RootConstrainSelectedInstOperands,
16356 /* 43848 */ // GIR_Coverage, 2650,
16357 /* 43848 */ GIR_Done,
16358 /* 43849 */ // Label 1303: @43849
16359 /* 43849 */ GIM_Reject,
16360 /* 43850 */ // Label 1301: @43850
16361 /* 43850 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1304*/ GIMT_Encode4(43876), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5096 //
16362 /* 43857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16363 /* 43861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16364 /* 43865 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16365 /* 43869 */ // (avgceilu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPAVGWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
16366 /* 43869 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ128rr),
16367 /* 43874 */ GIR_RootConstrainSelectedInstOperands,
16368 /* 43875 */ // GIR_Coverage, 5096,
16369 /* 43875 */ GIR_Done,
16370 /* 43876 */ // Label 1304: @43876
16371 /* 43876 */ GIM_Reject,
16372 /* 43877 */ // Label 1296: @43877
16373 /* 43877 */ GIM_Reject,
16374 /* 43878 */ // Label 1272: @43878
16375 /* 43878 */ GIM_Try, /*On fail goto*//*Label 1305*/ GIMT_Encode4(44186),
16376 /* 43883 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
16377 /* 43886 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
16378 /* 43889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1306*/ GIMT_Encode4(43950), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23719 //
16379 /* 43896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16380 /* 43900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16381 /* 43904 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16382 /* 43908 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16383 /* 43911 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16384 /* 43915 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16385 /* 43919 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16386 /* 43923 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16387 /* 43925 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16388 /* 43932 */ // (avgceilu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPAVGWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16389 /* 43932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWYrm),
16390 /* 43935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16391 /* 43937 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16392 /* 43939 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16393 /* 43943 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16394 /* 43948 */ GIR_RootConstrainSelectedInstOperands,
16395 /* 43949 */ // GIR_Coverage, 23719,
16396 /* 43949 */ GIR_EraseRootFromParent_Done,
16397 /* 43950 */ // Label 1306: @43950
16398 /* 43950 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1307*/ GIMT_Encode4(44011), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24101 //
16399 /* 43957 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16400 /* 43961 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16401 /* 43965 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16402 /* 43969 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16403 /* 43972 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16404 /* 43976 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16405 /* 43980 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16406 /* 43984 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16407 /* 43986 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16408 /* 43993 */ // (avgceilu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPAVGWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16409 /* 43993 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ256rm),
16410 /* 43996 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16411 /* 43998 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16412 /* 44000 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16413 /* 44004 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16414 /* 44009 */ GIR_RootConstrainSelectedInstOperands,
16415 /* 44010 */ // GIR_Coverage, 24101,
16416 /* 44010 */ GIR_EraseRootFromParent_Done,
16417 /* 44011 */ // Label 1307: @44011
16418 /* 44011 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1308*/ GIMT_Encode4(44072), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2653 //
16419 /* 44018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16420 /* 44022 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16421 /* 44026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16422 /* 44030 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16423 /* 44034 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16424 /* 44037 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16425 /* 44041 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16426 /* 44045 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16427 /* 44047 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16428 /* 44054 */ // (avgceilu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16429 /* 44054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWYrm),
16430 /* 44057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16431 /* 44059 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16432 /* 44061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16433 /* 44065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16434 /* 44070 */ GIR_RootConstrainSelectedInstOperands,
16435 /* 44071 */ // GIR_Coverage, 2653,
16436 /* 44071 */ GIR_EraseRootFromParent_Done,
16437 /* 44072 */ // Label 1308: @44072
16438 /* 44072 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1309*/ GIMT_Encode4(44133), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5093 //
16439 /* 44079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16440 /* 44083 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16441 /* 44087 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16442 /* 44091 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16443 /* 44095 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16444 /* 44098 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16445 /* 44102 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16446 /* 44106 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16447 /* 44108 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16448 /* 44115 */ // (avgceilu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16449 /* 44115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ256rm),
16450 /* 44118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16451 /* 44120 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16452 /* 44122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16453 /* 44126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16454 /* 44131 */ GIR_RootConstrainSelectedInstOperands,
16455 /* 44132 */ // GIR_Coverage, 5093,
16456 /* 44132 */ GIR_EraseRootFromParent_Done,
16457 /* 44133 */ // Label 1309: @44133
16458 /* 44133 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1310*/ GIMT_Encode4(44159), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2652 //
16459 /* 44140 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16460 /* 44144 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16461 /* 44148 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16462 /* 44152 */ // (avgceilu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPAVGWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
16463 /* 44152 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWYrr),
16464 /* 44157 */ GIR_RootConstrainSelectedInstOperands,
16465 /* 44158 */ // GIR_Coverage, 2652,
16466 /* 44158 */ GIR_Done,
16467 /* 44159 */ // Label 1310: @44159
16468 /* 44159 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1311*/ GIMT_Encode4(44185), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5090 //
16469 /* 44166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16470 /* 44170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16471 /* 44174 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16472 /* 44178 */ // (avgceilu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPAVGWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
16473 /* 44178 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ256rr),
16474 /* 44183 */ GIR_RootConstrainSelectedInstOperands,
16475 /* 44184 */ // GIR_Coverage, 5090,
16476 /* 44184 */ GIR_Done,
16477 /* 44185 */ // Label 1311: @44185
16478 /* 44185 */ GIM_Reject,
16479 /* 44186 */ // Label 1305: @44186
16480 /* 44186 */ GIM_Reject,
16481 /* 44187 */ // Label 1273: @44187
16482 /* 44187 */ GIM_Try, /*On fail goto*//*Label 1312*/ GIMT_Encode4(44341),
16483 /* 44192 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
16484 /* 44195 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
16485 /* 44198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16486 /* 44202 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1313*/ GIMT_Encode4(44259), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24098 //
16487 /* 44209 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16488 /* 44213 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16489 /* 44217 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16490 /* 44220 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16491 /* 44224 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16492 /* 44228 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16493 /* 44232 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16494 /* 44234 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16495 /* 44241 */ // (avgceilu:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPAVGWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16496 /* 44241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZrm),
16497 /* 44244 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16498 /* 44246 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16499 /* 44248 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16500 /* 44252 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16501 /* 44257 */ GIR_RootConstrainSelectedInstOperands,
16502 /* 44258 */ // GIR_Coverage, 24098,
16503 /* 44258 */ GIR_EraseRootFromParent_Done,
16504 /* 44259 */ // Label 1313: @44259
16505 /* 44259 */ GIM_Try, /*On fail goto*//*Label 1314*/ GIMT_Encode4(44340),
16506 /* 44264 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16507 /* 44268 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1315*/ GIMT_Encode4(44321), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5087 //
16508 /* 44275 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16509 /* 44279 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16510 /* 44283 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16511 /* 44286 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16512 /* 44290 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16513 /* 44294 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16514 /* 44296 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16515 /* 44303 */ // (avgceilu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16516 /* 44303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZrm),
16517 /* 44306 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16518 /* 44308 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16519 /* 44310 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16520 /* 44314 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16521 /* 44319 */ GIR_RootConstrainSelectedInstOperands,
16522 /* 44320 */ // GIR_Coverage, 5087,
16523 /* 44320 */ GIR_EraseRootFromParent_Done,
16524 /* 44321 */ // Label 1315: @44321
16525 /* 44321 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1316*/ GIMT_Encode4(44339), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5084 //
16526 /* 44328 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16527 /* 44332 */ // (avgceilu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPAVGWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
16528 /* 44332 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWZrr),
16529 /* 44337 */ GIR_RootConstrainSelectedInstOperands,
16530 /* 44338 */ // GIR_Coverage, 5084,
16531 /* 44338 */ GIR_Done,
16532 /* 44339 */ // Label 1316: @44339
16533 /* 44339 */ GIM_Reject,
16534 /* 44340 */ // Label 1314: @44340
16535 /* 44340 */ GIM_Reject,
16536 /* 44341 */ // Label 1312: @44341
16537 /* 44341 */ GIM_Reject,
16538 /* 44342 */ // Label 1274: @44342
16539 /* 44342 */ GIM_Reject,
16540 /* 44343 */ // Label 7: @44343
16541 /* 44343 */ GIM_Try, /*On fail goto*//*Label 1317*/ GIMT_Encode4(44486),
16542 /* 44348 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
16543 /* 44351 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(10), GIMT_Encode2(13), /*)*//*default:*//*Label 1321*/ GIMT_Encode4(44485),
16544 /* 44362 */ /*GILLT_v16s1*//*Label 1318*/ GIMT_Encode4(44374),
16545 /* 44366 */ /*GILLT_v32s1*//*Label 1319*/ GIMT_Encode4(44411),
16546 /* 44370 */ /*GILLT_v64s1*//*Label 1320*/ GIMT_Encode4(44448),
16547 /* 44374 */ // Label 1318: @44374
16548 /* 44374 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1322*/ GIMT_Encode4(44410), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19603 //
16549 /* 44381 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
16550 /* 44384 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
16551 /* 44387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16552 /* 44391 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
16553 /* 44395 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
16554 /* 44399 */ // (concat_vectors:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KUNPCKBWkk:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src2, VK8:{ *:[v8i1] }:$src1)
16555 /* 44399 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKBWkk),
16556 /* 44402 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16557 /* 44404 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
16558 /* 44406 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16559 /* 44408 */ GIR_RootConstrainSelectedInstOperands,
16560 /* 44409 */ // GIR_Coverage, 19603,
16561 /* 44409 */ GIR_EraseRootFromParent_Done,
16562 /* 44410 */ // Label 1322: @44410
16563 /* 44410 */ GIM_Reject,
16564 /* 44411 */ // Label 1319: @44411
16565 /* 44411 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1323*/ GIMT_Encode4(44447), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19604 //
16566 /* 44418 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
16567 /* 44421 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
16568 /* 44424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16569 /* 44428 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16570 /* 44432 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16571 /* 44436 */ // (concat_vectors:{ *:[v32i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KUNPCKWDkk:{ *:[v32i1] } VK16:{ *:[v16i1] }:$src2, VK16:{ *:[v16i1] }:$src1)
16572 /* 44436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKWDkk),
16573 /* 44439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16574 /* 44441 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
16575 /* 44443 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16576 /* 44445 */ GIR_RootConstrainSelectedInstOperands,
16577 /* 44446 */ // GIR_Coverage, 19604,
16578 /* 44446 */ GIR_EraseRootFromParent_Done,
16579 /* 44447 */ // Label 1323: @44447
16580 /* 44447 */ GIM_Reject,
16581 /* 44448 */ // Label 1320: @44448
16582 /* 44448 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1324*/ GIMT_Encode4(44484), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19605 //
16583 /* 44455 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
16584 /* 44458 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
16585 /* 44461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
16586 /* 44465 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16587 /* 44469 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16588 /* 44473 */ // (concat_vectors:{ *:[v64i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KUNPCKDQkk:{ *:[v64i1] } VK32:{ *:[v32i1] }:$src2, VK32:{ *:[v32i1] }:$src1)
16589 /* 44473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKDQkk),
16590 /* 44476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16591 /* 44478 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
16592 /* 44480 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16593 /* 44482 */ GIR_RootConstrainSelectedInstOperands,
16594 /* 44483 */ // GIR_Coverage, 19605,
16595 /* 44483 */ GIR_EraseRootFromParent_Done,
16596 /* 44484 */ // Label 1324: @44484
16597 /* 44484 */ GIM_Reject,
16598 /* 44485 */ // Label 1321: @44485
16599 /* 44485 */ GIM_Reject,
16600 /* 44486 */ // Label 1317: @44486
16601 /* 44486 */ GIM_Reject,
16602 /* 44487 */ // Label 8: @44487
16603 /* 44487 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(13), /*)*//*default:*//*Label 1333*/ GIMT_Encode4(47093),
16604 /* 44498 */ /*GILLT_s8*//*Label 1325*/ GIMT_Encode4(44546),
16605 /* 44502 */ /*GILLT_s16*//*Label 1326*/ GIMT_Encode4(44607),
16606 /* 44506 */ /*GILLT_s32*//*Label 1327*/ GIMT_Encode4(45453),
16607 /* 44510 */ /*GILLT_s64*//*Label 1328*/ GIMT_Encode4(45884), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
16608 /* 44530 */ /*GILLT_v8s1*//*Label 1329*/ GIMT_Encode4(46315),
16609 /* 44534 */ /*GILLT_v16s1*//*Label 1330*/ GIMT_Encode4(46500),
16610 /* 44538 */ /*GILLT_v32s1*//*Label 1331*/ GIMT_Encode4(46685),
16611 /* 44542 */ /*GILLT_v64s1*//*Label 1332*/ GIMT_Encode4(46866),
16612 /* 44546 */ // Label 1325: @44546
16613 /* 44546 */ GIM_Try, /*On fail goto*//*Label 1334*/ GIMT_Encode4(44606), // Rule ID 19534 //
16614 /* 44551 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
16615 /* 44554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
16616 /* 44558 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
16617 /* 44562 */ // (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } VK8:{ *:[v8i1] }:$src, GR32:{ *:[i32] }), sub_8bit:{ *:[i32] })
16618 /* 44562 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16619 /* 44565 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16620 /* 44569 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16621 /* 44574 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
16622 /* 44578 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
16623 /* 44583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16624 /* 44586 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16625 /* 44588 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
16626 /* 44595 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
16627 /* 44600 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
16628 /* 44605 */ // GIR_Coverage, 19534,
16629 /* 44605 */ GIR_EraseRootFromParent_Done,
16630 /* 44606 */ // Label 1334: @44606
16631 /* 44606 */ GIM_Reject,
16632 /* 44607 */ // Label 1326: @44607
16633 /* 44607 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(11), /*)*//*default:*//*Label 1337*/ GIMT_Encode4(45452),
16634 /* 44618 */ /*GILLT_s16*//*Label 1335*/ GIMT_Encode4(44654), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
16635 /* 44650 */ /*GILLT_v16s1*//*Label 1336*/ GIMT_Encode4(45394),
16636 /* 44654 */ // Label 1335: @44654
16637 /* 44654 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1338*/ GIMT_Encode4(44751), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22338 //
16638 /* 44661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
16639 /* 44665 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
16640 /* 44669 */ // (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] })
16641 /* 44669 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
16642 /* 44672 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16643 /* 44676 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16644 /* 44681 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
16645 /* 44683 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
16646 /* 44686 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16647 /* 44690 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16648 /* 44695 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
16649 /* 44698 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16650 /* 44702 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/4,
16651 /* 44705 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16652 /* 44710 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16653 /* 44715 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
16654 /* 44720 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
16655 /* 44723 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVW2SHrr),
16656 /* 44727 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16657 /* 44732 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16658 /* 44735 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16659 /* 44737 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16660 /* 44740 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16661 /* 44742 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
16662 /* 44745 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
16663 /* 44750 */ // GIR_Coverage, 22338,
16664 /* 44750 */ GIR_EraseRootFromParent_Done,
16665 /* 44751 */ // Label 1338: @44751
16666 /* 44751 */ GIM_Try, /*On fail goto*//*Label 1339*/ GIMT_Encode4(44904),
16667 /* 44756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
16668 /* 44760 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1340*/ GIMT_Encode4(44832), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22351 //
16669 /* 44767 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
16670 /* 44771 */ // (bitconvert:{ *:[i16] } FR16X:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VMOVSH2Wrr:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[f128] } FR16X:{ *:[f16] }:$src, VR128X:{ *:[i32] })), sub_16bit:{ *:[i32] })
16671 /* 44771 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s128,
16672 /* 44774 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16673 /* 44778 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16674 /* 44783 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16675 /* 44787 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128XRegClassID),
16676 /* 44792 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16677 /* 44795 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSH2Wrr),
16678 /* 44799 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16679 /* 44804 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16680 /* 44807 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16681 /* 44809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16682 /* 44812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16683 /* 44814 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
16684 /* 44821 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
16685 /* 44826 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
16686 /* 44831 */ // GIR_Coverage, 22351,
16687 /* 44831 */ GIR_EraseRootFromParent_Done,
16688 /* 44832 */ // Label 1340: @44832
16689 /* 44832 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1341*/ GIMT_Encode4(44903), GIMT_Encode2(GIFBS_HasAVX_NoBWI), // Rule ID 18437 //
16690 /* 44839 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VPEXTRWrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16:{ *:[f16] }:$src, VR128:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
16691 /* 44839 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
16692 /* 44842 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16693 /* 44846 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16694 /* 44851 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16695 /* 44855 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
16696 /* 44860 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16697 /* 44863 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPEXTRWrri),
16698 /* 44867 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16699 /* 44872 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16700 /* 44875 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
16701 /* 44878 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16702 /* 44880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16703 /* 44883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16704 /* 44885 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
16705 /* 44892 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
16706 /* 44897 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
16707 /* 44902 */ // GIR_Coverage, 18437,
16708 /* 44902 */ GIR_EraseRootFromParent_Done,
16709 /* 44903 */ // Label 1341: @44903
16710 /* 44903 */ GIM_Reject,
16711 /* 44904 */ // Label 1339: @44904
16712 /* 44904 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1342*/ GIMT_Encode4(45017), GIMT_Encode2(GIFBS_HasAVX_NoBWI), // Rule ID 18438 //
16713 /* 44911 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
16714 /* 44915 */ // (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] })
16715 /* 44915 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
16716 /* 44918 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16717 /* 44922 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16718 /* 44927 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
16719 /* 44929 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
16720 /* 44932 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16721 /* 44936 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16722 /* 44941 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
16723 /* 44944 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
16724 /* 44948 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
16725 /* 44951 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16726 /* 44956 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16727 /* 44961 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
16728 /* 44966 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
16729 /* 44969 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16730 /* 44973 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16731 /* 44978 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
16732 /* 44980 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
16733 /* 44983 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWrri),
16734 /* 44987 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16735 /* 44992 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16736 /* 44995 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
16737 /* 44998 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
16738 /* 45001 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16739 /* 45003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16740 /* 45006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16741 /* 45008 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
16742 /* 45011 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
16743 /* 45016 */ // GIR_Coverage, 18438,
16744 /* 45016 */ GIR_EraseRootFromParent_Done,
16745 /* 45017 */ // Label 1342: @45017
16746 /* 45017 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1343*/ GIMT_Encode4(45092), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18434 //
16747 /* 45024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
16748 /* 45028 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (PEXTRWrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16:{ *:[f16] }:$src, VR128:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
16749 /* 45028 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
16750 /* 45031 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16751 /* 45035 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16752 /* 45040 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16753 /* 45044 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
16754 /* 45049 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16755 /* 45052 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PEXTRWrri),
16756 /* 45056 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16757 /* 45061 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16758 /* 45064 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
16759 /* 45067 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16760 /* 45069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16761 /* 45072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16762 /* 45074 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
16763 /* 45081 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
16764 /* 45086 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
16765 /* 45091 */ // GIR_Coverage, 18434,
16766 /* 45091 */ GIR_EraseRootFromParent_Done,
16767 /* 45092 */ // Label 1343: @45092
16768 /* 45092 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1344*/ GIMT_Encode4(45205), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18435 //
16769 /* 45099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
16770 /* 45103 */ // (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] })
16771 /* 45103 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
16772 /* 45106 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16773 /* 45110 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16774 /* 45115 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
16775 /* 45117 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
16776 /* 45120 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16777 /* 45124 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16778 /* 45129 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
16779 /* 45132 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
16780 /* 45136 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
16781 /* 45139 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16782 /* 45144 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16783 /* 45149 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
16784 /* 45154 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
16785 /* 45157 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16786 /* 45161 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16787 /* 45166 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
16788 /* 45168 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
16789 /* 45171 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PINSRWrri),
16790 /* 45175 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16791 /* 45180 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16792 /* 45183 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
16793 /* 45186 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
16794 /* 45189 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16795 /* 45191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16796 /* 45194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16797 /* 45196 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
16798 /* 45199 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
16799 /* 45204 */ // GIR_Coverage, 18435,
16800 /* 45204 */ GIR_EraseRootFromParent_Done,
16801 /* 45205 */ // Label 1344: @45205
16802 /* 45205 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1345*/ GIMT_Encode4(45280), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 21989 //
16803 /* 45212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
16804 /* 45216 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VPEXTRWZrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16X:{ *:[f16] }:$src, VR128X:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
16805 /* 45216 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
16806 /* 45219 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16807 /* 45223 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16808 /* 45228 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16809 /* 45232 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128XRegClassID),
16810 /* 45237 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16811 /* 45240 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPEXTRWZrri),
16812 /* 45244 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16813 /* 45249 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16814 /* 45252 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
16815 /* 45255 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16816 /* 45257 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16817 /* 45260 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16818 /* 45262 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
16819 /* 45269 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
16820 /* 45274 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
16821 /* 45279 */ // GIR_Coverage, 21989,
16822 /* 45279 */ GIR_EraseRootFromParent_Done,
16823 /* 45280 */ // Label 1345: @45280
16824 /* 45280 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1346*/ GIMT_Encode4(45393), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 21990 //
16825 /* 45287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
16826 /* 45291 */ // (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] })
16827 /* 45291 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
16828 /* 45294 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16829 /* 45298 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16830 /* 45303 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
16831 /* 45305 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
16832 /* 45308 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16833 /* 45312 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16834 /* 45317 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
16835 /* 45320 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
16836 /* 45324 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
16837 /* 45327 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16838 /* 45332 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
16839 /* 45337 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
16840 /* 45342 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
16841 /* 45345 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16842 /* 45349 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16843 /* 45354 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
16844 /* 45356 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
16845 /* 45359 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWZrri),
16846 /* 45363 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16847 /* 45368 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16848 /* 45371 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
16849 /* 45374 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
16850 /* 45377 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16851 /* 45379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16852 /* 45382 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16853 /* 45384 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
16854 /* 45387 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
16855 /* 45392 */ // GIR_Coverage, 21990,
16856 /* 45392 */ GIR_EraseRootFromParent_Done,
16857 /* 45393 */ // Label 1346: @45393
16858 /* 45393 */ GIM_Reject,
16859 /* 45394 */ // Label 1336: @45394
16860 /* 45394 */ GIM_Try, /*On fail goto*//*Label 1347*/ GIMT_Encode4(45451), // Rule ID 19531 //
16861 /* 45399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
16862 /* 45403 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16863 /* 45407 */ // (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] }), sub_16bit:{ *:[i32] })
16864 /* 45407 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
16865 /* 45410 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16866 /* 45414 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16867 /* 45419 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
16868 /* 45423 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
16869 /* 45428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16870 /* 45431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16871 /* 45433 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
16872 /* 45440 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
16873 /* 45445 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
16874 /* 45450 */ // GIR_Coverage, 19531,
16875 /* 45450 */ GIR_EraseRootFromParent_Done,
16876 /* 45451 */ // Label 1347: @45451
16877 /* 45451 */ GIM_Reject,
16878 /* 45452 */ // Label 1337: @45452
16879 /* 45452 */ GIM_Reject,
16880 /* 45453 */ // Label 1327: @45453
16881 /* 45453 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(12), /*)*//*default:*//*Label 1350*/ GIMT_Encode4(45883),
16882 /* 45464 */ /*GILLT_s32*//*Label 1348*/ GIMT_Encode4(45500), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
16883 /* 45496 */ /*GILLT_v32s1*//*Label 1349*/ GIMT_Encode4(45817),
16884 /* 45500 */ // Label 1348: @45500
16885 /* 45500 */ GIM_Try, /*On fail goto*//*Label 1351*/ GIMT_Encode4(45626),
16886 /* 45505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
16887 /* 45509 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1352*/ GIMT_Encode4(45567), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22737 //
16888 /* 45516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16889 /* 45520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16890 /* 45524 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
16891 /* 45527 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16892 /* 45531 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
16893 /* 45538 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16894 /* 45542 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16895 /* 45544 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16896 /* 45551 */ // (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)
16897 /* 45551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSrm_alt),
16898 /* 45554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16899 /* 45556 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
16900 /* 45560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16901 /* 45565 */ GIR_RootConstrainSelectedInstOperands,
16902 /* 45566 */ // GIR_Coverage, 22737,
16903 /* 45566 */ GIR_EraseRootFromParent_Done,
16904 /* 45567 */ // Label 1352: @45567
16905 /* 45567 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1353*/ GIMT_Encode4(45625), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22738 //
16906 /* 45574 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16907 /* 45578 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16908 /* 45582 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
16909 /* 45585 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16910 /* 45589 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
16911 /* 45596 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16912 /* 45600 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16913 /* 45602 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16914 /* 45609 */ // (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)
16915 /* 45609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSrm_alt),
16916 /* 45612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16917 /* 45614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
16918 /* 45618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16919 /* 45623 */ GIR_RootConstrainSelectedInstOperands,
16920 /* 45624 */ // GIR_Coverage, 22738,
16921 /* 45624 */ GIR_EraseRootFromParent_Done,
16922 /* 45625 */ // Label 1353: @45625
16923 /* 45625 */ GIM_Reject,
16924 /* 45626 */ // Label 1351: @45626
16925 /* 45626 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1354*/ GIMT_Encode4(45688), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22739 //
16926 /* 45633 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
16927 /* 45637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16928 /* 45641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16929 /* 45645 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
16930 /* 45648 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16931 /* 45652 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
16932 /* 45659 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16933 /* 45663 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16934 /* 45665 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16935 /* 45672 */ // (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)
16936 /* 45672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZrm_alt),
16937 /* 45675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16938 /* 45677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
16939 /* 45681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16940 /* 45686 */ GIR_RootConstrainSelectedInstOperands,
16941 /* 45687 */ // GIR_Coverage, 22739,
16942 /* 45687 */ GIR_EraseRootFromParent_Done,
16943 /* 45688 */ // Label 1354: @45688
16944 /* 45688 */ GIM_Try, /*On fail goto*//*Label 1355*/ GIMT_Encode4(45730),
16945 /* 45693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
16946 /* 45697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
16947 /* 45701 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1356*/ GIMT_Encode4(45715), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2897 //
16948 /* 45708 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VMOVDI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
16949 /* 45708 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSrr),
16950 /* 45713 */ GIR_RootConstrainSelectedInstOperands,
16951 /* 45714 */ // GIR_Coverage, 2897,
16952 /* 45714 */ GIR_Done,
16953 /* 45715 */ // Label 1356: @45715
16954 /* 45715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1357*/ GIMT_Encode4(45729), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2898 //
16955 /* 45722 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (MOVDI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
16956 /* 45722 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVDI2SSrr),
16957 /* 45727 */ GIR_RootConstrainSelectedInstOperands,
16958 /* 45728 */ // GIR_Coverage, 2898,
16959 /* 45728 */ GIR_Done,
16960 /* 45729 */ // Label 1357: @45729
16961 /* 45729 */ GIM_Reject,
16962 /* 45730 */ // Label 1355: @45730
16963 /* 45730 */ GIM_Try, /*On fail goto*//*Label 1358*/ GIMT_Encode4(45772),
16964 /* 45735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
16965 /* 45739 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
16966 /* 45743 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1359*/ GIMT_Encode4(45757), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2909 //
16967 /* 45750 */ // (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VMOVSS2DIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
16968 /* 45750 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIrr),
16969 /* 45755 */ GIR_RootConstrainSelectedInstOperands,
16970 /* 45756 */ // GIR_Coverage, 2909,
16971 /* 45756 */ GIR_Done,
16972 /* 45757 */ // Label 1359: @45757
16973 /* 45757 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1360*/ GIMT_Encode4(45771), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2910 //
16974 /* 45764 */ // (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src) => (MOVSS2DIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
16975 /* 45764 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSS2DIrr),
16976 /* 45769 */ GIR_RootConstrainSelectedInstOperands,
16977 /* 45770 */ // GIR_Coverage, 2910,
16978 /* 45770 */ GIR_Done,
16979 /* 45771 */ // Label 1360: @45771
16980 /* 45771 */ GIM_Reject,
16981 /* 45772 */ // Label 1358: @45772
16982 /* 45772 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1361*/ GIMT_Encode4(45794), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4597 //
16983 /* 45779 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
16984 /* 45783 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
16985 /* 45787 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VMOVDI2SSZrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
16986 /* 45787 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSZrr),
16987 /* 45792 */ GIR_RootConstrainSelectedInstOperands,
16988 /* 45793 */ // GIR_Coverage, 4597,
16989 /* 45793 */ GIR_Done,
16990 /* 45794 */ // Label 1361: @45794
16991 /* 45794 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1362*/ GIMT_Encode4(45816), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4604 //
16992 /* 45801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
16993 /* 45805 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
16994 /* 45809 */ // (bitconvert:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VMOVSS2DIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
16995 /* 45809 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIZrr),
16996 /* 45814 */ GIR_RootConstrainSelectedInstOperands,
16997 /* 45815 */ // GIR_Coverage, 4604,
16998 /* 45815 */ GIR_Done,
16999 /* 45816 */ // Label 1362: @45816
17000 /* 45816 */ GIM_Reject,
17001 /* 45817 */ // Label 1349: @45817
17002 /* 45817 */ GIM_Try, /*On fail goto*//*Label 1363*/ GIMT_Encode4(45841), // Rule ID 19542 //
17003 /* 45822 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17004 /* 45826 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17005 /* 45830 */ // (bitconvert:{ *:[i32] } VK32:{ *:[v32i1] }:$src) => (COPY_TO_REGCLASS:{ *:[i32] } VK32:{ *:[v32i1] }:$src, GR32:{ *:[i32] })
17006 /* 45830 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17007 /* 45835 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
17008 /* 45840 */ // GIR_Coverage, 19542,
17009 /* 45840 */ GIR_Done,
17010 /* 45841 */ // Label 1363: @45841
17011 /* 45841 */ GIM_Try, /*On fail goto*//*Label 1364*/ GIMT_Encode4(45882), // Rule ID 20000 //
17012 /* 45846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17013 /* 45850 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17014 /* 45854 */ // (bitconvert:{ *:[f32] } VK32:{ *:[v32i1] }:$src) => (VMOVDI2SSZrr:{ *:[f32] } (KMOVDrk:{ *:[i32] } VK32:{ *:[v32i1] }:$src))
17015 /* 45854 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17016 /* 45857 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVDrk),
17017 /* 45861 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17018 /* 45866 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17019 /* 45870 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17020 /* 45872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSZrr),
17021 /* 45875 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17022 /* 45877 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17023 /* 45880 */ GIR_RootConstrainSelectedInstOperands,
17024 /* 45881 */ // GIR_Coverage, 20000,
17025 /* 45881 */ GIR_EraseRootFromParent_Done,
17026 /* 45882 */ // Label 1364: @45882
17027 /* 45882 */ GIM_Reject,
17028 /* 45883 */ // Label 1350: @45883
17029 /* 45883 */ GIM_Reject,
17030 /* 45884 */ // Label 1328: @45884
17031 /* 45884 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(4), GIMT_Encode2(13), /*)*//*default:*//*Label 1367*/ GIMT_Encode4(46314),
17032 /* 45895 */ /*GILLT_s64*//*Label 1365*/ GIMT_Encode4(45931), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
17033 /* 45927 */ /*GILLT_v64s1*//*Label 1366*/ GIMT_Encode4(46248),
17034 /* 45931 */ // Label 1365: @45931
17035 /* 45931 */ GIM_Try, /*On fail goto*//*Label 1368*/ GIMT_Encode4(46057),
17036 /* 45936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17037 /* 45940 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1369*/ GIMT_Encode4(45998), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 22740 //
17038 /* 45947 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17039 /* 45951 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17040 /* 45955 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17041 /* 45958 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17042 /* 45962 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
17043 /* 45969 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17044 /* 45973 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17045 /* 45975 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17046 /* 45982 */ // (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)
17047 /* 45982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDrm_alt),
17048 /* 45985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17049 /* 45987 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17050 /* 45991 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17051 /* 45996 */ GIR_RootConstrainSelectedInstOperands,
17052 /* 45997 */ // GIR_Coverage, 22740,
17053 /* 45997 */ GIR_EraseRootFromParent_Done,
17054 /* 45998 */ // Label 1369: @45998
17055 /* 45998 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1370*/ GIMT_Encode4(46056), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22741 //
17056 /* 46005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17057 /* 46009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17058 /* 46013 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17059 /* 46016 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17060 /* 46020 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
17061 /* 46027 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17062 /* 46031 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17063 /* 46033 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17064 /* 46040 */ // (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)
17065 /* 46040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDrm_alt),
17066 /* 46043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17067 /* 46045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17068 /* 46049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17069 /* 46054 */ GIR_RootConstrainSelectedInstOperands,
17070 /* 46055 */ // GIR_Coverage, 22741,
17071 /* 46055 */ GIR_EraseRootFromParent_Done,
17072 /* 46056 */ // Label 1370: @46056
17073 /* 46056 */ GIM_Reject,
17074 /* 46057 */ // Label 1368: @46057
17075 /* 46057 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1371*/ GIMT_Encode4(46119), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22742 //
17076 /* 46064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17077 /* 46068 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17078 /* 46072 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17079 /* 46076 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17080 /* 46079 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17081 /* 46083 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
17082 /* 46090 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17083 /* 46094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17084 /* 46096 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17085 /* 46103 */ // (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)
17086 /* 46103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZrm_alt),
17087 /* 46106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17088 /* 46108 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17089 /* 46112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17090 /* 46117 */ GIR_RootConstrainSelectedInstOperands,
17091 /* 46118 */ // GIR_Coverage, 22742,
17092 /* 46118 */ GIR_EraseRootFromParent_Done,
17093 /* 46119 */ // Label 1371: @46119
17094 /* 46119 */ GIM_Try, /*On fail goto*//*Label 1372*/ GIMT_Encode4(46161),
17095 /* 46124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17096 /* 46128 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17097 /* 46132 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1373*/ GIMT_Encode4(46146), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2892 //
17098 /* 46139 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VMOV64toSDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
17099 /* 46139 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDrr),
17100 /* 46144 */ GIR_RootConstrainSelectedInstOperands,
17101 /* 46145 */ // GIR_Coverage, 2892,
17102 /* 46145 */ GIR_Done,
17103 /* 46146 */ // Label 1373: @46146
17104 /* 46146 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1374*/ GIMT_Encode4(46160), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2896 //
17105 /* 46153 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (MOV64toSDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
17106 /* 46153 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOV64toSDrr),
17107 /* 46158 */ GIR_RootConstrainSelectedInstOperands,
17108 /* 46159 */ // GIR_Coverage, 2896,
17109 /* 46159 */ GIR_Done,
17110 /* 46160 */ // Label 1374: @46160
17111 /* 46160 */ GIM_Reject,
17112 /* 46161 */ // Label 1372: @46161
17113 /* 46161 */ GIM_Try, /*On fail goto*//*Label 1375*/ GIMT_Encode4(46203),
17114 /* 46166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17115 /* 46170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17116 /* 46174 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1376*/ GIMT_Encode4(46188), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2907 //
17117 /* 46181 */ // (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VMOVSDto64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
17118 /* 46181 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64rr),
17119 /* 46186 */ GIR_RootConstrainSelectedInstOperands,
17120 /* 46187 */ // GIR_Coverage, 2907,
17121 /* 46187 */ GIR_Done,
17122 /* 46188 */ // Label 1376: @46188
17123 /* 46188 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1377*/ GIMT_Encode4(46202), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2908 //
17124 /* 46195 */ // (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src) => (MOVSDto64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
17125 /* 46195 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSDto64rr),
17126 /* 46200 */ GIR_RootConstrainSelectedInstOperands,
17127 /* 46201 */ // GIR_Coverage, 2908,
17128 /* 46201 */ GIR_Done,
17129 /* 46202 */ // Label 1377: @46202
17130 /* 46202 */ GIM_Reject,
17131 /* 46203 */ // Label 1375: @46203
17132 /* 46203 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1378*/ GIMT_Encode4(46225), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4595 //
17133 /* 46210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17134 /* 46214 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17135 /* 46218 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VMOV64toSDZrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
17136 /* 46218 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDZrr),
17137 /* 46223 */ GIR_RootConstrainSelectedInstOperands,
17138 /* 46224 */ // GIR_Coverage, 4595,
17139 /* 46224 */ GIR_Done,
17140 /* 46225 */ // Label 1378: @46225
17141 /* 46225 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1379*/ GIMT_Encode4(46247), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4596 //
17142 /* 46232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17143 /* 46236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17144 /* 46240 */ // (bitconvert:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VMOVSDto64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
17145 /* 46240 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64Zrr),
17146 /* 46245 */ GIR_RootConstrainSelectedInstOperands,
17147 /* 46246 */ // GIR_Coverage, 4596,
17148 /* 46246 */ GIR_Done,
17149 /* 46247 */ // Label 1379: @46247
17150 /* 46247 */ GIM_Reject,
17151 /* 46248 */ // Label 1366: @46248
17152 /* 46248 */ GIM_Try, /*On fail goto*//*Label 1380*/ GIMT_Encode4(46272), // Rule ID 19544 //
17153 /* 46253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17154 /* 46257 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17155 /* 46261 */ // (bitconvert:{ *:[i64] } VK64:{ *:[v64i1] }:$src) => (COPY_TO_REGCLASS:{ *:[i64] } VK64:{ *:[v64i1] }:$src, GR64:{ *:[i32] })
17156 /* 46261 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17157 /* 46266 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
17158 /* 46271 */ // GIR_Coverage, 19544,
17159 /* 46271 */ GIR_Done,
17160 /* 46272 */ // Label 1380: @46272
17161 /* 46272 */ GIM_Try, /*On fail goto*//*Label 1381*/ GIMT_Encode4(46313), // Rule ID 20002 //
17162 /* 46277 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17163 /* 46281 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17164 /* 46285 */ // (bitconvert:{ *:[f64] } VK64:{ *:[v64i1] }:$src) => (VMOV64toSDZrr:{ *:[f64] } (KMOVQrk:{ *:[i64] } VK64:{ *:[v64i1] }:$src))
17165 /* 46285 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
17166 /* 46288 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVQrk),
17167 /* 46292 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17168 /* 46297 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17169 /* 46301 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17170 /* 46303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDZrr),
17171 /* 46306 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17172 /* 46308 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17173 /* 46311 */ GIR_RootConstrainSelectedInstOperands,
17174 /* 46312 */ // GIR_Coverage, 20002,
17175 /* 46312 */ GIR_EraseRootFromParent_Done,
17176 /* 46313 */ // Label 1381: @46313
17177 /* 46313 */ GIM_Reject,
17178 /* 46314 */ // Label 1367: @46314
17179 /* 46314 */ GIM_Reject,
17180 /* 46315 */ // Label 1329: @46315
17181 /* 46315 */ GIM_Try, /*On fail goto*//*Label 1382*/ GIMT_Encode4(46499),
17182 /* 46320 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
17183 /* 46323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
17184 /* 46327 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1383*/ GIMT_Encode4(46399), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19548 //
17185 /* 46334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17186 /* 46338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17187 /* 46342 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17188 /* 46345 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17189 /* 46349 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17190 /* 46353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17191 /* 46355 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17192 /* 46362 */ // (bitconvert:{ *:[v8i1] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (COPY_TO_REGCLASS:{ *:[v8i1] } (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), VK8:{ *:[i32] })
17193 /* 46362 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17194 /* 46365 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
17195 /* 46369 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17196 /* 46374 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
17197 /* 46378 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17198 /* 46383 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17199 /* 46385 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17200 /* 46388 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17201 /* 46390 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17202 /* 46393 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
17203 /* 46398 */ // GIR_Coverage, 19548,
17204 /* 46398 */ GIR_EraseRootFromParent_Done,
17205 /* 46399 */ // Label 1383: @46399
17206 /* 46399 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1384*/ GIMT_Encode4(46424), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 19704 //
17207 /* 46406 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
17208 /* 46417 */ // (bitconvert:{ *:[v8i1] } 255:{ *:[i8] }) => (KSET1B:{ *:[v8i1] })
17209 /* 46417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KSET1B),
17210 /* 46420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17211 /* 46422 */ GIR_RootConstrainSelectedInstOperands,
17212 /* 46423 */ // GIR_Coverage, 19704,
17213 /* 46423 */ GIR_EraseRootFromParent_Done,
17214 /* 46424 */ // Label 1384: @46424
17215 /* 46424 */ GIM_Try, /*On fail goto*//*Label 1385*/ GIMT_Encode4(46498), // Rule ID 19533 //
17216 /* 46429 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
17217 /* 46433 */ // (bitconvert:{ *:[v8i1] } GR8:{ *:[i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i1] } (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src, sub_8bit:{ *:[i32] }), VK8:{ *:[i32] })
17218 /* 46433 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
17219 /* 46436 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17220 /* 46440 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17221 /* 46445 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17222 /* 46447 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17223 /* 46450 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17224 /* 46454 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17225 /* 46459 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17226 /* 46462 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17227 /* 46466 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
17228 /* 46469 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
17229 /* 46474 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
17230 /* 46479 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
17231 /* 46484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17232 /* 46487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17233 /* 46489 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17234 /* 46492 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
17235 /* 46497 */ // GIR_Coverage, 19533,
17236 /* 46497 */ GIR_EraseRootFromParent_Done,
17237 /* 46498 */ // Label 1385: @46498
17238 /* 46498 */ GIM_Reject,
17239 /* 46499 */ // Label 1382: @46499
17240 /* 46499 */ GIM_Reject,
17241 /* 46500 */ // Label 1330: @46500
17242 /* 46500 */ GIM_Try, /*On fail goto*//*Label 1386*/ GIMT_Encode4(46684),
17243 /* 46505 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17244 /* 46508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17245 /* 46512 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1387*/ GIMT_Encode4(46563), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19549 //
17246 /* 46519 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17247 /* 46523 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17248 /* 46527 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17249 /* 46530 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17250 /* 46534 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
17251 /* 46538 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17252 /* 46540 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17253 /* 46547 */ // (bitconvert:{ *:[v16i1] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (KMOVWkm:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
17254 /* 46547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm),
17255 /* 46550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17256 /* 46552 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17257 /* 46556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17258 /* 46561 */ GIR_RootConstrainSelectedInstOperands,
17259 /* 46562 */ // GIR_Coverage, 19549,
17260 /* 46562 */ GIR_EraseRootFromParent_Done,
17261 /* 46563 */ // Label 1387: @46563
17262 /* 46563 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1388*/ GIMT_Encode4(46609), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 19705 //
17263 /* 46570 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
17264 /* 46581 */ // (bitconvert:{ *:[v16i1] } 255:{ *:[i16] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } (KSET1B:{ *:[v8i1] }), VK16:{ *:[i32] })
17265 /* 46581 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
17266 /* 46584 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1B),
17267 /* 46588 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17268 /* 46593 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17269 /* 46595 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17270 /* 46598 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17271 /* 46600 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17272 /* 46603 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
17273 /* 46608 */ // GIR_Coverage, 19705,
17274 /* 46608 */ GIR_EraseRootFromParent_Done,
17275 /* 46609 */ // Label 1388: @46609
17276 /* 46609 */ GIM_Try, /*On fail goto*//*Label 1389*/ GIMT_Encode4(46683), // Rule ID 19530 //
17277 /* 46614 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17278 /* 46618 */ // (bitconvert:{ *:[v16i1] } GR16:{ *:[i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i1] } (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR16:{ *:[i16] }:$src, sub_16bit:{ *:[i32] }), VK16:{ *:[i32] })
17279 /* 46618 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
17280 /* 46621 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17281 /* 46625 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17282 /* 46630 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17283 /* 46632 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17284 /* 46635 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17285 /* 46639 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17286 /* 46644 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17287 /* 46647 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17288 /* 46651 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/4,
17289 /* 46654 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17290 /* 46659 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17291 /* 46664 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17292 /* 46669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17293 /* 46672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17294 /* 46674 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17295 /* 46677 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
17296 /* 46682 */ // GIR_Coverage, 19530,
17297 /* 46682 */ GIR_EraseRootFromParent_Done,
17298 /* 46683 */ // Label 1389: @46683
17299 /* 46683 */ GIM_Reject,
17300 /* 46684 */ // Label 1386: @46684
17301 /* 46684 */ GIM_Reject,
17302 /* 46685 */ // Label 1331: @46685
17303 /* 46685 */ GIM_Try, /*On fail goto*//*Label 1390*/ GIMT_Encode4(46865),
17304 /* 46690 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17305 /* 46693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17306 /* 46697 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1391*/ GIMT_Encode4(46715), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19706 //
17307 /* 46704 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 255,
17308 /* 46708 */ // (bitconvert:{ *:[v32i1] } -1:{ *:[i32] }) => (KSET1D:{ *:[v32i1] })
17309 /* 46708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KSET1D),
17310 /* 46711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17311 /* 46713 */ GIR_RootConstrainSelectedInstOperands,
17312 /* 46714 */ // GIR_Coverage, 19706,
17313 /* 46714 */ GIR_EraseRootFromParent_Done,
17314 /* 46715 */ // Label 1391: @46715
17315 /* 46715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1392*/ GIMT_Encode4(46761), GIMT_Encode2(GIFBS_HasBWI_HasDQI), // Rule ID 19708 //
17316 /* 46722 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
17317 /* 46733 */ // (bitconvert:{ *:[v32i1] } 255:{ *:[i32] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } (KSET1B:{ *:[v8i1] }), VK32:{ *:[i32] })
17318 /* 46733 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
17319 /* 46736 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1B),
17320 /* 46740 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17321 /* 46745 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17322 /* 46747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17323 /* 46750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17324 /* 46752 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17325 /* 46755 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
17326 /* 46760 */ // GIR_Coverage, 19708,
17327 /* 46760 */ GIR_EraseRootFromParent_Done,
17328 /* 46761 */ // Label 1392: @46761
17329 /* 46761 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1393*/ GIMT_Encode4(46807), GIMT_Encode2(GIFBS_HasBWI_HasDQI), // Rule ID 19709 //
17330 /* 46768 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(65535),
17331 /* 46779 */ // (bitconvert:{ *:[v32i1] } 65535:{ *:[i32] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } (KSET1W:{ *:[v16i1] }), VK32:{ *:[i32] })
17332 /* 46779 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
17333 /* 46782 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1W),
17334 /* 46786 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17335 /* 46791 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17336 /* 46793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17337 /* 46796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17338 /* 46798 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17339 /* 46801 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
17340 /* 46806 */ // GIR_Coverage, 19709,
17341 /* 46806 */ GIR_EraseRootFromParent_Done,
17342 /* 46807 */ // Label 1393: @46807
17343 /* 46807 */ GIM_Try, /*On fail goto*//*Label 1394*/ GIMT_Encode4(46827), // Rule ID 19541 //
17344 /* 46812 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17345 /* 46816 */ // (bitconvert:{ *:[v32i1] } GR32:{ *:[i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v32i1] } GR32:{ *:[i32] }:$src, VK32:{ *:[i32] })
17346 /* 46816 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17347 /* 46821 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
17348 /* 46826 */ // GIR_Coverage, 19541,
17349 /* 46826 */ GIR_Done,
17350 /* 46827 */ // Label 1394: @46827
17351 /* 46827 */ GIM_Try, /*On fail goto*//*Label 1395*/ GIMT_Encode4(46864), // Rule ID 19999 //
17352 /* 46832 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17353 /* 46836 */ // (bitconvert:{ *:[v32i1] } FR32X:{ *:[f32] }:$src) => (KMOVDkr:{ *:[v32i1] } (VMOVSS2DIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src))
17354 /* 46836 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17355 /* 46839 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIZrr),
17356 /* 46843 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17357 /* 46848 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17358 /* 46852 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17359 /* 46854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkr),
17360 /* 46857 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17361 /* 46859 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17362 /* 46862 */ GIR_RootConstrainSelectedInstOperands,
17363 /* 46863 */ // GIR_Coverage, 19999,
17364 /* 46863 */ GIR_EraseRootFromParent_Done,
17365 /* 46864 */ // Label 1395: @46864
17366 /* 46864 */ GIM_Reject,
17367 /* 46865 */ // Label 1390: @46865
17368 /* 46865 */ GIM_Reject,
17369 /* 46866 */ // Label 1332: @46866
17370 /* 46866 */ GIM_Try, /*On fail goto*//*Label 1396*/ GIMT_Encode4(47092),
17371 /* 46871 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17372 /* 46874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17373 /* 46878 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1397*/ GIMT_Encode4(46896), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19707 //
17374 /* 46885 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 255,
17375 /* 46889 */ // (bitconvert:{ *:[v64i1] } -1:{ *:[i64] }) => (KSET1Q:{ *:[v64i1] })
17376 /* 46889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KSET1Q),
17377 /* 46892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17378 /* 46894 */ GIR_RootConstrainSelectedInstOperands,
17379 /* 46895 */ // GIR_Coverage, 19707,
17380 /* 46895 */ GIR_EraseRootFromParent_Done,
17381 /* 46896 */ // Label 1397: @46896
17382 /* 46896 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1398*/ GIMT_Encode4(46942), GIMT_Encode2(GIFBS_HasBWI_HasDQI), // Rule ID 19710 //
17383 /* 46903 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
17384 /* 46914 */ // (bitconvert:{ *:[v64i1] } 255:{ *:[i64] }) => (COPY_TO_REGCLASS:{ *:[v64i1] } (KSET1B:{ *:[v8i1] }), VK64:{ *:[i32] })
17385 /* 46914 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
17386 /* 46917 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1B),
17387 /* 46921 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17388 /* 46926 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17389 /* 46928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17390 /* 46931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17391 /* 46933 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17392 /* 46936 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
17393 /* 46941 */ // GIR_Coverage, 19710,
17394 /* 46941 */ GIR_EraseRootFromParent_Done,
17395 /* 46942 */ // Label 1398: @46942
17396 /* 46942 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1399*/ GIMT_Encode4(46988), GIMT_Encode2(GIFBS_HasBWI_HasDQI), // Rule ID 19711 //
17397 /* 46949 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(65535),
17398 /* 46960 */ // (bitconvert:{ *:[v64i1] } 65535:{ *:[i64] }) => (COPY_TO_REGCLASS:{ *:[v64i1] } (KSET1W:{ *:[v16i1] }), VK64:{ *:[i32] })
17399 /* 46960 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
17400 /* 46963 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1W),
17401 /* 46967 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17402 /* 46972 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17403 /* 46974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17404 /* 46977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17405 /* 46979 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17406 /* 46982 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
17407 /* 46987 */ // GIR_Coverage, 19711,
17408 /* 46987 */ GIR_EraseRootFromParent_Done,
17409 /* 46988 */ // Label 1399: @46988
17410 /* 46988 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1400*/ GIMT_Encode4(47034), GIMT_Encode2(GIFBS_HasBWI_HasDQI), // Rule ID 19712 //
17411 /* 46995 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(4294967295),
17412 /* 47006 */ // (bitconvert:{ *:[v64i1] } 4294967295:{ *:[i64] }) => (COPY_TO_REGCLASS:{ *:[v64i1] } (KSET1D:{ *:[v32i1] }), VK64:{ *:[i32] })
17413 /* 47006 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
17414 /* 47009 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1D),
17415 /* 47013 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17416 /* 47018 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17417 /* 47020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17418 /* 47023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17419 /* 47025 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17420 /* 47028 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
17421 /* 47033 */ // GIR_Coverage, 19712,
17422 /* 47033 */ GIR_EraseRootFromParent_Done,
17423 /* 47034 */ // Label 1400: @47034
17424 /* 47034 */ GIM_Try, /*On fail goto*//*Label 1401*/ GIMT_Encode4(47054), // Rule ID 19543 //
17425 /* 47039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17426 /* 47043 */ // (bitconvert:{ *:[v64i1] } GR64:{ *:[i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v64i1] } GR64:{ *:[i64] }:$src, VK64:{ *:[i32] })
17427 /* 47043 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17428 /* 47048 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
17429 /* 47053 */ // GIR_Coverage, 19543,
17430 /* 47053 */ GIR_Done,
17431 /* 47054 */ // Label 1401: @47054
17432 /* 47054 */ GIM_Try, /*On fail goto*//*Label 1402*/ GIMT_Encode4(47091), // Rule ID 20001 //
17433 /* 47059 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17434 /* 47063 */ // (bitconvert:{ *:[v64i1] } FR64X:{ *:[f64] }:$src) => (KMOVQkr:{ *:[v64i1] } (VMOVSDto64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src))
17435 /* 47063 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
17436 /* 47066 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64Zrr),
17437 /* 47070 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17438 /* 47075 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17439 /* 47079 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17440 /* 47081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkr),
17441 /* 47084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17442 /* 47086 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17443 /* 47089 */ GIR_RootConstrainSelectedInstOperands,
17444 /* 47090 */ // GIR_Coverage, 20001,
17445 /* 47090 */ GIR_EraseRootFromParent_Done,
17446 /* 47091 */ // Label 1402: @47091
17447 /* 47091 */ GIM_Reject,
17448 /* 47092 */ // Label 1396: @47092
17449 /* 47092 */ GIM_Reject,
17450 /* 47093 */ // Label 1333: @47093
17451 /* 47093 */ GIM_Reject,
17452 /* 47094 */ // Label 9: @47094
17453 /* 47094 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 1415*/ GIMT_Encode4(50251),
17454 /* 47105 */ /*GILLT_s16*//*Label 1403*/ GIMT_Encode4(47197),
17455 /* 47109 */ /*GILLT_s32*//*Label 1404*/ GIMT_Encode4(47257),
17456 /* 47113 */ /*GILLT_s64*//*Label 1405*/ GIMT_Encode4(47829), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
17457 /* 47161 */ /*GILLT_v8s16*//*Label 1406*/ GIMT_Encode4(48393),
17458 /* 47165 */ /*GILLT_v16s16*//*Label 1407*/ GIMT_Encode4(48480),
17459 /* 47169 */ /*GILLT_v32s16*//*Label 1408*/ GIMT_Encode4(48567),
17460 /* 47173 */ /*GILLT_v4s32*//*Label 1409*/ GIMT_Encode4(48654),
17461 /* 47177 */ /*GILLT_v8s32*//*Label 1410*/ GIMT_Encode4(49093),
17462 /* 47181 */ /*GILLT_v16s32*//*Label 1411*/ GIMT_Encode4(49468),
17463 /* 47185 */ /*GILLT_v2s64*//*Label 1412*/ GIMT_Encode4(49664),
17464 /* 47189 */ /*GILLT_v4s64*//*Label 1413*/ GIMT_Encode4(49751),
17465 /* 47193 */ /*GILLT_v8s64*//*Label 1414*/ GIMT_Encode4(49951),
17466 /* 47197 */ // Label 1403: @47197
17467 /* 47197 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1416*/ GIMT_Encode4(47256), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22367 //
17468 /* 47204 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17469 /* 47207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17470 /* 47211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
17471 /* 47215 */ // (lrint:{ *:[i16] } FR16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VCVTTSH2SIZrr:{ *:[i32] } FR16:{ *:[f16] }:$src), sub_16bit:{ *:[i32] })
17472 /* 47215 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17473 /* 47218 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
17474 /* 47222 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17475 /* 47227 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17476 /* 47231 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17477 /* 47233 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17478 /* 47236 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17479 /* 47238 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
17480 /* 47245 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
17481 /* 47250 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17482 /* 47255 */ // GIR_Coverage, 22367,
17483 /* 47255 */ GIR_EraseRootFromParent_Done,
17484 /* 47256 */ // Label 1416: @47256
17485 /* 47256 */ GIM_Reject,
17486 /* 47257 */ // Label 1404: @47257
17487 /* 47257 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 1420*/ GIMT_Encode4(47828),
17488 /* 47268 */ /*GILLT_s16*//*Label 1417*/ GIMT_Encode4(47280),
17489 /* 47272 */ /*GILLT_s32*//*Label 1418*/ GIMT_Encode4(47364),
17490 /* 47276 */ /*GILLT_s64*//*Label 1419*/ GIMT_Encode4(47596),
17491 /* 47280 */ // Label 1417: @47280
17492 /* 47280 */ GIM_Try, /*On fail goto*//*Label 1421*/ GIMT_Encode4(47363),
17493 /* 47285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17494 /* 47289 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1422*/ GIMT_Encode4(47340), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22369 //
17495 /* 47296 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17496 /* 47300 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17497 /* 47304 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17498 /* 47307 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17499 /* 47311 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17500 /* 47315 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17501 /* 47317 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17502 /* 47324 */ // (lrint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17503 /* 47324 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrm),
17504 /* 47327 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17505 /* 47329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17506 /* 47333 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17507 /* 47338 */ GIR_RootConstrainSelectedInstOperands,
17508 /* 47339 */ // GIR_Coverage, 22369,
17509 /* 47339 */ GIR_EraseRootFromParent_Done,
17510 /* 47340 */ // Label 1422: @47340
17511 /* 47340 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1423*/ GIMT_Encode4(47362), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22368 //
17512 /* 47347 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
17513 /* 47351 */ // (lrint:{ *:[i32] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SIZrr:{ *:[i32] } FR16:{ *:[f16] }:$src)
17514 /* 47351 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
17515 /* 47356 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17516 /* 47360 */ GIR_RootConstrainSelectedInstOperands,
17517 /* 47361 */ // GIR_Coverage, 22368,
17518 /* 47361 */ GIR_Done,
17519 /* 47362 */ // Label 1423: @47362
17520 /* 47362 */ GIM_Reject,
17521 /* 47363 */ // Label 1421: @47363
17522 /* 47363 */ GIM_Reject,
17523 /* 47364 */ // Label 1418: @47364
17524 /* 47364 */ GIM_Try, /*On fail goto*//*Label 1424*/ GIMT_Encode4(47595),
17525 /* 47369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17526 /* 47373 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1425*/ GIMT_Encode4(47424), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1737 //
17527 /* 47380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17528 /* 47384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17529 /* 47388 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17530 /* 47391 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17531 /* 47395 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17532 /* 47399 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17533 /* 47401 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17534 /* 47408 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17535 /* 47408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIrm),
17536 /* 47411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17537 /* 47413 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17538 /* 47417 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17539 /* 47422 */ GIR_RootConstrainSelectedInstOperands,
17540 /* 47423 */ // GIR_Coverage, 1737,
17541 /* 47423 */ GIR_EraseRootFromParent_Done,
17542 /* 47424 */ // Label 1425: @47424
17543 /* 47424 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1426*/ GIMT_Encode4(47475), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1761 //
17544 /* 47431 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17545 /* 47435 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17546 /* 47439 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17547 /* 47442 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17548 /* 47446 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17549 /* 47450 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17550 /* 47452 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17551 /* 47459 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17552 /* 47459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SIrm),
17553 /* 47462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17554 /* 47464 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17555 /* 47468 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17556 /* 47473 */ GIR_RootConstrainSelectedInstOperands,
17557 /* 47474 */ // GIR_Coverage, 1761,
17558 /* 47474 */ GIR_EraseRootFromParent_Done,
17559 /* 47475 */ // Label 1426: @47475
17560 /* 47475 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1427*/ GIMT_Encode4(47526), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10354 //
17561 /* 47482 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17562 /* 47486 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17563 /* 47490 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17564 /* 47493 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17565 /* 47497 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17566 /* 47501 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17567 /* 47503 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17568 /* 47510 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17569 /* 47510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIZrm),
17570 /* 47513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17571 /* 47515 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17572 /* 47519 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17573 /* 47524 */ GIR_RootConstrainSelectedInstOperands,
17574 /* 47525 */ // GIR_Coverage, 10354,
17575 /* 47525 */ GIR_EraseRootFromParent_Done,
17576 /* 47526 */ // Label 1427: @47526
17577 /* 47526 */ GIM_Try, /*On fail goto*//*Label 1428*/ GIMT_Encode4(47572),
17578 /* 47531 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17579 /* 47535 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1429*/ GIMT_Encode4(47553), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1736 //
17580 /* 47542 */ // (lrint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VCVTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
17581 /* 47542 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIrr),
17582 /* 47547 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17583 /* 47551 */ GIR_RootConstrainSelectedInstOperands,
17584 /* 47552 */ // GIR_Coverage, 1736,
17585 /* 47552 */ GIR_Done,
17586 /* 47553 */ // Label 1429: @47553
17587 /* 47553 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1430*/ GIMT_Encode4(47571), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1760 //
17588 /* 47560 */ // (lrint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (CVTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
17589 /* 47560 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SIrr),
17590 /* 47565 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17591 /* 47569 */ GIR_RootConstrainSelectedInstOperands,
17592 /* 47570 */ // GIR_Coverage, 1760,
17593 /* 47570 */ GIR_Done,
17594 /* 47571 */ // Label 1430: @47571
17595 /* 47571 */ GIM_Reject,
17596 /* 47572 */ // Label 1428: @47572
17597 /* 47572 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1431*/ GIMT_Encode4(47594), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10353 //
17598 /* 47579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17599 /* 47583 */ // (lrint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
17600 /* 47583 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIZrr),
17601 /* 47588 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17602 /* 47592 */ GIR_RootConstrainSelectedInstOperands,
17603 /* 47593 */ // GIR_Coverage, 10353,
17604 /* 47593 */ GIR_Done,
17605 /* 47594 */ // Label 1431: @47594
17606 /* 47594 */ GIM_Reject,
17607 /* 47595 */ // Label 1424: @47595
17608 /* 47595 */ GIM_Reject,
17609 /* 47596 */ // Label 1419: @47596
17610 /* 47596 */ GIM_Try, /*On fail goto*//*Label 1432*/ GIMT_Encode4(47827),
17611 /* 47601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17612 /* 47605 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1433*/ GIMT_Encode4(47656), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1741 //
17613 /* 47612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17614 /* 47616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17615 /* 47620 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17616 /* 47623 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17617 /* 47627 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17618 /* 47631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17619 /* 47633 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17620 /* 47640 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17621 /* 47640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIrm),
17622 /* 47643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17623 /* 47645 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17624 /* 47649 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17625 /* 47654 */ GIR_RootConstrainSelectedInstOperands,
17626 /* 47655 */ // GIR_Coverage, 1741,
17627 /* 47655 */ GIR_EraseRootFromParent_Done,
17628 /* 47656 */ // Label 1433: @47656
17629 /* 47656 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1434*/ GIMT_Encode4(47707), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1765 //
17630 /* 47663 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17631 /* 47667 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17632 /* 47671 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17633 /* 47674 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17634 /* 47678 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17635 /* 47682 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17636 /* 47684 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17637 /* 47691 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17638 /* 47691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SIrm),
17639 /* 47694 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17640 /* 47696 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17641 /* 47700 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17642 /* 47705 */ GIR_RootConstrainSelectedInstOperands,
17643 /* 47706 */ // GIR_Coverage, 1765,
17644 /* 47706 */ GIR_EraseRootFromParent_Done,
17645 /* 47707 */ // Label 1434: @47707
17646 /* 47707 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1435*/ GIMT_Encode4(47758), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10358 //
17647 /* 47714 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17648 /* 47718 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17649 /* 47722 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17650 /* 47725 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17651 /* 47729 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17652 /* 47733 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17653 /* 47735 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17654 /* 47742 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
17655 /* 47742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIZrm),
17656 /* 47745 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17657 /* 47747 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17658 /* 47751 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17659 /* 47756 */ GIR_RootConstrainSelectedInstOperands,
17660 /* 47757 */ // GIR_Coverage, 10358,
17661 /* 47757 */ GIR_EraseRootFromParent_Done,
17662 /* 47758 */ // Label 1435: @47758
17663 /* 47758 */ GIM_Try, /*On fail goto*//*Label 1436*/ GIMT_Encode4(47804),
17664 /* 47763 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17665 /* 47767 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1437*/ GIMT_Encode4(47785), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1740 //
17666 /* 47774 */ // (lrint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (VCVTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
17667 /* 47774 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIrr),
17668 /* 47779 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17669 /* 47783 */ GIR_RootConstrainSelectedInstOperands,
17670 /* 47784 */ // GIR_Coverage, 1740,
17671 /* 47784 */ GIR_Done,
17672 /* 47785 */ // Label 1437: @47785
17673 /* 47785 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1438*/ GIMT_Encode4(47803), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1764 //
17674 /* 47792 */ // (lrint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (CVTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
17675 /* 47792 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SIrr),
17676 /* 47797 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17677 /* 47801 */ GIR_RootConstrainSelectedInstOperands,
17678 /* 47802 */ // GIR_Coverage, 1764,
17679 /* 47802 */ GIR_Done,
17680 /* 47803 */ // Label 1438: @47803
17681 /* 47803 */ GIM_Reject,
17682 /* 47804 */ // Label 1436: @47804
17683 /* 47804 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1439*/ GIMT_Encode4(47826), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10357 //
17684 /* 47811 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17685 /* 47815 */ // (lrint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
17686 /* 47815 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIZrr),
17687 /* 47820 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17688 /* 47824 */ GIR_RootConstrainSelectedInstOperands,
17689 /* 47825 */ // GIR_Coverage, 10357,
17690 /* 47825 */ GIR_Done,
17691 /* 47826 */ // Label 1439: @47826
17692 /* 47826 */ GIM_Reject,
17693 /* 47827 */ // Label 1432: @47827
17694 /* 47827 */ GIM_Reject,
17695 /* 47828 */ // Label 1420: @47828
17696 /* 47828 */ GIM_Reject,
17697 /* 47829 */ // Label 1405: @47829
17698 /* 47829 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 1443*/ GIMT_Encode4(48392),
17699 /* 47840 */ /*GILLT_s16*//*Label 1440*/ GIMT_Encode4(47852),
17700 /* 47844 */ /*GILLT_s32*//*Label 1441*/ GIMT_Encode4(47936),
17701 /* 47848 */ /*GILLT_s64*//*Label 1442*/ GIMT_Encode4(48164),
17702 /* 47852 */ // Label 1440: @47852
17703 /* 47852 */ GIM_Try, /*On fail goto*//*Label 1444*/ GIMT_Encode4(47935),
17704 /* 47857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17705 /* 47861 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1445*/ GIMT_Encode4(47912), GIMT_Encode2(GIFBS_HasFP16_In64BitMode), // Rule ID 22371 //
17706 /* 47868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17707 /* 47872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17708 /* 47876 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17709 /* 47879 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17710 /* 47883 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17711 /* 47887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17712 /* 47889 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17713 /* 47896 */ // (lrint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
17714 /* 47896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
17715 /* 47899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17716 /* 47901 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17717 /* 47905 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17718 /* 47910 */ GIR_RootConstrainSelectedInstOperands,
17719 /* 47911 */ // GIR_Coverage, 22371,
17720 /* 47911 */ GIR_EraseRootFromParent_Done,
17721 /* 47912 */ // Label 1445: @47912
17722 /* 47912 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1446*/ GIMT_Encode4(47934), GIMT_Encode2(GIFBS_HasFP16_In64BitMode), // Rule ID 22370 //
17723 /* 47919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
17724 /* 47923 */ // (lrint:{ *:[i64] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16:{ *:[f16] }:$src)
17725 /* 47923 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
17726 /* 47928 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17727 /* 47932 */ GIR_RootConstrainSelectedInstOperands,
17728 /* 47933 */ // GIR_Coverage, 22370,
17729 /* 47933 */ GIR_Done,
17730 /* 47934 */ // Label 1446: @47934
17731 /* 47934 */ GIM_Reject,
17732 /* 47935 */ // Label 1444: @47935
17733 /* 47935 */ GIM_Reject,
17734 /* 47936 */ // Label 1441: @47936
17735 /* 47936 */ GIM_Try, /*On fail goto*//*Label 1447*/ GIMT_Encode4(48163),
17736 /* 47941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17737 /* 47945 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1448*/ GIMT_Encode4(47996), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18059 //
17738 /* 47952 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17739 /* 47956 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17740 /* 47960 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17741 /* 47963 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17742 /* 47967 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17743 /* 47971 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17744 /* 47973 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17745 /* 47980 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
17746 /* 47980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rm),
17747 /* 47983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17748 /* 47985 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17749 /* 47989 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17750 /* 47994 */ GIR_RootConstrainSelectedInstOperands,
17751 /* 47995 */ // GIR_Coverage, 18059,
17752 /* 47995 */ GIR_EraseRootFromParent_Done,
17753 /* 47996 */ // Label 1448: @47996
17754 /* 47996 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1449*/ GIMT_Encode4(48047), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18063 //
17755 /* 48003 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17756 /* 48007 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17757 /* 48011 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17758 /* 48014 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17759 /* 48018 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17760 /* 48022 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17761 /* 48024 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17762 /* 48031 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
17763 /* 48031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rm),
17764 /* 48034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17765 /* 48036 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17766 /* 48040 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17767 /* 48045 */ GIR_RootConstrainSelectedInstOperands,
17768 /* 48046 */ // GIR_Coverage, 18063,
17769 /* 48046 */ GIR_EraseRootFromParent_Done,
17770 /* 48047 */ // Label 1449: @48047
17771 /* 48047 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1450*/ GIMT_Encode4(48098), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21308 //
17772 /* 48054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17773 /* 48058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17774 /* 48062 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17775 /* 48065 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17776 /* 48069 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17777 /* 48073 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17778 /* 48075 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17779 /* 48082 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
17780 /* 48082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrm),
17781 /* 48085 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17782 /* 48087 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17783 /* 48091 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17784 /* 48096 */ GIR_RootConstrainSelectedInstOperands,
17785 /* 48097 */ // GIR_Coverage, 21308,
17786 /* 48097 */ GIR_EraseRootFromParent_Done,
17787 /* 48098 */ // Label 1450: @48098
17788 /* 48098 */ GIM_Try, /*On fail goto*//*Label 1451*/ GIMT_Encode4(48162),
17789 /* 48103 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17790 /* 48107 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1452*/ GIMT_Encode4(48125), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18058 //
17791 /* 48114 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
17792 /* 48114 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rr),
17793 /* 48119 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17794 /* 48123 */ GIR_RootConstrainSelectedInstOperands,
17795 /* 48124 */ // GIR_Coverage, 18058,
17796 /* 48124 */ GIR_Done,
17797 /* 48125 */ // Label 1452: @48125
17798 /* 48125 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1453*/ GIMT_Encode4(48143), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18062 //
17799 /* 48132 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
17800 /* 48132 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rr),
17801 /* 48137 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17802 /* 48141 */ GIR_RootConstrainSelectedInstOperands,
17803 /* 48142 */ // GIR_Coverage, 18062,
17804 /* 48142 */ GIR_Done,
17805 /* 48143 */ // Label 1453: @48143
17806 /* 48143 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1454*/ GIMT_Encode4(48161), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21307 //
17807 /* 48150 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64Zrr:{ *:[i64] } FR32:{ *:[f32] }:$src)
17808 /* 48150 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrr),
17809 /* 48155 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17810 /* 48159 */ GIR_RootConstrainSelectedInstOperands,
17811 /* 48160 */ // GIR_Coverage, 21307,
17812 /* 48160 */ GIR_Done,
17813 /* 48161 */ // Label 1454: @48161
17814 /* 48161 */ GIM_Reject,
17815 /* 48162 */ // Label 1451: @48162
17816 /* 48162 */ GIM_Reject,
17817 /* 48163 */ // Label 1447: @48163
17818 /* 48163 */ GIM_Reject,
17819 /* 48164 */ // Label 1442: @48164
17820 /* 48164 */ GIM_Try, /*On fail goto*//*Label 1455*/ GIMT_Encode4(48391),
17821 /* 48169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17822 /* 48173 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1456*/ GIMT_Encode4(48224), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18061 //
17823 /* 48180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17824 /* 48184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17825 /* 48188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17826 /* 48191 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17827 /* 48195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17828 /* 48199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17829 /* 48201 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17830 /* 48208 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
17831 /* 48208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rm),
17832 /* 48211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17833 /* 48213 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17834 /* 48217 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17835 /* 48222 */ GIR_RootConstrainSelectedInstOperands,
17836 /* 48223 */ // GIR_Coverage, 18061,
17837 /* 48223 */ GIR_EraseRootFromParent_Done,
17838 /* 48224 */ // Label 1456: @48224
17839 /* 48224 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1457*/ GIMT_Encode4(48275), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18065 //
17840 /* 48231 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17841 /* 48235 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17842 /* 48239 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17843 /* 48242 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17844 /* 48246 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17845 /* 48250 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17846 /* 48252 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17847 /* 48259 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
17848 /* 48259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rm),
17849 /* 48262 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17850 /* 48264 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17851 /* 48268 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17852 /* 48273 */ GIR_RootConstrainSelectedInstOperands,
17853 /* 48274 */ // GIR_Coverage, 18065,
17854 /* 48274 */ GIR_EraseRootFromParent_Done,
17855 /* 48275 */ // Label 1457: @48275
17856 /* 48275 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1458*/ GIMT_Encode4(48326), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21310 //
17857 /* 48282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17858 /* 48286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17859 /* 48290 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17860 /* 48293 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17861 /* 48297 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17862 /* 48301 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17863 /* 48303 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17864 /* 48310 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
17865 /* 48310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrm),
17866 /* 48313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17867 /* 48315 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17868 /* 48319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17869 /* 48324 */ GIR_RootConstrainSelectedInstOperands,
17870 /* 48325 */ // GIR_Coverage, 21310,
17871 /* 48325 */ GIR_EraseRootFromParent_Done,
17872 /* 48326 */ // Label 1458: @48326
17873 /* 48326 */ GIM_Try, /*On fail goto*//*Label 1459*/ GIMT_Encode4(48390),
17874 /* 48331 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17875 /* 48335 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1460*/ GIMT_Encode4(48353), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18060 //
17876 /* 48342 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
17877 /* 48342 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rr),
17878 /* 48347 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17879 /* 48351 */ GIR_RootConstrainSelectedInstOperands,
17880 /* 48352 */ // GIR_Coverage, 18060,
17881 /* 48352 */ GIR_Done,
17882 /* 48353 */ // Label 1460: @48353
17883 /* 48353 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1461*/ GIMT_Encode4(48371), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18064 //
17884 /* 48360 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
17885 /* 48360 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rr),
17886 /* 48365 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17887 /* 48369 */ GIR_RootConstrainSelectedInstOperands,
17888 /* 48370 */ // GIR_Coverage, 18064,
17889 /* 48370 */ GIR_Done,
17890 /* 48371 */ // Label 1461: @48371
17891 /* 48371 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1462*/ GIMT_Encode4(48389), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21309 //
17892 /* 48378 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64Zrr:{ *:[i64] } FR64:{ *:[f64] }:$src)
17893 /* 48378 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrr),
17894 /* 48383 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17895 /* 48387 */ GIR_RootConstrainSelectedInstOperands,
17896 /* 48388 */ // GIR_Coverage, 21309,
17897 /* 48388 */ GIR_Done,
17898 /* 48389 */ // Label 1462: @48389
17899 /* 48389 */ GIM_Reject,
17900 /* 48390 */ // Label 1459: @48390
17901 /* 48390 */ GIM_Reject,
17902 /* 48391 */ // Label 1455: @48391
17903 /* 48391 */ GIM_Reject,
17904 /* 48392 */ // Label 1443: @48392
17905 /* 48392 */ GIM_Reject,
17906 /* 48393 */ // Label 1406: @48393
17907 /* 48393 */ GIM_Try, /*On fail goto*//*Label 1463*/ GIMT_Encode4(48479),
17908 /* 48398 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
17909 /* 48401 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17910 /* 48405 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1464*/ GIMT_Encode4(48456), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 22354 //
17911 /* 48412 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17912 /* 48416 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17913 /* 48420 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17914 /* 48423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17915 /* 48427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17916 /* 48431 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17917 /* 48433 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17918 /* 48440 */ // (lrint:{ *:[v8i16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
17919 /* 48440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ128rm),
17920 /* 48443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17921 /* 48445 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17922 /* 48449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17923 /* 48454 */ GIR_RootConstrainSelectedInstOperands,
17924 /* 48455 */ // GIR_Coverage, 22354,
17925 /* 48455 */ GIR_EraseRootFromParent_Done,
17926 /* 48456 */ // Label 1464: @48456
17927 /* 48456 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1465*/ GIMT_Encode4(48478), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 22353 //
17928 /* 48463 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17929 /* 48467 */ // (lrint:{ *:[v8i16] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2WZ128rr:{ *:[v8i16] } VR128X:{ *:[v8f16] }:$src)
17930 /* 48467 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ128rr),
17931 /* 48472 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17932 /* 48476 */ GIR_RootConstrainSelectedInstOperands,
17933 /* 48477 */ // GIR_Coverage, 22353,
17934 /* 48477 */ GIR_Done,
17935 /* 48478 */ // Label 1465: @48478
17936 /* 48478 */ GIM_Reject,
17937 /* 48479 */ // Label 1463: @48479
17938 /* 48479 */ GIM_Reject,
17939 /* 48480 */ // Label 1407: @48480
17940 /* 48480 */ GIM_Try, /*On fail goto*//*Label 1466*/ GIMT_Encode4(48566),
17941 /* 48485 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
17942 /* 48488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17943 /* 48492 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1467*/ GIMT_Encode4(48543), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 22356 //
17944 /* 48499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17945 /* 48503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17946 /* 48507 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17947 /* 48510 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17948 /* 48514 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17949 /* 48518 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17950 /* 48520 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17951 /* 48527 */ // (lrint:{ *:[v16i16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
17952 /* 48527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ256rm),
17953 /* 48530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17954 /* 48532 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17955 /* 48536 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17956 /* 48541 */ GIR_RootConstrainSelectedInstOperands,
17957 /* 48542 */ // GIR_Coverage, 22356,
17958 /* 48542 */ GIR_EraseRootFromParent_Done,
17959 /* 48543 */ // Label 1467: @48543
17960 /* 48543 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1468*/ GIMT_Encode4(48565), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 22355 //
17961 /* 48550 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17962 /* 48554 */ // (lrint:{ *:[v16i16] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2WZ256rr:{ *:[v16i16] } VR256X:{ *:[v16f16] }:$src)
17963 /* 48554 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ256rr),
17964 /* 48559 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17965 /* 48563 */ GIR_RootConstrainSelectedInstOperands,
17966 /* 48564 */ // GIR_Coverage, 22355,
17967 /* 48564 */ GIR_Done,
17968 /* 48565 */ // Label 1468: @48565
17969 /* 48565 */ GIM_Reject,
17970 /* 48566 */ // Label 1466: @48566
17971 /* 48566 */ GIM_Reject,
17972 /* 48567 */ // Label 1408: @48567
17973 /* 48567 */ GIM_Try, /*On fail goto*//*Label 1469*/ GIMT_Encode4(48653),
17974 /* 48572 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
17975 /* 48575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17976 /* 48579 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1470*/ GIMT_Encode4(48630), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22360 //
17977 /* 48586 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17978 /* 48590 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17979 /* 48594 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17980 /* 48597 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17981 /* 48601 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17982 /* 48605 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17983 /* 48607 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17984 /* 48614 */ // (lrint:{ *:[v32i16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
17985 /* 48614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZrm),
17986 /* 48617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17987 /* 48619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17988 /* 48623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17989 /* 48628 */ GIR_RootConstrainSelectedInstOperands,
17990 /* 48629 */ // GIR_Coverage, 22360,
17991 /* 48629 */ GIR_EraseRootFromParent_Done,
17992 /* 48630 */ // Label 1470: @48630
17993 /* 48630 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1471*/ GIMT_Encode4(48652), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22359 //
17994 /* 48637 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17995 /* 48641 */ // (lrint:{ *:[v32i16] } VR512:{ *:[v32f16] }:$src) => (VCVTPH2WZrr:{ *:[v32i16] } VR512:{ *:[v32f16] }:$src)
17996 /* 48641 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZrr),
17997 /* 48646 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
17998 /* 48650 */ GIR_RootConstrainSelectedInstOperands,
17999 /* 48651 */ // GIR_Coverage, 22359,
18000 /* 48651 */ GIR_Done,
18001 /* 48652 */ // Label 1471: @48652
18002 /* 48652 */ GIM_Reject,
18003 /* 48653 */ // Label 1469: @48653
18004 /* 48653 */ GIM_Reject,
18005 /* 48654 */ // Label 1409: @48654
18006 /* 48654 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 1474*/ GIMT_Encode4(49092),
18007 /* 48665 */ /*GILLT_v4s32*//*Label 1472*/ GIMT_Encode4(48685), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18008 /* 48681 */ /*GILLT_v4s64*//*Label 1473*/ GIMT_Encode4(48929),
18009 /* 48685 */ // Label 1472: @48685
18010 /* 48685 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1475*/ GIMT_Encode4(48740), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 18137 //
18011 /* 48692 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18012 /* 48696 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18013 /* 48700 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18014 /* 48704 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18015 /* 48707 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18016 /* 48711 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18017 /* 48715 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18018 /* 48717 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18019 /* 48724 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18020 /* 48724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQrm),
18021 /* 48727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18022 /* 48729 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18023 /* 48733 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18024 /* 48738 */ GIR_RootConstrainSelectedInstOperands,
18025 /* 48739 */ // GIR_Coverage, 18137,
18026 /* 48739 */ GIR_EraseRootFromParent_Done,
18027 /* 48740 */ // Label 1475: @48740
18028 /* 48740 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1476*/ GIMT_Encode4(48795), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18143 //
18029 /* 48747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18030 /* 48751 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18031 /* 48755 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18032 /* 48759 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18033 /* 48762 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18034 /* 48766 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18035 /* 48770 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18036 /* 48772 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18037 /* 48779 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTPS2DQrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18038 /* 48779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTPS2DQrm),
18039 /* 48782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18040 /* 48784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18041 /* 48788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18042 /* 48793 */ GIR_RootConstrainSelectedInstOperands,
18043 /* 48794 */ // GIR_Coverage, 18143,
18044 /* 48794 */ GIR_EraseRootFromParent_Done,
18045 /* 48795 */ // Label 1476: @48795
18046 /* 48795 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1477*/ GIMT_Encode4(48850), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21505 //
18047 /* 48802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18048 /* 48806 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18049 /* 48810 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18050 /* 48814 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18051 /* 48817 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18052 /* 48821 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18053 /* 48825 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18054 /* 48827 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18055 /* 48834 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18056 /* 48834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ128rm),
18057 /* 48837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18058 /* 48839 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18059 /* 48843 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18060 /* 48848 */ GIR_RootConstrainSelectedInstOperands,
18061 /* 48849 */ // GIR_Coverage, 21505,
18062 /* 48849 */ GIR_EraseRootFromParent_Done,
18063 /* 48850 */ // Label 1477: @48850
18064 /* 48850 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1478*/ GIMT_Encode4(48876), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 18136 //
18065 /* 48857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18066 /* 48861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18067 /* 48865 */ // (lrint:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src) => (VCVTPS2DQrr:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src)
18068 /* 48865 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQrr),
18069 /* 48870 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18070 /* 48874 */ GIR_RootConstrainSelectedInstOperands,
18071 /* 48875 */ // GIR_Coverage, 18136,
18072 /* 48875 */ GIR_Done,
18073 /* 48876 */ // Label 1478: @48876
18074 /* 48876 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1479*/ GIMT_Encode4(48902), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18142 //
18075 /* 48883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18076 /* 48887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18077 /* 48891 */ // (lrint:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src) => (CVTPS2DQrr:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src)
18078 /* 48891 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTPS2DQrr),
18079 /* 48896 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18080 /* 48900 */ GIR_RootConstrainSelectedInstOperands,
18081 /* 48901 */ // GIR_Coverage, 18142,
18082 /* 48901 */ GIR_Done,
18083 /* 48902 */ // Label 1479: @48902
18084 /* 48902 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1480*/ GIMT_Encode4(48928), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21504 //
18085 /* 48909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18086 /* 48913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18087 /* 48917 */ // (lrint:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2DQZ128rr:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src)
18088 /* 48917 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ128rr),
18089 /* 48922 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18090 /* 48926 */ GIR_RootConstrainSelectedInstOperands,
18091 /* 48927 */ // GIR_Coverage, 21504,
18092 /* 48927 */ GIR_Done,
18093 /* 48928 */ // Label 1480: @48928
18094 /* 48928 */ GIM_Reject,
18095 /* 48929 */ // Label 1473: @48929
18096 /* 48929 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1481*/ GIMT_Encode4(48984), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 18141 //
18097 /* 48936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18098 /* 48940 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18099 /* 48944 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18100 /* 48948 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18101 /* 48951 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18102 /* 48955 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18103 /* 48959 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18104 /* 48961 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18105 /* 48968 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQYrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18106 /* 48968 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQYrm),
18107 /* 48971 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18108 /* 48973 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18109 /* 48977 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18110 /* 48982 */ GIR_RootConstrainSelectedInstOperands,
18111 /* 48983 */ // GIR_Coverage, 18141,
18112 /* 48983 */ GIR_EraseRootFromParent_Done,
18113 /* 48984 */ // Label 1481: @48984
18114 /* 48984 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1482*/ GIMT_Encode4(49039), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21509 //
18115 /* 48991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18116 /* 48995 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18117 /* 48999 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18118 /* 49003 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18119 /* 49006 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18120 /* 49010 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18121 /* 49014 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18122 /* 49016 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18123 /* 49023 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQZ256rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18124 /* 49023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZ256rm),
18125 /* 49026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18126 /* 49028 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18127 /* 49032 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18128 /* 49037 */ GIR_RootConstrainSelectedInstOperands,
18129 /* 49038 */ // GIR_Coverage, 21509,
18130 /* 49038 */ GIR_EraseRootFromParent_Done,
18131 /* 49039 */ // Label 1482: @49039
18132 /* 49039 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1483*/ GIMT_Encode4(49065), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 18140 //
18133 /* 49046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18134 /* 49050 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18135 /* 49054 */ // (lrint:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src) => (VCVTPD2DQYrr:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src)
18136 /* 49054 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQYrr),
18137 /* 49059 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18138 /* 49063 */ GIR_RootConstrainSelectedInstOperands,
18139 /* 49064 */ // GIR_Coverage, 18140,
18140 /* 49064 */ GIR_Done,
18141 /* 49065 */ // Label 1483: @49065
18142 /* 49065 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1484*/ GIMT_Encode4(49091), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21508 //
18143 /* 49072 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18144 /* 49076 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18145 /* 49080 */ // (lrint:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2DQZ256rr:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src)
18146 /* 49080 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZ256rr),
18147 /* 49085 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18148 /* 49089 */ GIR_RootConstrainSelectedInstOperands,
18149 /* 49090 */ // GIR_Coverage, 21508,
18150 /* 49090 */ GIR_Done,
18151 /* 49091 */ // Label 1484: @49091
18152 /* 49091 */ GIM_Reject,
18153 /* 49092 */ // Label 1474: @49092
18154 /* 49092 */ GIM_Reject,
18155 /* 49093 */ // Label 1410: @49093
18156 /* 49093 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(16), GIMT_Encode2(25), /*)*//*default:*//*Label 1488*/ GIMT_Encode4(49467),
18157 /* 49104 */ /*GILLT_v8s16*//*Label 1485*/ GIMT_Encode4(49140), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18158 /* 49120 */ /*GILLT_v8s32*//*Label 1486*/ GIMT_Encode4(49224), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18159 /* 49136 */ /*GILLT_v8s64*//*Label 1487*/ GIMT_Encode4(49387),
18160 /* 49140 */ // Label 1485: @49140
18161 /* 49140 */ GIM_Try, /*On fail goto*//*Label 1489*/ GIMT_Encode4(49223),
18162 /* 49145 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18163 /* 49149 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1490*/ GIMT_Encode4(49200), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 22358 //
18164 /* 49156 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18165 /* 49160 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18166 /* 49164 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18167 /* 49167 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18168 /* 49171 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18169 /* 49175 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18170 /* 49177 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18171 /* 49184 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2DQZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18172 /* 49184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZ256rm),
18173 /* 49187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18174 /* 49189 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18175 /* 49193 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18176 /* 49198 */ GIR_RootConstrainSelectedInstOperands,
18177 /* 49199 */ // GIR_Coverage, 22358,
18178 /* 49199 */ GIR_EraseRootFromParent_Done,
18179 /* 49200 */ // Label 1490: @49200
18180 /* 49200 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1491*/ GIMT_Encode4(49222), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 22357 //
18181 /* 49207 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18182 /* 49211 */ // (lrint:{ *:[v8i32] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2DQZ256rr:{ *:[v8i32] } VR128X:{ *:[v8f16] }:$src)
18183 /* 49211 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZ256rr),
18184 /* 49216 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18185 /* 49220 */ GIR_RootConstrainSelectedInstOperands,
18186 /* 49221 */ // GIR_Coverage, 22357,
18187 /* 49221 */ GIR_Done,
18188 /* 49222 */ // Label 1491: @49222
18189 /* 49222 */ GIM_Reject,
18190 /* 49223 */ // Label 1489: @49223
18191 /* 49223 */ GIM_Reject,
18192 /* 49224 */ // Label 1486: @49224
18193 /* 49224 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1492*/ GIMT_Encode4(49279), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 18139 //
18194 /* 49231 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18195 /* 49235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18196 /* 49239 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18197 /* 49243 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18198 /* 49246 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18199 /* 49250 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18200 /* 49254 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18201 /* 49256 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18202 /* 49263 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18203 /* 49263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQYrm),
18204 /* 49266 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18205 /* 49268 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18206 /* 49272 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18207 /* 49277 */ GIR_RootConstrainSelectedInstOperands,
18208 /* 49278 */ // GIR_Coverage, 18139,
18209 /* 49278 */ GIR_EraseRootFromParent_Done,
18210 /* 49279 */ // Label 1492: @49279
18211 /* 49279 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1493*/ GIMT_Encode4(49334), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21507 //
18212 /* 49286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18213 /* 49290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18214 /* 49294 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18215 /* 49298 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18216 /* 49301 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18217 /* 49305 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18218 /* 49309 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18219 /* 49311 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18220 /* 49318 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18221 /* 49318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ256rm),
18222 /* 49321 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18223 /* 49323 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18224 /* 49327 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18225 /* 49332 */ GIR_RootConstrainSelectedInstOperands,
18226 /* 49333 */ // GIR_Coverage, 21507,
18227 /* 49333 */ GIR_EraseRootFromParent_Done,
18228 /* 49334 */ // Label 1493: @49334
18229 /* 49334 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1494*/ GIMT_Encode4(49360), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 18138 //
18230 /* 49341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18231 /* 49345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18232 /* 49349 */ // (lrint:{ *:[v8i32] } VR256:{ *:[v8f32] }:$src) => (VCVTPS2DQYrr:{ *:[v8i32] } VR256:{ *:[v8f32] }:$src)
18233 /* 49349 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQYrr),
18234 /* 49354 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18235 /* 49358 */ GIR_RootConstrainSelectedInstOperands,
18236 /* 49359 */ // GIR_Coverage, 18138,
18237 /* 49359 */ GIR_Done,
18238 /* 49360 */ // Label 1494: @49360
18239 /* 49360 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1495*/ GIMT_Encode4(49386), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21506 //
18240 /* 49367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18241 /* 49371 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18242 /* 49375 */ // (lrint:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2DQZ256rr:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src)
18243 /* 49375 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ256rr),
18244 /* 49380 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18245 /* 49384 */ GIR_RootConstrainSelectedInstOperands,
18246 /* 49385 */ // GIR_Coverage, 21506,
18247 /* 49385 */ GIR_Done,
18248 /* 49386 */ // Label 1495: @49386
18249 /* 49386 */ GIM_Reject,
18250 /* 49387 */ // Label 1487: @49387
18251 /* 49387 */ GIM_Try, /*On fail goto*//*Label 1496*/ GIMT_Encode4(49466),
18252 /* 49392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18253 /* 49396 */ GIM_Try, /*On fail goto*//*Label 1497*/ GIMT_Encode4(49445), // Rule ID 21513 //
18254 /* 49401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18255 /* 49405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18256 /* 49409 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18257 /* 49412 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18258 /* 49416 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18259 /* 49420 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18260 /* 49422 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18261 /* 49429 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQZrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18262 /* 49429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZrm),
18263 /* 49432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18264 /* 49434 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18265 /* 49438 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18266 /* 49443 */ GIR_RootConstrainSelectedInstOperands,
18267 /* 49444 */ // GIR_Coverage, 21513,
18268 /* 49444 */ GIR_EraseRootFromParent_Done,
18269 /* 49445 */ // Label 1497: @49445
18270 /* 49445 */ GIM_Try, /*On fail goto*//*Label 1498*/ GIMT_Encode4(49465), // Rule ID 21512 //
18271 /* 49450 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18272 /* 49454 */ // (lrint:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2DQZrr:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src)
18273 /* 49454 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZrr),
18274 /* 49459 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18275 /* 49463 */ GIR_RootConstrainSelectedInstOperands,
18276 /* 49464 */ // GIR_Coverage, 21512,
18277 /* 49464 */ GIR_Done,
18278 /* 49465 */ // Label 1498: @49465
18279 /* 49465 */ GIM_Reject,
18280 /* 49466 */ // Label 1496: @49466
18281 /* 49466 */ GIM_Reject,
18282 /* 49467 */ // Label 1488: @49467
18283 /* 49467 */ GIM_Reject,
18284 /* 49468 */ // Label 1411: @49468
18285 /* 49468 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(17), GIMT_Encode2(22), /*)*//*default:*//*Label 1501*/ GIMT_Encode4(49663),
18286 /* 49479 */ /*GILLT_v16s16*//*Label 1499*/ GIMT_Encode4(49499), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18287 /* 49495 */ /*GILLT_v16s32*//*Label 1500*/ GIMT_Encode4(49583),
18288 /* 49499 */ // Label 1499: @49499
18289 /* 49499 */ GIM_Try, /*On fail goto*//*Label 1502*/ GIMT_Encode4(49582),
18290 /* 49504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18291 /* 49508 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1503*/ GIMT_Encode4(49559), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22362 //
18292 /* 49515 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18293 /* 49519 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18294 /* 49523 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18295 /* 49526 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18296 /* 49530 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18297 /* 49534 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18298 /* 49536 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18299 /* 49543 */ // (lrint:{ *:[v16i32] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2DQZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
18300 /* 49543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZrm),
18301 /* 49546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18302 /* 49548 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18303 /* 49552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18304 /* 49557 */ GIR_RootConstrainSelectedInstOperands,
18305 /* 49558 */ // GIR_Coverage, 22362,
18306 /* 49558 */ GIR_EraseRootFromParent_Done,
18307 /* 49559 */ // Label 1503: @49559
18308 /* 49559 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1504*/ GIMT_Encode4(49581), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22361 //
18309 /* 49566 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18310 /* 49570 */ // (lrint:{ *:[v16i32] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2DQZrr:{ *:[v16i32] } VR256X:{ *:[v16f16] }:$src)
18311 /* 49570 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZrr),
18312 /* 49575 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18313 /* 49579 */ GIR_RootConstrainSelectedInstOperands,
18314 /* 49580 */ // GIR_Coverage, 22361,
18315 /* 49580 */ GIR_Done,
18316 /* 49581 */ // Label 1504: @49581
18317 /* 49581 */ GIM_Reject,
18318 /* 49582 */ // Label 1502: @49582
18319 /* 49582 */ GIM_Reject,
18320 /* 49583 */ // Label 1500: @49583
18321 /* 49583 */ GIM_Try, /*On fail goto*//*Label 1505*/ GIMT_Encode4(49662),
18322 /* 49588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18323 /* 49592 */ GIM_Try, /*On fail goto*//*Label 1506*/ GIMT_Encode4(49641), // Rule ID 21511 //
18324 /* 49597 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18325 /* 49601 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18326 /* 49605 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18327 /* 49608 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18328 /* 49612 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18329 /* 49616 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18330 /* 49618 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18331 /* 49625 */ // (lrint:{ *:[v16i32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
18332 /* 49625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZrm),
18333 /* 49628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18334 /* 49630 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18335 /* 49634 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18336 /* 49639 */ GIR_RootConstrainSelectedInstOperands,
18337 /* 49640 */ // GIR_Coverage, 21511,
18338 /* 49640 */ GIR_EraseRootFromParent_Done,
18339 /* 49641 */ // Label 1506: @49641
18340 /* 49641 */ GIM_Try, /*On fail goto*//*Label 1507*/ GIMT_Encode4(49661), // Rule ID 21510 //
18341 /* 49646 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18342 /* 49650 */ // (lrint:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src) => (VCVTPS2DQZrr:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src)
18343 /* 49650 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZrr),
18344 /* 49655 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18345 /* 49659 */ GIR_RootConstrainSelectedInstOperands,
18346 /* 49660 */ // GIR_Coverage, 21510,
18347 /* 49660 */ GIR_Done,
18348 /* 49661 */ // Label 1507: @49661
18349 /* 49661 */ GIM_Reject,
18350 /* 49662 */ // Label 1505: @49662
18351 /* 49662 */ GIM_Reject,
18352 /* 49663 */ // Label 1501: @49663
18353 /* 49663 */ GIM_Reject,
18354 /* 49664 */ // Label 1412: @49664
18355 /* 49664 */ GIM_Try, /*On fail goto*//*Label 1508*/ GIMT_Encode4(49750),
18356 /* 49669 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
18357 /* 49672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18358 /* 49676 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1509*/ GIMT_Encode4(49727), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21533 //
18359 /* 49683 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18360 /* 49687 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18361 /* 49691 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18362 /* 49694 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18363 /* 49698 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18364 /* 49702 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18365 /* 49704 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18366 /* 49711 */ // (lrint:{ *:[v2i64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
18367 /* 49711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rm),
18368 /* 49714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18369 /* 49716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18370 /* 49720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18371 /* 49725 */ GIR_RootConstrainSelectedInstOperands,
18372 /* 49726 */ // GIR_Coverage, 21533,
18373 /* 49726 */ GIR_EraseRootFromParent_Done,
18374 /* 49727 */ // Label 1509: @49727
18375 /* 49727 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1510*/ GIMT_Encode4(49749), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21532 //
18376 /* 49734 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18377 /* 49738 */ // (lrint:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src) => (VCVTPD2QQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src)
18378 /* 49738 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rr),
18379 /* 49743 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18380 /* 49747 */ GIR_RootConstrainSelectedInstOperands,
18381 /* 49748 */ // GIR_Coverage, 21532,
18382 /* 49748 */ GIR_Done,
18383 /* 49749 */ // Label 1510: @49749
18384 /* 49749 */ GIM_Reject,
18385 /* 49750 */ // Label 1508: @49750
18386 /* 49750 */ GIM_Reject,
18387 /* 49751 */ // Label 1413: @49751
18388 /* 49751 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 1513*/ GIMT_Encode4(49950),
18389 /* 49762 */ /*GILLT_v4s32*//*Label 1511*/ GIMT_Encode4(49782), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18390 /* 49778 */ /*GILLT_v4s64*//*Label 1512*/ GIMT_Encode4(49866),
18391 /* 49782 */ // Label 1511: @49782
18392 /* 49782 */ GIM_Try, /*On fail goto*//*Label 1514*/ GIMT_Encode4(49865),
18393 /* 49787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18394 /* 49791 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1515*/ GIMT_Encode4(49842), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21529 //
18395 /* 49798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18396 /* 49802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18397 /* 49806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18398 /* 49809 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18399 /* 49813 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18400 /* 49817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18401 /* 49819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18402 /* 49826 */ // (lrint:{ *:[v4i64] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
18403 /* 49826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rm),
18404 /* 49829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18405 /* 49831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18406 /* 49835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18407 /* 49840 */ GIR_RootConstrainSelectedInstOperands,
18408 /* 49841 */ // GIR_Coverage, 21529,
18409 /* 49841 */ GIR_EraseRootFromParent_Done,
18410 /* 49842 */ // Label 1515: @49842
18411 /* 49842 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1516*/ GIMT_Encode4(49864), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21528 //
18412 /* 49849 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18413 /* 49853 */ // (lrint:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2QQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src)
18414 /* 49853 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rr),
18415 /* 49858 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18416 /* 49862 */ GIR_RootConstrainSelectedInstOperands,
18417 /* 49863 */ // GIR_Coverage, 21528,
18418 /* 49863 */ GIR_Done,
18419 /* 49864 */ // Label 1516: @49864
18420 /* 49864 */ GIM_Reject,
18421 /* 49865 */ // Label 1514: @49865
18422 /* 49865 */ GIM_Reject,
18423 /* 49866 */ // Label 1512: @49866
18424 /* 49866 */ GIM_Try, /*On fail goto*//*Label 1517*/ GIMT_Encode4(49949),
18425 /* 49871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18426 /* 49875 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1518*/ GIMT_Encode4(49926), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21535 //
18427 /* 49882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18428 /* 49886 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18429 /* 49890 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18430 /* 49893 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18431 /* 49897 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18432 /* 49901 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18433 /* 49903 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18434 /* 49910 */ // (lrint:{ *:[v4i64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
18435 /* 49910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rm),
18436 /* 49913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18437 /* 49915 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18438 /* 49919 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18439 /* 49924 */ GIR_RootConstrainSelectedInstOperands,
18440 /* 49925 */ // GIR_Coverage, 21535,
18441 /* 49925 */ GIR_EraseRootFromParent_Done,
18442 /* 49926 */ // Label 1518: @49926
18443 /* 49926 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1519*/ GIMT_Encode4(49948), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21534 //
18444 /* 49933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18445 /* 49937 */ // (lrint:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2QQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src)
18446 /* 49937 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rr),
18447 /* 49942 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18448 /* 49946 */ GIR_RootConstrainSelectedInstOperands,
18449 /* 49947 */ // GIR_Coverage, 21534,
18450 /* 49947 */ GIR_Done,
18451 /* 49948 */ // Label 1519: @49948
18452 /* 49948 */ GIM_Reject,
18453 /* 49949 */ // Label 1517: @49949
18454 /* 49949 */ GIM_Reject,
18455 /* 49950 */ // Label 1513: @49950
18456 /* 49950 */ GIM_Reject,
18457 /* 49951 */ // Label 1414: @49951
18458 /* 49951 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(16), GIMT_Encode2(25), /*)*//*default:*//*Label 1523*/ GIMT_Encode4(50250),
18459 /* 49962 */ /*GILLT_v8s16*//*Label 1520*/ GIMT_Encode4(49998), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18460 /* 49978 */ /*GILLT_v8s32*//*Label 1521*/ GIMT_Encode4(50082), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18461 /* 49994 */ /*GILLT_v8s64*//*Label 1522*/ GIMT_Encode4(50166),
18462 /* 49998 */ // Label 1520: @49998
18463 /* 49998 */ GIM_Try, /*On fail goto*//*Label 1524*/ GIMT_Encode4(50081),
18464 /* 50003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18465 /* 50007 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1525*/ GIMT_Encode4(50058), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22364 //
18466 /* 50014 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18467 /* 50018 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18468 /* 50022 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18469 /* 50025 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18470 /* 50029 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18471 /* 50033 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18472 /* 50035 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18473 /* 50042 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
18474 /* 50042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrm),
18475 /* 50045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18476 /* 50047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18477 /* 50051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18478 /* 50056 */ GIR_RootConstrainSelectedInstOperands,
18479 /* 50057 */ // GIR_Coverage, 22364,
18480 /* 50057 */ GIR_EraseRootFromParent_Done,
18481 /* 50058 */ // Label 1525: @50058
18482 /* 50058 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1526*/ GIMT_Encode4(50080), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22363 //
18483 /* 50065 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18484 /* 50069 */ // (lrint:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2QQZrr:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src)
18485 /* 50069 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrr),
18486 /* 50074 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18487 /* 50078 */ GIR_RootConstrainSelectedInstOperands,
18488 /* 50079 */ // GIR_Coverage, 22363,
18489 /* 50079 */ GIR_Done,
18490 /* 50080 */ // Label 1526: @50080
18491 /* 50080 */ GIM_Reject,
18492 /* 50081 */ // Label 1524: @50081
18493 /* 50081 */ GIM_Reject,
18494 /* 50082 */ // Label 1521: @50082
18495 /* 50082 */ GIM_Try, /*On fail goto*//*Label 1527*/ GIMT_Encode4(50165),
18496 /* 50087 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18497 /* 50091 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1528*/ GIMT_Encode4(50142), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 21541 //
18498 /* 50098 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18499 /* 50102 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18500 /* 50106 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18501 /* 50109 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18502 /* 50113 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18503 /* 50117 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18504 /* 50119 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18505 /* 50126 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
18506 /* 50126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrm),
18507 /* 50129 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18508 /* 50131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18509 /* 50135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18510 /* 50140 */ GIR_RootConstrainSelectedInstOperands,
18511 /* 50141 */ // GIR_Coverage, 21541,
18512 /* 50141 */ GIR_EraseRootFromParent_Done,
18513 /* 50142 */ // Label 1528: @50142
18514 /* 50142 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1529*/ GIMT_Encode4(50164), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 21540 //
18515 /* 50149 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18516 /* 50153 */ // (lrint:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2QQZrr:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src)
18517 /* 50153 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrr),
18518 /* 50158 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18519 /* 50162 */ GIR_RootConstrainSelectedInstOperands,
18520 /* 50163 */ // GIR_Coverage, 21540,
18521 /* 50163 */ GIR_Done,
18522 /* 50164 */ // Label 1529: @50164
18523 /* 50164 */ GIM_Reject,
18524 /* 50165 */ // Label 1527: @50165
18525 /* 50165 */ GIM_Reject,
18526 /* 50166 */ // Label 1522: @50166
18527 /* 50166 */ GIM_Try, /*On fail goto*//*Label 1530*/ GIMT_Encode4(50249),
18528 /* 50171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18529 /* 50175 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1531*/ GIMT_Encode4(50226), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 21545 //
18530 /* 50182 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18531 /* 50186 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18532 /* 50190 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18533 /* 50193 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18534 /* 50197 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18535 /* 50201 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18536 /* 50203 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18537 /* 50210 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
18538 /* 50210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrm),
18539 /* 50213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18540 /* 50215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18541 /* 50219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18542 /* 50224 */ GIR_RootConstrainSelectedInstOperands,
18543 /* 50225 */ // GIR_Coverage, 21545,
18544 /* 50225 */ GIR_EraseRootFromParent_Done,
18545 /* 50226 */ // Label 1531: @50226
18546 /* 50226 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1532*/ GIMT_Encode4(50248), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 21544 //
18547 /* 50233 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18548 /* 50237 */ // (lrint:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2QQZrr:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src)
18549 /* 50237 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrr),
18550 /* 50242 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18551 /* 50246 */ GIR_RootConstrainSelectedInstOperands,
18552 /* 50247 */ // GIR_Coverage, 21544,
18553 /* 50247 */ GIR_Done,
18554 /* 50248 */ // Label 1532: @50248
18555 /* 50248 */ GIM_Reject,
18556 /* 50249 */ // Label 1530: @50249
18557 /* 50249 */ GIM_Reject,
18558 /* 50250 */ // Label 1523: @50250
18559 /* 50250 */ GIM_Reject,
18560 /* 50251 */ // Label 1415: @50251
18561 /* 50251 */ GIM_Reject,
18562 /* 50252 */ // Label 10: @50252
18563 /* 50252 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(25), /*)*//*default:*//*Label 1537*/ GIMT_Encode4(51506),
18564 /* 50263 */ /*GILLT_s64*//*Label 1533*/ GIMT_Encode4(50347), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18565 /* 50335 */ /*GILLT_v2s64*//*Label 1534*/ GIMT_Encode4(50919),
18566 /* 50339 */ /*GILLT_v4s64*//*Label 1535*/ GIMT_Encode4(51006),
18567 /* 50343 */ /*GILLT_v8s64*//*Label 1536*/ GIMT_Encode4(51206),
18568 /* 50347 */ // Label 1533: @50347
18569 /* 50347 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 1541*/ GIMT_Encode4(50918),
18570 /* 50358 */ /*GILLT_s16*//*Label 1538*/ GIMT_Encode4(50370),
18571 /* 50362 */ /*GILLT_s32*//*Label 1539*/ GIMT_Encode4(50454),
18572 /* 50366 */ /*GILLT_s64*//*Label 1540*/ GIMT_Encode4(50686),
18573 /* 50370 */ // Label 1538: @50370
18574 /* 50370 */ GIM_Try, /*On fail goto*//*Label 1542*/ GIMT_Encode4(50453),
18575 /* 50375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18576 /* 50379 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1543*/ GIMT_Encode4(50430), GIMT_Encode2(GIFBS_HasFP16_In64BitMode), // Rule ID 22373 //
18577 /* 50386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18578 /* 50390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18579 /* 50394 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18580 /* 50397 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18581 /* 50401 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18582 /* 50405 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18583 /* 50407 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18584 /* 50414 */ // (llrint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18585 /* 50414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
18586 /* 50417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18587 /* 50419 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18588 /* 50423 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18589 /* 50428 */ GIR_RootConstrainSelectedInstOperands,
18590 /* 50429 */ // GIR_Coverage, 22373,
18591 /* 50429 */ GIR_EraseRootFromParent_Done,
18592 /* 50430 */ // Label 1543: @50430
18593 /* 50430 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1544*/ GIMT_Encode4(50452), GIMT_Encode2(GIFBS_HasFP16_In64BitMode), // Rule ID 22372 //
18594 /* 50437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
18595 /* 50441 */ // (llrint:{ *:[i64] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16:{ *:[f16] }:$src)
18596 /* 50441 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
18597 /* 50446 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18598 /* 50450 */ GIR_RootConstrainSelectedInstOperands,
18599 /* 50451 */ // GIR_Coverage, 22372,
18600 /* 50451 */ GIR_Done,
18601 /* 50452 */ // Label 1544: @50452
18602 /* 50452 */ GIM_Reject,
18603 /* 50453 */ // Label 1542: @50453
18604 /* 50453 */ GIM_Reject,
18605 /* 50454 */ // Label 1539: @50454
18606 /* 50454 */ GIM_Try, /*On fail goto*//*Label 1545*/ GIMT_Encode4(50685),
18607 /* 50459 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18608 /* 50463 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1546*/ GIMT_Encode4(50514), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1739 //
18609 /* 50470 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18610 /* 50474 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18611 /* 50478 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18612 /* 50481 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18613 /* 50485 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18614 /* 50489 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18615 /* 50491 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18616 /* 50498 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18617 /* 50498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rm),
18618 /* 50501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18619 /* 50503 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18620 /* 50507 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18621 /* 50512 */ GIR_RootConstrainSelectedInstOperands,
18622 /* 50513 */ // GIR_Coverage, 1739,
18623 /* 50513 */ GIR_EraseRootFromParent_Done,
18624 /* 50514 */ // Label 1546: @50514
18625 /* 50514 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1547*/ GIMT_Encode4(50565), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1763 //
18626 /* 50521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18627 /* 50525 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18628 /* 50529 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18629 /* 50532 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18630 /* 50536 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18631 /* 50540 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18632 /* 50542 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18633 /* 50549 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18634 /* 50549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rm),
18635 /* 50552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18636 /* 50554 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18637 /* 50558 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18638 /* 50563 */ GIR_RootConstrainSelectedInstOperands,
18639 /* 50564 */ // GIR_Coverage, 1763,
18640 /* 50564 */ GIR_EraseRootFromParent_Done,
18641 /* 50565 */ // Label 1547: @50565
18642 /* 50565 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1548*/ GIMT_Encode4(50616), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10356 //
18643 /* 50572 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18644 /* 50576 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18645 /* 50580 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18646 /* 50583 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18647 /* 50587 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18648 /* 50591 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18649 /* 50593 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18650 /* 50600 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18651 /* 50600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrm),
18652 /* 50603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18653 /* 50605 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18654 /* 50609 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18655 /* 50614 */ GIR_RootConstrainSelectedInstOperands,
18656 /* 50615 */ // GIR_Coverage, 10356,
18657 /* 50615 */ GIR_EraseRootFromParent_Done,
18658 /* 50616 */ // Label 1548: @50616
18659 /* 50616 */ GIM_Try, /*On fail goto*//*Label 1549*/ GIMT_Encode4(50662),
18660 /* 50621 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18661 /* 50625 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1550*/ GIMT_Encode4(50643), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1738 //
18662 /* 50632 */ // (llrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
18663 /* 50632 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rr),
18664 /* 50637 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18665 /* 50641 */ GIR_RootConstrainSelectedInstOperands,
18666 /* 50642 */ // GIR_Coverage, 1738,
18667 /* 50642 */ GIR_Done,
18668 /* 50643 */ // Label 1550: @50643
18669 /* 50643 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1551*/ GIMT_Encode4(50661), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1762 //
18670 /* 50650 */ // (llrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
18671 /* 50650 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rr),
18672 /* 50655 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18673 /* 50659 */ GIR_RootConstrainSelectedInstOperands,
18674 /* 50660 */ // GIR_Coverage, 1762,
18675 /* 50660 */ GIR_Done,
18676 /* 50661 */ // Label 1551: @50661
18677 /* 50661 */ GIM_Reject,
18678 /* 50662 */ // Label 1549: @50662
18679 /* 50662 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1552*/ GIMT_Encode4(50684), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10355 //
18680 /* 50669 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
18681 /* 50673 */ // (llrint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
18682 /* 50673 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrr),
18683 /* 50678 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18684 /* 50682 */ GIR_RootConstrainSelectedInstOperands,
18685 /* 50683 */ // GIR_Coverage, 10355,
18686 /* 50683 */ GIR_Done,
18687 /* 50684 */ // Label 1552: @50684
18688 /* 50684 */ GIM_Reject,
18689 /* 50685 */ // Label 1545: @50685
18690 /* 50685 */ GIM_Reject,
18691 /* 50686 */ // Label 1540: @50686
18692 /* 50686 */ GIM_Try, /*On fail goto*//*Label 1553*/ GIMT_Encode4(50917),
18693 /* 50691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18694 /* 50695 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1554*/ GIMT_Encode4(50746), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1743 //
18695 /* 50702 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18696 /* 50706 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18697 /* 50710 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18698 /* 50713 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18699 /* 50717 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18700 /* 50721 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18701 /* 50723 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18702 /* 50730 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18703 /* 50730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rm),
18704 /* 50733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18705 /* 50735 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18706 /* 50739 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18707 /* 50744 */ GIR_RootConstrainSelectedInstOperands,
18708 /* 50745 */ // GIR_Coverage, 1743,
18709 /* 50745 */ GIR_EraseRootFromParent_Done,
18710 /* 50746 */ // Label 1554: @50746
18711 /* 50746 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1555*/ GIMT_Encode4(50797), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1767 //
18712 /* 50753 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18713 /* 50757 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18714 /* 50761 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18715 /* 50764 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18716 /* 50768 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18717 /* 50772 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18718 /* 50774 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18719 /* 50781 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18720 /* 50781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rm),
18721 /* 50784 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18722 /* 50786 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18723 /* 50790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18724 /* 50795 */ GIR_RootConstrainSelectedInstOperands,
18725 /* 50796 */ // GIR_Coverage, 1767,
18726 /* 50796 */ GIR_EraseRootFromParent_Done,
18727 /* 50797 */ // Label 1555: @50797
18728 /* 50797 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1556*/ GIMT_Encode4(50848), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10360 //
18729 /* 50804 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18730 /* 50808 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18731 /* 50812 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18732 /* 50815 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18733 /* 50819 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18734 /* 50823 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18735 /* 50825 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18736 /* 50832 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18737 /* 50832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrm),
18738 /* 50835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18739 /* 50837 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18740 /* 50841 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18741 /* 50846 */ GIR_RootConstrainSelectedInstOperands,
18742 /* 50847 */ // GIR_Coverage, 10360,
18743 /* 50847 */ GIR_EraseRootFromParent_Done,
18744 /* 50848 */ // Label 1556: @50848
18745 /* 50848 */ GIM_Try, /*On fail goto*//*Label 1557*/ GIMT_Encode4(50894),
18746 /* 50853 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18747 /* 50857 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1558*/ GIMT_Encode4(50875), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1742 //
18748 /* 50864 */ // (llrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
18749 /* 50864 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rr),
18750 /* 50869 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18751 /* 50873 */ GIR_RootConstrainSelectedInstOperands,
18752 /* 50874 */ // GIR_Coverage, 1742,
18753 /* 50874 */ GIR_Done,
18754 /* 50875 */ // Label 1558: @50875
18755 /* 50875 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1559*/ GIMT_Encode4(50893), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1766 //
18756 /* 50882 */ // (llrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
18757 /* 50882 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rr),
18758 /* 50887 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18759 /* 50891 */ GIR_RootConstrainSelectedInstOperands,
18760 /* 50892 */ // GIR_Coverage, 1766,
18761 /* 50892 */ GIR_Done,
18762 /* 50893 */ // Label 1559: @50893
18763 /* 50893 */ GIM_Reject,
18764 /* 50894 */ // Label 1557: @50894
18765 /* 50894 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1560*/ GIMT_Encode4(50916), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10359 //
18766 /* 50901 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
18767 /* 50905 */ // (llrint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
18768 /* 50905 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrr),
18769 /* 50910 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18770 /* 50914 */ GIR_RootConstrainSelectedInstOperands,
18771 /* 50915 */ // GIR_Coverage, 10359,
18772 /* 50915 */ GIR_Done,
18773 /* 50916 */ // Label 1560: @50916
18774 /* 50916 */ GIM_Reject,
18775 /* 50917 */ // Label 1553: @50917
18776 /* 50917 */ GIM_Reject,
18777 /* 50918 */ // Label 1541: @50918
18778 /* 50918 */ GIM_Reject,
18779 /* 50919 */ // Label 1534: @50919
18780 /* 50919 */ GIM_Try, /*On fail goto*//*Label 1561*/ GIMT_Encode4(51005),
18781 /* 50924 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
18782 /* 50927 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18783 /* 50931 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1562*/ GIMT_Encode4(50982), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21537 //
18784 /* 50938 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18785 /* 50942 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18786 /* 50946 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18787 /* 50949 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18788 /* 50953 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18789 /* 50957 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18790 /* 50959 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18791 /* 50966 */ // (llrint:{ *:[v2i64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
18792 /* 50966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rm),
18793 /* 50969 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18794 /* 50971 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18795 /* 50975 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18796 /* 50980 */ GIR_RootConstrainSelectedInstOperands,
18797 /* 50981 */ // GIR_Coverage, 21537,
18798 /* 50981 */ GIR_EraseRootFromParent_Done,
18799 /* 50982 */ // Label 1562: @50982
18800 /* 50982 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1563*/ GIMT_Encode4(51004), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21536 //
18801 /* 50989 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18802 /* 50993 */ // (llrint:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src) => (VCVTPD2QQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src)
18803 /* 50993 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rr),
18804 /* 50998 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18805 /* 51002 */ GIR_RootConstrainSelectedInstOperands,
18806 /* 51003 */ // GIR_Coverage, 21536,
18807 /* 51003 */ GIR_Done,
18808 /* 51004 */ // Label 1563: @51004
18809 /* 51004 */ GIM_Reject,
18810 /* 51005 */ // Label 1561: @51005
18811 /* 51005 */ GIM_Reject,
18812 /* 51006 */ // Label 1535: @51006
18813 /* 51006 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 1566*/ GIMT_Encode4(51205),
18814 /* 51017 */ /*GILLT_v4s32*//*Label 1564*/ GIMT_Encode4(51037), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18815 /* 51033 */ /*GILLT_v4s64*//*Label 1565*/ GIMT_Encode4(51121),
18816 /* 51037 */ // Label 1564: @51037
18817 /* 51037 */ GIM_Try, /*On fail goto*//*Label 1567*/ GIMT_Encode4(51120),
18818 /* 51042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18819 /* 51046 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1568*/ GIMT_Encode4(51097), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21531 //
18820 /* 51053 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18821 /* 51057 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18822 /* 51061 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18823 /* 51064 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18824 /* 51068 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18825 /* 51072 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18826 /* 51074 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18827 /* 51081 */ // (llrint:{ *:[v4i64] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
18828 /* 51081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rm),
18829 /* 51084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18830 /* 51086 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18831 /* 51090 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18832 /* 51095 */ GIR_RootConstrainSelectedInstOperands,
18833 /* 51096 */ // GIR_Coverage, 21531,
18834 /* 51096 */ GIR_EraseRootFromParent_Done,
18835 /* 51097 */ // Label 1568: @51097
18836 /* 51097 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1569*/ GIMT_Encode4(51119), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21530 //
18837 /* 51104 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18838 /* 51108 */ // (llrint:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2QQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src)
18839 /* 51108 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rr),
18840 /* 51113 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18841 /* 51117 */ GIR_RootConstrainSelectedInstOperands,
18842 /* 51118 */ // GIR_Coverage, 21530,
18843 /* 51118 */ GIR_Done,
18844 /* 51119 */ // Label 1569: @51119
18845 /* 51119 */ GIM_Reject,
18846 /* 51120 */ // Label 1567: @51120
18847 /* 51120 */ GIM_Reject,
18848 /* 51121 */ // Label 1565: @51121
18849 /* 51121 */ GIM_Try, /*On fail goto*//*Label 1570*/ GIMT_Encode4(51204),
18850 /* 51126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18851 /* 51130 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1571*/ GIMT_Encode4(51181), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21539 //
18852 /* 51137 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18853 /* 51141 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18854 /* 51145 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18855 /* 51148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18856 /* 51152 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18857 /* 51156 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18858 /* 51158 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18859 /* 51165 */ // (llrint:{ *:[v4i64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
18860 /* 51165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rm),
18861 /* 51168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18862 /* 51170 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18863 /* 51174 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18864 /* 51179 */ GIR_RootConstrainSelectedInstOperands,
18865 /* 51180 */ // GIR_Coverage, 21539,
18866 /* 51180 */ GIR_EraseRootFromParent_Done,
18867 /* 51181 */ // Label 1571: @51181
18868 /* 51181 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1572*/ GIMT_Encode4(51203), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 21538 //
18869 /* 51188 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18870 /* 51192 */ // (llrint:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2QQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src)
18871 /* 51192 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rr),
18872 /* 51197 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18873 /* 51201 */ GIR_RootConstrainSelectedInstOperands,
18874 /* 51202 */ // GIR_Coverage, 21538,
18875 /* 51202 */ GIR_Done,
18876 /* 51203 */ // Label 1572: @51203
18877 /* 51203 */ GIM_Reject,
18878 /* 51204 */ // Label 1570: @51204
18879 /* 51204 */ GIM_Reject,
18880 /* 51205 */ // Label 1566: @51205
18881 /* 51205 */ GIM_Reject,
18882 /* 51206 */ // Label 1536: @51206
18883 /* 51206 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(16), GIMT_Encode2(25), /*)*//*default:*//*Label 1576*/ GIMT_Encode4(51505),
18884 /* 51217 */ /*GILLT_v8s16*//*Label 1573*/ GIMT_Encode4(51253), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18885 /* 51233 */ /*GILLT_v8s32*//*Label 1574*/ GIMT_Encode4(51337), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18886 /* 51249 */ /*GILLT_v8s64*//*Label 1575*/ GIMT_Encode4(51421),
18887 /* 51253 */ // Label 1573: @51253
18888 /* 51253 */ GIM_Try, /*On fail goto*//*Label 1577*/ GIMT_Encode4(51336),
18889 /* 51258 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18890 /* 51262 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1578*/ GIMT_Encode4(51313), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22366 //
18891 /* 51269 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18892 /* 51273 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18893 /* 51277 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18894 /* 51280 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18895 /* 51284 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18896 /* 51288 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18897 /* 51290 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18898 /* 51297 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
18899 /* 51297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrm),
18900 /* 51300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18901 /* 51302 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18902 /* 51306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18903 /* 51311 */ GIR_RootConstrainSelectedInstOperands,
18904 /* 51312 */ // GIR_Coverage, 22366,
18905 /* 51312 */ GIR_EraseRootFromParent_Done,
18906 /* 51313 */ // Label 1578: @51313
18907 /* 51313 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1579*/ GIMT_Encode4(51335), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22365 //
18908 /* 51320 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18909 /* 51324 */ // (llrint:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2QQZrr:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src)
18910 /* 51324 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrr),
18911 /* 51329 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18912 /* 51333 */ GIR_RootConstrainSelectedInstOperands,
18913 /* 51334 */ // GIR_Coverage, 22365,
18914 /* 51334 */ GIR_Done,
18915 /* 51335 */ // Label 1579: @51335
18916 /* 51335 */ GIM_Reject,
18917 /* 51336 */ // Label 1577: @51336
18918 /* 51336 */ GIM_Reject,
18919 /* 51337 */ // Label 1574: @51337
18920 /* 51337 */ GIM_Try, /*On fail goto*//*Label 1580*/ GIMT_Encode4(51420),
18921 /* 51342 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18922 /* 51346 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1581*/ GIMT_Encode4(51397), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 21543 //
18923 /* 51353 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18924 /* 51357 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18925 /* 51361 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18926 /* 51364 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18927 /* 51368 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18928 /* 51372 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18929 /* 51374 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18930 /* 51381 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
18931 /* 51381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrm),
18932 /* 51384 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18933 /* 51386 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18934 /* 51390 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18935 /* 51395 */ GIR_RootConstrainSelectedInstOperands,
18936 /* 51396 */ // GIR_Coverage, 21543,
18937 /* 51396 */ GIR_EraseRootFromParent_Done,
18938 /* 51397 */ // Label 1581: @51397
18939 /* 51397 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1582*/ GIMT_Encode4(51419), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 21542 //
18940 /* 51404 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18941 /* 51408 */ // (llrint:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2QQZrr:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src)
18942 /* 51408 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrr),
18943 /* 51413 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18944 /* 51417 */ GIR_RootConstrainSelectedInstOperands,
18945 /* 51418 */ // GIR_Coverage, 21542,
18946 /* 51418 */ GIR_Done,
18947 /* 51419 */ // Label 1582: @51419
18948 /* 51419 */ GIM_Reject,
18949 /* 51420 */ // Label 1580: @51420
18950 /* 51420 */ GIM_Reject,
18951 /* 51421 */ // Label 1575: @51421
18952 /* 51421 */ GIM_Try, /*On fail goto*//*Label 1583*/ GIMT_Encode4(51504),
18953 /* 51426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18954 /* 51430 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1584*/ GIMT_Encode4(51481), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 21547 //
18955 /* 51437 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18956 /* 51441 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18957 /* 51445 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18958 /* 51448 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18959 /* 51452 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18960 /* 51456 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18961 /* 51458 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18962 /* 51465 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
18963 /* 51465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrm),
18964 /* 51468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18965 /* 51470 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18966 /* 51474 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18967 /* 51479 */ GIR_RootConstrainSelectedInstOperands,
18968 /* 51480 */ // GIR_Coverage, 21547,
18969 /* 51480 */ GIR_EraseRootFromParent_Done,
18970 /* 51481 */ // Label 1584: @51481
18971 /* 51481 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1585*/ GIMT_Encode4(51503), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 21546 //
18972 /* 51488 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18973 /* 51492 */ // (llrint:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2QQZrr:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src)
18974 /* 51492 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrr),
18975 /* 51497 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18976 /* 51501 */ GIR_RootConstrainSelectedInstOperands,
18977 /* 51502 */ // GIR_Coverage, 21546,
18978 /* 51502 */ GIR_Done,
18979 /* 51503 */ // Label 1585: @51503
18980 /* 51503 */ GIM_Reject,
18981 /* 51504 */ // Label 1583: @51504
18982 /* 51504 */ GIM_Reject,
18983 /* 51505 */ // Label 1576: @51505
18984 /* 51505 */ GIM_Reject,
18985 /* 51506 */ // Label 1537: @51506
18986 /* 51506 */ GIM_Reject,
18987 /* 51507 */ // Label 11: @51507
18988 /* 51507 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 1611*/ GIMT_Encode4(57410),
18989 /* 51518 */ /*GILLT_s1*//*Label 1586*/ GIMT_Encode4(51618),
18990 /* 51522 */ /*GILLT_s8*//*Label 1587*/ GIMT_Encode4(51684),
18991 /* 51526 */ /*GILLT_s16*//*Label 1588*/ GIMT_Encode4(51828),
18992 /* 51530 */ /*GILLT_s32*//*Label 1589*/ GIMT_Encode4(52356),
18993 /* 51534 */ /*GILLT_s64*//*Label 1590*/ GIMT_Encode4(52740),
18994 /* 51538 */ /*GILLT_s80*//*Label 1591*/ GIMT_Encode4(53207),
18995 /* 51542 */ /*GILLT_s128*//*Label 1592*/ GIMT_Encode4(53255),
18996 /* 51546 */ /*GILLT_v2s1*//*Label 1593*/ GIMT_Encode4(53378),
18997 /* 51550 */ /*GILLT_v4s1*//*Label 1594*/ GIMT_Encode4(53444),
18998 /* 51554 */ /*GILLT_v8s1*//*Label 1595*/ GIMT_Encode4(53510),
18999 /* 51558 */ /*GILLT_v16s1*//*Label 1596*/ GIMT_Encode4(53590),
19000 /* 51562 */ /*GILLT_v32s1*//*Label 1597*/ GIMT_Encode4(53670),
19001 /* 51566 */ /*GILLT_v64s1*//*Label 1598*/ GIMT_Encode4(53750),
19002 /* 51570 */ /*GILLT_v16s8*//*Label 1599*/ GIMT_Encode4(53830),
19003 /* 51574 */ /*GILLT_v32s8*//*Label 1600*/ GIMT_Encode4(54072),
19004 /* 51578 */ /*GILLT_v64s8*//*Label 1601*/ GIMT_Encode4(54244),
19005 /* 51582 */ /*GILLT_v8s16*//*Label 1602*/ GIMT_Encode4(54336),
19006 /* 51586 */ /*GILLT_v16s16*//*Label 1603*/ GIMT_Encode4(54822),
19007 /* 51590 */ /*GILLT_v32s16*//*Label 1604*/ GIMT_Encode4(55134),
19008 /* 51594 */ /*GILLT_v4s32*//*Label 1605*/ GIMT_Encode4(55296),
19009 /* 51598 */ /*GILLT_v8s32*//*Label 1606*/ GIMT_Encode4(55881),
19010 /* 51602 */ /*GILLT_v16s32*//*Label 1607*/ GIMT_Encode4(56201),
19011 /* 51606 */ /*GILLT_v2s64*//*Label 1608*/ GIMT_Encode4(56363),
19012 /* 51610 */ /*GILLT_v4s64*//*Label 1609*/ GIMT_Encode4(56932),
19013 /* 51614 */ /*GILLT_v8s64*//*Label 1610*/ GIMT_Encode4(57248),
19014 /* 51618 */ // Label 1586: @51618
19015 /* 51618 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1612*/ GIMT_Encode4(51683), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 19545 //
19016 /* 51625 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19017 /* 51628 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19018 /* 51632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
19019 /* 51636 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19020 /* 51640 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19021 /* 51647 */ // (ld:{ *:[v1i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v1i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK1:{ *:[i32] })
19022 /* 51647 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
19023 /* 51650 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
19024 /* 51654 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19025 /* 51659 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19026 /* 51663 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19027 /* 51667 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19028 /* 51669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19029 /* 51672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19030 /* 51674 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19031 /* 51677 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
19032 /* 51682 */ // GIR_Coverage, 19545,
19033 /* 51682 */ GIR_EraseRootFromParent_Done,
19034 /* 51683 */ // Label 1612: @51683
19035 /* 51683 */ GIM_Reject,
19036 /* 51684 */ // Label 1587: @51684
19037 /* 51684 */ GIM_Try, /*On fail goto*//*Label 1613*/ GIMT_Encode4(51733), // Rule ID 22715 //
19038 /* 51689 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19039 /* 51692 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19040 /* 51696 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19041 /* 51703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
19042 /* 51707 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19043 /* 51711 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19044 /* 51718 */ // (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
19045 /* 51718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
19046 /* 51721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19047 /* 51723 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19048 /* 51727 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19049 /* 51731 */ GIR_RootConstrainSelectedInstOperands,
19050 /* 51732 */ // GIR_Coverage, 22715,
19051 /* 51732 */ GIR_EraseRootFromParent_Done,
19052 /* 51733 */ // Label 1613: @51733
19053 /* 51733 */ GIM_Try, /*On fail goto*//*Label 1614*/ GIMT_Encode4(51827),
19054 /* 51738 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19055 /* 51741 */ GIM_Try, /*On fail goto*//*Label 1615*/ GIMT_Encode4(51787), // Rule ID 22807 //
19056 /* 51746 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19057 /* 51750 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19058 /* 51757 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
19059 /* 51761 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19060 /* 51765 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19061 /* 51772 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
19062 /* 51772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
19063 /* 51775 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19064 /* 51777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19065 /* 51781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19066 /* 51785 */ GIR_RootConstrainSelectedInstOperands,
19067 /* 51786 */ // GIR_Coverage, 22807,
19068 /* 51786 */ GIR_EraseRootFromParent_Done,
19069 /* 51787 */ // Label 1615: @51787
19070 /* 51787 */ GIM_Try, /*On fail goto*//*Label 1616*/ GIMT_Encode4(51826), // Rule ID 28 //
19071 /* 51792 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
19072 /* 51796 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19073 /* 51800 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
19074 /* 51804 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19075 /* 51811 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
19076 /* 51811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
19077 /* 51814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19078 /* 51816 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19079 /* 51820 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19080 /* 51824 */ GIR_RootConstrainSelectedInstOperands,
19081 /* 51825 */ // GIR_Coverage, 28,
19082 /* 51825 */ GIR_EraseRootFromParent_Done,
19083 /* 51826 */ // Label 1616: @51826
19084 /* 51826 */ GIM_Reject,
19085 /* 51827 */ // Label 1614: @51827
19086 /* 51827 */ GIM_Reject,
19087 /* 51828 */ // Label 1588: @51828
19088 /* 51828 */ GIM_Try, /*On fail goto*//*Label 1617*/ GIMT_Encode4(51877), // Rule ID 22716 //
19089 /* 51833 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19090 /* 51836 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19091 /* 51840 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
19092 /* 51847 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19093 /* 51851 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19094 /* 51855 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19095 /* 51862 */ // (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>> => (MOV16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19096 /* 51862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16rm),
19097 /* 51865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19098 /* 51867 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19099 /* 51871 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19100 /* 51875 */ GIR_RootConstrainSelectedInstOperands,
19101 /* 51876 */ // GIR_Coverage, 22716,
19102 /* 51876 */ GIR_EraseRootFromParent_Done,
19103 /* 51877 */ // Label 1617: @51877
19104 /* 51877 */ GIM_Try, /*On fail goto*//*Label 1618*/ GIMT_Encode4(52355),
19105 /* 51882 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19106 /* 51885 */ GIM_Try, /*On fail goto*//*Label 1619*/ GIMT_Encode4(52024),
19107 /* 51890 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19108 /* 51894 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19109 /* 51901 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19110 /* 51905 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19111 /* 51909 */ GIM_Try, /*On fail goto*//*Label 1620*/ GIMT_Encode4(51966), // Rule ID 22808 //
19112 /* 51914 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19113 /* 51921 */ // (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] })
19114 /* 51921 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19115 /* 51924 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19116 /* 51928 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19117 /* 51933 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19118 /* 51937 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19119 /* 51941 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19120 /* 51943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19121 /* 51946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19122 /* 51948 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
19123 /* 51955 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
19124 /* 51960 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19125 /* 51965 */ // GIR_Coverage, 22808,
19126 /* 51965 */ GIR_EraseRootFromParent_Done,
19127 /* 51966 */ // Label 1620: @51966
19128 /* 51966 */ GIM_Try, /*On fail goto*//*Label 1621*/ GIMT_Encode4(52023), // Rule ID 22810 //
19129 /* 51971 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19130 /* 51978 */ // (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] })
19131 /* 51978 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19132 /* 51981 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19133 /* 51985 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19134 /* 51990 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19135 /* 51994 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19136 /* 51998 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19137 /* 52000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19138 /* 52003 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19139 /* 52005 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
19140 /* 52012 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
19141 /* 52017 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19142 /* 52022 */ // GIR_Coverage, 22810,
19143 /* 52022 */ GIR_EraseRootFromParent_Done,
19144 /* 52023 */ // Label 1621: @52023
19145 /* 52023 */ GIM_Reject,
19146 /* 52024 */ // Label 1619: @52024
19147 /* 52024 */ GIM_Try, /*On fail goto*//*Label 1622*/ GIMT_Encode4(52149),
19148 /* 52029 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19149 /* 52033 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1623*/ GIMT_Encode4(52070), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 4622 //
19150 /* 52040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
19151 /* 52044 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19152 /* 52048 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19153 /* 52055 */ // (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSHZrm_alt:{ *:[f16] } addr:{ *:[iPTR] }:$src)
19154 /* 52055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSHZrm_alt),
19155 /* 52058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19156 /* 52060 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19157 /* 52064 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19158 /* 52068 */ GIR_RootConstrainSelectedInstOperands,
19159 /* 52069 */ // GIR_Coverage, 4622,
19160 /* 52069 */ GIR_EraseRootFromParent_Done,
19161 /* 52070 */ // Label 1623: @52070
19162 /* 52070 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1624*/ GIMT_Encode4(52148), GIMT_Encode2(GIFBS_HasAVX_NoBWI), // Rule ID 18436 //
19163 /* 52077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
19164 /* 52081 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19165 /* 52085 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19166 /* 52092 */ // (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] })
19167 /* 52092 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
19168 /* 52095 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
19169 /* 52099 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19170 /* 52104 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19171 /* 52106 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
19172 /* 52109 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWrmi),
19173 /* 52113 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19174 /* 52118 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
19175 /* 52121 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19176 /* 52125 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
19177 /* 52128 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19178 /* 52132 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19179 /* 52134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19180 /* 52137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19181 /* 52139 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19182 /* 52142 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
19183 /* 52147 */ // GIR_Coverage, 18436,
19184 /* 52147 */ GIR_EraseRootFromParent_Done,
19185 /* 52148 */ // Label 1624: @52148
19186 /* 52148 */ GIM_Reject,
19187 /* 52149 */ // Label 1622: @52149
19188 /* 52149 */ GIM_Try, /*On fail goto*//*Label 1625*/ GIMT_Encode4(52188), // Rule ID 29 //
19189 /* 52154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19190 /* 52158 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19191 /* 52162 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
19192 /* 52166 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19193 /* 52173 */ // (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>> => (MOV16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19194 /* 52173 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16rm),
19195 /* 52176 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19196 /* 52178 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19197 /* 52182 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19198 /* 52186 */ GIR_RootConstrainSelectedInstOperands,
19199 /* 52187 */ // GIR_Coverage, 29,
19200 /* 52187 */ GIR_EraseRootFromParent_Done,
19201 /* 52188 */ // Label 1625: @52188
19202 /* 52188 */ GIM_Try, /*On fail goto*//*Label 1626*/ GIMT_Encode4(52354),
19203 /* 52193 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19204 /* 52197 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1627*/ GIMT_Encode4(52275), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18432 //
19205 /* 52204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
19206 /* 52208 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19207 /* 52212 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19208 /* 52219 */ // (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] })
19209 /* 52219 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
19210 /* 52222 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
19211 /* 52226 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19212 /* 52231 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19213 /* 52233 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
19214 /* 52236 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PINSRWrmi),
19215 /* 52240 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19216 /* 52245 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
19217 /* 52248 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19218 /* 52252 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
19219 /* 52255 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19220 /* 52259 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19221 /* 52261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19222 /* 52264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19223 /* 52266 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19224 /* 52269 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
19225 /* 52274 */ // GIR_Coverage, 18432,
19226 /* 52274 */ GIR_EraseRootFromParent_Done,
19227 /* 52275 */ // Label 1627: @52275
19228 /* 52275 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1628*/ GIMT_Encode4(52353), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 21987 //
19229 /* 52282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
19230 /* 52286 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19231 /* 52290 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19232 /* 52297 */ // (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] })
19233 /* 52297 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
19234 /* 52300 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
19235 /* 52304 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19236 /* 52309 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19237 /* 52311 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
19238 /* 52314 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWZrmi),
19239 /* 52318 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19240 /* 52323 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
19241 /* 52326 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19242 /* 52330 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
19243 /* 52333 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19244 /* 52337 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19245 /* 52339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19246 /* 52342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19247 /* 52344 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19248 /* 52347 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
19249 /* 52352 */ // GIR_Coverage, 21987,
19250 /* 52352 */ GIR_EraseRootFromParent_Done,
19251 /* 52353 */ // Label 1628: @52353
19252 /* 52353 */ GIM_Reject,
19253 /* 52354 */ // Label 1626: @52354
19254 /* 52354 */ GIM_Reject,
19255 /* 52355 */ // Label 1618: @52355
19256 /* 52355 */ GIM_Reject,
19257 /* 52356 */ // Label 1589: @52356
19258 /* 52356 */ GIM_Try, /*On fail goto*//*Label 1629*/ GIMT_Encode4(52405), // Rule ID 22717 //
19259 /* 52361 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19260 /* 52364 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19261 /* 52368 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
19262 /* 52375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19263 /* 52379 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19264 /* 52383 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19265 /* 52390 */ // (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>> => (MOV32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19266 /* 52390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
19267 /* 52393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19268 /* 52395 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19269 /* 52399 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19270 /* 52403 */ GIR_RootConstrainSelectedInstOperands,
19271 /* 52404 */ // GIR_Coverage, 22717,
19272 /* 52404 */ GIR_EraseRootFromParent_Done,
19273 /* 52405 */ // Label 1629: @52405
19274 /* 52405 */ GIM_Try, /*On fail goto*//*Label 1630*/ GIMT_Encode4(52739),
19275 /* 52410 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19276 /* 52413 */ GIM_Try, /*On fail goto*//*Label 1631*/ GIMT_Encode4(52540),
19277 /* 52418 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19278 /* 52422 */ GIM_Try, /*On fail goto*//*Label 1632*/ GIMT_Encode4(52497),
19279 /* 52427 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19280 /* 52434 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19281 /* 52438 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19282 /* 52442 */ GIM_Try, /*On fail goto*//*Label 1633*/ GIMT_Encode4(52469), // Rule ID 22809 //
19283 /* 52447 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19284 /* 52454 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19285 /* 52454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19286 /* 52457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19287 /* 52459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19288 /* 52463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19289 /* 52467 */ GIR_RootConstrainSelectedInstOperands,
19290 /* 52468 */ // GIR_Coverage, 22809,
19291 /* 52468 */ GIR_EraseRootFromParent_Done,
19292 /* 52469 */ // Label 1633: @52469
19293 /* 52469 */ GIM_Try, /*On fail goto*//*Label 1634*/ GIMT_Encode4(52496), // Rule ID 22811 //
19294 /* 52474 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19295 /* 52481 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19296 /* 52481 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19297 /* 52484 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19298 /* 52486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19299 /* 52490 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19300 /* 52494 */ GIR_RootConstrainSelectedInstOperands,
19301 /* 52495 */ // GIR_Coverage, 22811,
19302 /* 52495 */ GIR_EraseRootFromParent_Done,
19303 /* 52496 */ // Label 1634: @52496
19304 /* 52496 */ GIM_Reject,
19305 /* 52497 */ // Label 1632: @52497
19306 /* 52497 */ GIM_Try, /*On fail goto*//*Label 1635*/ GIMT_Encode4(52539), // Rule ID 22812 //
19307 /* 52502 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
19308 /* 52509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19309 /* 52513 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19310 /* 52517 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19311 /* 52524 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> => (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19312 /* 52524 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
19313 /* 52527 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19314 /* 52529 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19315 /* 52533 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19316 /* 52537 */ GIR_RootConstrainSelectedInstOperands,
19317 /* 52538 */ // GIR_Coverage, 22812,
19318 /* 52538 */ GIR_EraseRootFromParent_Done,
19319 /* 52539 */ // Label 1635: @52539
19320 /* 52539 */ GIM_Reject,
19321 /* 52540 */ // Label 1631: @52540
19322 /* 52540 */ GIM_Try, /*On fail goto*//*Label 1636*/ GIMT_Encode4(52699),
19323 /* 52545 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19324 /* 52549 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1637*/ GIMT_Encode4(52589), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1056 //
19325 /* 52556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
19326 /* 52560 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19327 /* 52564 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19328 /* 52571 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp32m:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19329 /* 52571 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m),
19330 /* 52574 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19331 /* 52576 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19332 /* 52580 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
19333 /* 52583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19334 /* 52587 */ GIR_RootConstrainSelectedInstOperands,
19335 /* 52588 */ // GIR_Coverage, 1056,
19336 /* 52588 */ GIR_EraseRootFromParent_Done,
19337 /* 52589 */ // Label 1637: @52589
19338 /* 52589 */ GIM_Try, /*On fail goto*//*Label 1638*/ GIMT_Encode4(52661),
19339 /* 52594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19340 /* 52598 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19341 /* 52602 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1639*/ GIMT_Encode4(52631), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1672 //
19342 /* 52609 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19343 /* 52616 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSSrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
19344 /* 52616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSrm_alt),
19345 /* 52619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19346 /* 52621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19347 /* 52625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19348 /* 52629 */ GIR_RootConstrainSelectedInstOperands,
19349 /* 52630 */ // GIR_Coverage, 1672,
19350 /* 52630 */ GIR_EraseRootFromParent_Done,
19351 /* 52631 */ // Label 1639: @52631
19352 /* 52631 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1640*/ GIMT_Encode4(52660), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1673 //
19353 /* 52638 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19354 /* 52645 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVSSrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
19355 /* 52645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSrm_alt),
19356 /* 52648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19357 /* 52650 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19358 /* 52654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19359 /* 52658 */ GIR_RootConstrainSelectedInstOperands,
19360 /* 52659 */ // GIR_Coverage, 1673,
19361 /* 52659 */ GIR_EraseRootFromParent_Done,
19362 /* 52660 */ // Label 1640: @52660
19363 /* 52660 */ GIM_Reject,
19364 /* 52661 */ // Label 1638: @52661
19365 /* 52661 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1641*/ GIMT_Encode4(52698), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4610 //
19366 /* 52668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
19367 /* 52672 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19368 /* 52676 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19369 /* 52683 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSSZrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
19370 /* 52683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZrm_alt),
19371 /* 52686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19372 /* 52688 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19373 /* 52692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19374 /* 52696 */ GIR_RootConstrainSelectedInstOperands,
19375 /* 52697 */ // GIR_Coverage, 4610,
19376 /* 52697 */ GIR_EraseRootFromParent_Done,
19377 /* 52698 */ // Label 1641: @52698
19378 /* 52698 */ GIM_Reject,
19379 /* 52699 */ // Label 1636: @52699
19380 /* 52699 */ GIM_Try, /*On fail goto*//*Label 1642*/ GIMT_Encode4(52738), // Rule ID 30 //
19381 /* 52704 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19382 /* 52708 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19383 /* 52712 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
19384 /* 52716 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19385 /* 52723 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>> => (MOV32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19386 /* 52723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
19387 /* 52726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19388 /* 52728 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19389 /* 52732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19390 /* 52736 */ GIR_RootConstrainSelectedInstOperands,
19391 /* 52737 */ // GIR_Coverage, 30,
19392 /* 52737 */ GIR_EraseRootFromParent_Done,
19393 /* 52738 */ // Label 1642: @52738
19394 /* 52738 */ GIM_Reject,
19395 /* 52739 */ // Label 1630: @52739
19396 /* 52739 */ GIM_Reject,
19397 /* 52740 */ // Label 1590: @52740
19398 /* 52740 */ GIM_Try, /*On fail goto*//*Label 1643*/ GIMT_Encode4(52789), // Rule ID 22718 //
19399 /* 52745 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19400 /* 52748 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19401 /* 52752 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
19402 /* 52759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19403 /* 52763 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19404 /* 52767 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19405 /* 52774 */ // (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>> => (MOV64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19406 /* 52774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64rm),
19407 /* 52777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19408 /* 52779 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19409 /* 52783 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19410 /* 52787 */ GIR_RootConstrainSelectedInstOperands,
19411 /* 52788 */ // GIR_Coverage, 22718,
19412 /* 52788 */ GIR_EraseRootFromParent_Done,
19413 /* 52789 */ // Label 1643: @52789
19414 /* 52789 */ GIM_Try, /*On fail goto*//*Label 1644*/ GIMT_Encode4(53206),
19415 /* 52794 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19416 /* 52797 */ GIM_Try, /*On fail goto*//*Label 1645*/ GIMT_Encode4(53011),
19417 /* 52802 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19418 /* 52806 */ GIM_Try, /*On fail goto*//*Label 1646*/ GIMT_Encode4(52939),
19419 /* 52811 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19420 /* 52818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19421 /* 52822 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19422 /* 52826 */ GIM_Try, /*On fail goto*//*Label 1647*/ GIMT_Encode4(52882), // Rule ID 22814 //
19423 /* 52831 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19424 /* 52838 */ // (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] })
19425 /* 52838 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19426 /* 52841 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19427 /* 52845 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19428 /* 52850 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19429 /* 52854 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19430 /* 52858 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19431 /* 52860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
19432 /* 52863 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19433 /* 52865 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19434 /* 52868 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
19435 /* 52871 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
19436 /* 52876 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19437 /* 52881 */ // GIR_Coverage, 22814,
19438 /* 52881 */ GIR_EraseRootFromParent_Done,
19439 /* 52882 */ // Label 1647: @52882
19440 /* 52882 */ GIM_Try, /*On fail goto*//*Label 1648*/ GIMT_Encode4(52938), // Rule ID 22815 //
19441 /* 52887 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19442 /* 52894 */ // (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] })
19443 /* 52894 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19444 /* 52897 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19445 /* 52901 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19446 /* 52906 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19447 /* 52910 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19448 /* 52914 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19449 /* 52916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
19450 /* 52919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19451 /* 52921 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19452 /* 52924 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
19453 /* 52927 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
19454 /* 52932 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19455 /* 52937 */ // GIR_Coverage, 22815,
19456 /* 52937 */ GIR_EraseRootFromParent_Done,
19457 /* 52938 */ // Label 1648: @52938
19458 /* 52938 */ GIM_Reject,
19459 /* 52939 */ // Label 1646: @52939
19460 /* 52939 */ GIM_Try, /*On fail goto*//*Label 1649*/ GIMT_Encode4(53010), // Rule ID 22816 //
19461 /* 52944 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
19462 /* 52951 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19463 /* 52955 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19464 /* 52959 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19465 /* 52966 */ // (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] })
19466 /* 52966 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19467 /* 52969 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
19468 /* 52973 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19469 /* 52978 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19470 /* 52982 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19471 /* 52986 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19472 /* 52988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
19473 /* 52991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19474 /* 52993 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19475 /* 52996 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
19476 /* 52999 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
19477 /* 53004 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19478 /* 53009 */ // GIR_Coverage, 22816,
19479 /* 53009 */ GIR_EraseRootFromParent_Done,
19480 /* 53010 */ // Label 1649: @53010
19481 /* 53010 */ GIM_Reject,
19482 /* 53011 */ // Label 1645: @53011
19483 /* 53011 */ GIM_Try, /*On fail goto*//*Label 1650*/ GIMT_Encode4(53205),
19484 /* 53016 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19485 /* 53020 */ GIM_Try, /*On fail goto*//*Label 1651*/ GIMT_Encode4(53055), // Rule ID 31 //
19486 /* 53025 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19487 /* 53029 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19488 /* 53033 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19489 /* 53040 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOV64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19490 /* 53040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64rm),
19491 /* 53043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19492 /* 53045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19493 /* 53049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19494 /* 53053 */ GIR_RootConstrainSelectedInstOperands,
19495 /* 53054 */ // GIR_Coverage, 31,
19496 /* 53054 */ GIR_EraseRootFromParent_Done,
19497 /* 53055 */ // Label 1651: @53055
19498 /* 53055 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1652*/ GIMT_Encode4(53095), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1057 //
19499 /* 53062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
19500 /* 53066 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19501 /* 53070 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19502 /* 53077 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp64m:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19503 /* 53077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp64m),
19504 /* 53080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19505 /* 53082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19506 /* 53086 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
19507 /* 53089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19508 /* 53093 */ GIR_RootConstrainSelectedInstOperands,
19509 /* 53094 */ // GIR_Coverage, 1057,
19510 /* 53094 */ GIR_EraseRootFromParent_Done,
19511 /* 53095 */ // Label 1652: @53095
19512 /* 53095 */ GIM_Try, /*On fail goto*//*Label 1653*/ GIMT_Encode4(53167),
19513 /* 53100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
19514 /* 53104 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19515 /* 53108 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1654*/ GIMT_Encode4(53137), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1676 //
19516 /* 53115 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19517 /* 53122 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSDrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
19518 /* 53122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDrm_alt),
19519 /* 53125 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19520 /* 53127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19521 /* 53131 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19522 /* 53135 */ GIR_RootConstrainSelectedInstOperands,
19523 /* 53136 */ // GIR_Coverage, 1676,
19524 /* 53136 */ GIR_EraseRootFromParent_Done,
19525 /* 53137 */ // Label 1654: @53137
19526 /* 53137 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1655*/ GIMT_Encode4(53166), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1677 //
19527 /* 53144 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19528 /* 53151 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVSDrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
19529 /* 53151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDrm_alt),
19530 /* 53154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19531 /* 53156 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19532 /* 53160 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19533 /* 53164 */ GIR_RootConstrainSelectedInstOperands,
19534 /* 53165 */ // GIR_Coverage, 1677,
19535 /* 53165 */ GIR_EraseRootFromParent_Done,
19536 /* 53166 */ // Label 1655: @53166
19537 /* 53166 */ GIM_Reject,
19538 /* 53167 */ // Label 1653: @53167
19539 /* 53167 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1656*/ GIMT_Encode4(53204), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4616 //
19540 /* 53174 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
19541 /* 53178 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19542 /* 53182 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19543 /* 53189 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSDZrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
19544 /* 53189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZrm_alt),
19545 /* 53192 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19546 /* 53194 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19547 /* 53198 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19548 /* 53202 */ GIR_RootConstrainSelectedInstOperands,
19549 /* 53203 */ // GIR_Coverage, 4616,
19550 /* 53203 */ GIR_EraseRootFromParent_Done,
19551 /* 53204 */ // Label 1656: @53204
19552 /* 53204 */ GIM_Reject,
19553 /* 53205 */ // Label 1650: @53205
19554 /* 53205 */ GIM_Reject,
19555 /* 53206 */ // Label 1644: @53206
19556 /* 53206 */ GIM_Reject,
19557 /* 53207 */ // Label 1591: @53207
19558 /* 53207 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1657*/ GIMT_Encode4(53254), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1058 //
19559 /* 53214 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19560 /* 53217 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19561 /* 53221 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
19562 /* 53225 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19563 /* 53229 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19564 /* 53236 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp80m:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19565 /* 53236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp80m),
19566 /* 53239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19567 /* 53241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19568 /* 53245 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
19569 /* 53248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19570 /* 53252 */ GIR_RootConstrainSelectedInstOperands,
19571 /* 53253 */ // GIR_Coverage, 1058,
19572 /* 53253 */ GIR_EraseRootFromParent_Done,
19573 /* 53254 */ // Label 1657: @53254
19574 /* 53254 */ GIM_Reject,
19575 /* 53255 */ // Label 1592: @53255
19576 /* 53255 */ GIM_Try, /*On fail goto*//*Label 1658*/ GIMT_Encode4(53377),
19577 /* 53260 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19578 /* 53263 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19579 /* 53267 */ GIM_Try, /*On fail goto*//*Label 1659*/ GIMT_Encode4(53339),
19580 /* 53272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
19581 /* 53276 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19582 /* 53280 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1660*/ GIMT_Encode4(53309), GIMT_Encode2(GIFBS_NoAVX), // Rule ID 23383 //
19583 /* 53287 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19584 /* 53294 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
19585 /* 53294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
19586 /* 53297 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19587 /* 53299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19588 /* 53303 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19589 /* 53307 */ GIR_RootConstrainSelectedInstOperands,
19590 /* 53308 */ // GIR_Coverage, 23383,
19591 /* 53308 */ GIR_EraseRootFromParent_Done,
19592 /* 53309 */ // Label 1660: @53309
19593 /* 53309 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1661*/ GIMT_Encode4(53338), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23388 //
19594 /* 53316 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19595 /* 53323 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
19596 /* 53323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
19597 /* 53326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19598 /* 53328 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19599 /* 53332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19600 /* 53336 */ GIR_RootConstrainSelectedInstOperands,
19601 /* 53337 */ // GIR_Coverage, 23388,
19602 /* 53337 */ GIR_EraseRootFromParent_Done,
19603 /* 53338 */ // Label 1661: @53338
19604 /* 53338 */ GIM_Reject,
19605 /* 53339 */ // Label 1659: @53339
19606 /* 53339 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1662*/ GIMT_Encode4(53376), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 23393 //
19607 /* 53346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19608 /* 53350 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19609 /* 53354 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19610 /* 53361 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
19611 /* 53361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
19612 /* 53364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19613 /* 53366 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19614 /* 53370 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19615 /* 53374 */ GIR_RootConstrainSelectedInstOperands,
19616 /* 53375 */ // GIR_Coverage, 23393,
19617 /* 53375 */ GIR_EraseRootFromParent_Done,
19618 /* 53376 */ // Label 1662: @53376
19619 /* 53376 */ GIM_Reject,
19620 /* 53377 */ // Label 1658: @53377
19621 /* 53377 */ GIM_Reject,
19622 /* 53378 */ // Label 1593: @53378
19623 /* 53378 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1663*/ GIMT_Encode4(53443), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 19546 //
19624 /* 53385 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19625 /* 53388 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19626 /* 53392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
19627 /* 53396 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19628 /* 53400 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19629 /* 53407 */ // (ld:{ *:[v2i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v2i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK2:{ *:[i32] })
19630 /* 53407 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
19631 /* 53410 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
19632 /* 53414 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19633 /* 53419 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19634 /* 53423 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19635 /* 53427 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19636 /* 53429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19637 /* 53432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19638 /* 53434 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19639 /* 53437 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
19640 /* 53442 */ // GIR_Coverage, 19546,
19641 /* 53442 */ GIR_EraseRootFromParent_Done,
19642 /* 53443 */ // Label 1663: @53443
19643 /* 53443 */ GIM_Reject,
19644 /* 53444 */ // Label 1594: @53444
19645 /* 53444 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1664*/ GIMT_Encode4(53509), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 19547 //
19646 /* 53451 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19647 /* 53454 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19648 /* 53458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
19649 /* 53462 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19650 /* 53466 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19651 /* 53473 */ // (ld:{ *:[v4i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v4i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK4:{ *:[i32] })
19652 /* 53473 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
19653 /* 53476 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
19654 /* 53480 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19655 /* 53485 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19656 /* 53489 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19657 /* 53493 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19658 /* 53495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19659 /* 53498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19660 /* 53500 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19661 /* 53503 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
19662 /* 53508 */ // GIR_Coverage, 19547,
19663 /* 53508 */ GIR_EraseRootFromParent_Done,
19664 /* 53509 */ // Label 1664: @53509
19665 /* 53509 */ GIM_Reject,
19666 /* 53510 */ // Label 1595: @53510
19667 /* 53510 */ GIM_Try, /*On fail goto*//*Label 1665*/ GIMT_Encode4(53589),
19668 /* 53515 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19669 /* 53518 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19670 /* 53522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
19671 /* 53526 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19672 /* 53530 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1666*/ GIMT_Encode4(53559), GIMT_Encode2(GIFBS_HasDQI_NoEGPR), // Rule ID 4383 //
19673 /* 53537 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19674 /* 53544 */ // (ld:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)
19675 /* 53544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
19676 /* 53547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19677 /* 53549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19678 /* 53553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19679 /* 53557 */ GIR_RootConstrainSelectedInstOperands,
19680 /* 53558 */ // GIR_Coverage, 4383,
19681 /* 53558 */ GIR_EraseRootFromParent_Done,
19682 /* 53559 */ // Label 1666: @53559
19683 /* 53559 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1667*/ GIMT_Encode4(53588), GIMT_Encode2(GIFBS_HasDQI_HasEGPR_In64BitMode), // Rule ID 4385 //
19684 /* 53566 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19685 /* 53573 */ // (ld:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVBkm_EVEX:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)
19686 /* 53573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBkm_EVEX),
19687 /* 53576 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19688 /* 53578 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19689 /* 53582 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19690 /* 53586 */ GIR_RootConstrainSelectedInstOperands,
19691 /* 53587 */ // GIR_Coverage, 4385,
19692 /* 53587 */ GIR_EraseRootFromParent_Done,
19693 /* 53588 */ // Label 1667: @53588
19694 /* 53588 */ GIM_Reject,
19695 /* 53589 */ // Label 1665: @53589
19696 /* 53589 */ GIM_Reject,
19697 /* 53590 */ // Label 1596: @53590
19698 /* 53590 */ GIM_Try, /*On fail goto*//*Label 1668*/ GIMT_Encode4(53669),
19699 /* 53595 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19700 /* 53598 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19701 /* 53602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
19702 /* 53606 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19703 /* 53610 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1669*/ GIMT_Encode4(53639), GIMT_Encode2(GIFBS_HasAVX512_NoEGPR), // Rule ID 4387 //
19704 /* 53617 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19705 /* 53624 */ // (ld:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVWkm:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
19706 /* 53624 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm),
19707 /* 53627 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19708 /* 53629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19709 /* 53633 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19710 /* 53637 */ GIR_RootConstrainSelectedInstOperands,
19711 /* 53638 */ // GIR_Coverage, 4387,
19712 /* 53638 */ GIR_EraseRootFromParent_Done,
19713 /* 53639 */ // Label 1669: @53639
19714 /* 53639 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1670*/ GIMT_Encode4(53668), GIMT_Encode2(GIFBS_HasAVX512_HasEGPR_In64BitMode), // Rule ID 4389 //
19715 /* 53646 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19716 /* 53653 */ // (ld:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVWkm_EVEX:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
19717 /* 53653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm_EVEX),
19718 /* 53656 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19719 /* 53658 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19720 /* 53662 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19721 /* 53666 */ GIR_RootConstrainSelectedInstOperands,
19722 /* 53667 */ // GIR_Coverage, 4389,
19723 /* 53667 */ GIR_EraseRootFromParent_Done,
19724 /* 53668 */ // Label 1670: @53668
19725 /* 53668 */ GIM_Reject,
19726 /* 53669 */ // Label 1668: @53669
19727 /* 53669 */ GIM_Reject,
19728 /* 53670 */ // Label 1597: @53670
19729 /* 53670 */ GIM_Try, /*On fail goto*//*Label 1671*/ GIMT_Encode4(53749),
19730 /* 53675 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19731 /* 53678 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19732 /* 53682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
19733 /* 53686 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19734 /* 53690 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1672*/ GIMT_Encode4(53719), GIMT_Encode2(GIFBS_HasBWI_NoEGPR), // Rule ID 4391 //
19735 /* 53697 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19736 /* 53704 */ // (ld:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVDkm:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)
19737 /* 53704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkm),
19738 /* 53707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19739 /* 53709 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19740 /* 53713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19741 /* 53717 */ GIR_RootConstrainSelectedInstOperands,
19742 /* 53718 */ // GIR_Coverage, 4391,
19743 /* 53718 */ GIR_EraseRootFromParent_Done,
19744 /* 53719 */ // Label 1672: @53719
19745 /* 53719 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1673*/ GIMT_Encode4(53748), GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode), // Rule ID 4395 //
19746 /* 53726 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19747 /* 53733 */ // (ld:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVDkm_EVEX:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)
19748 /* 53733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkm_EVEX),
19749 /* 53736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19750 /* 53738 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19751 /* 53742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19752 /* 53746 */ GIR_RootConstrainSelectedInstOperands,
19753 /* 53747 */ // GIR_Coverage, 4395,
19754 /* 53747 */ GIR_EraseRootFromParent_Done,
19755 /* 53748 */ // Label 1673: @53748
19756 /* 53748 */ GIM_Reject,
19757 /* 53749 */ // Label 1671: @53749
19758 /* 53749 */ GIM_Reject,
19759 /* 53750 */ // Label 1598: @53750
19760 /* 53750 */ GIM_Try, /*On fail goto*//*Label 1674*/ GIMT_Encode4(53829),
19761 /* 53755 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19762 /* 53758 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19763 /* 53762 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
19764 /* 53766 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19765 /* 53770 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1675*/ GIMT_Encode4(53799), GIMT_Encode2(GIFBS_HasBWI_NoEGPR), // Rule ID 4393 //
19766 /* 53777 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19767 /* 53784 */ // (ld:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVQkm:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)
19768 /* 53784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkm),
19769 /* 53787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19770 /* 53789 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19771 /* 53793 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19772 /* 53797 */ GIR_RootConstrainSelectedInstOperands,
19773 /* 53798 */ // GIR_Coverage, 4393,
19774 /* 53798 */ GIR_EraseRootFromParent_Done,
19775 /* 53799 */ // Label 1675: @53799
19776 /* 53799 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1676*/ GIMT_Encode4(53828), GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode), // Rule ID 4397 //
19777 /* 53806 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19778 /* 53813 */ // (ld:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVQkm_EVEX:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)
19779 /* 53813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkm_EVEX),
19780 /* 53816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19781 /* 53818 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19782 /* 53822 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19783 /* 53826 */ GIR_RootConstrainSelectedInstOperands,
19784 /* 53827 */ // GIR_Coverage, 4397,
19785 /* 53827 */ GIR_EraseRootFromParent_Done,
19786 /* 53828 */ // Label 1676: @53828
19787 /* 53828 */ GIM_Reject,
19788 /* 53829 */ // Label 1674: @53829
19789 /* 53829 */ GIM_Reject,
19790 /* 53830 */ // Label 1599: @53830
19791 /* 53830 */ GIM_Try, /*On fail goto*//*Label 1677*/ GIMT_Encode4(54071),
19792 /* 53835 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19793 /* 53838 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19794 /* 53842 */ GIM_Try, /*On fail goto*//*Label 1678*/ GIMT_Encode4(53961),
19795 /* 53847 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
19796 /* 53851 */ GIM_Try, /*On fail goto*//*Label 1679*/ GIMT_Encode4(53923),
19797 /* 53856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
19798 /* 53860 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19799 /* 53864 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1680*/ GIMT_Encode4(53893), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18006 //
19800 /* 53871 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19801 /* 53878 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (MOVAPSrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
19802 /* 53878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
19803 /* 53881 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19804 /* 53883 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19805 /* 53887 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19806 /* 53891 */ GIR_RootConstrainSelectedInstOperands,
19807 /* 53892 */ // GIR_Coverage, 18006,
19808 /* 53892 */ GIR_EraseRootFromParent_Done,
19809 /* 53893 */ // Label 1680: @53893
19810 /* 53893 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1681*/ GIMT_Encode4(53922), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18415 //
19811 /* 53900 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19812 /* 53907 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQArm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
19813 /* 53907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
19814 /* 53910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19815 /* 53912 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19816 /* 53916 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19817 /* 53920 */ GIR_RootConstrainSelectedInstOperands,
19818 /* 53921 */ // GIR_Coverage, 18415,
19819 /* 53921 */ GIR_EraseRootFromParent_Done,
19820 /* 53922 */ // Label 1681: @53922
19821 /* 53922 */ GIM_Reject,
19822 /* 53923 */ // Label 1679: @53923
19823 /* 53923 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1682*/ GIMT_Encode4(53960), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19930 //
19824 /* 53930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19825 /* 53934 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19826 /* 53938 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19827 /* 53945 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQA64Z128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
19828 /* 53945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
19829 /* 53948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19830 /* 53950 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19831 /* 53954 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19832 /* 53958 */ GIR_RootConstrainSelectedInstOperands,
19833 /* 53959 */ // GIR_Coverage, 19930,
19834 /* 53959 */ GIR_EraseRootFromParent_Done,
19835 /* 53960 */ // Label 1682: @53960
19836 /* 53960 */ GIM_Reject,
19837 /* 53961 */ // Label 1678: @53961
19838 /* 53961 */ GIM_Try, /*On fail goto*//*Label 1683*/ GIMT_Encode4(54033),
19839 /* 53966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
19840 /* 53970 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19841 /* 53974 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1684*/ GIMT_Encode4(54003), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18010 //
19842 /* 53981 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19843 /* 53988 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
19844 /* 53988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
19845 /* 53991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19846 /* 53993 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19847 /* 53997 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19848 /* 54001 */ GIR_RootConstrainSelectedInstOperands,
19849 /* 54002 */ // GIR_Coverage, 18010,
19850 /* 54002 */ GIR_EraseRootFromParent_Done,
19851 /* 54003 */ // Label 1684: @54003
19852 /* 54003 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1685*/ GIMT_Encode4(54032), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18419 //
19853 /* 54010 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19854 /* 54017 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
19855 /* 54017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
19856 /* 54020 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19857 /* 54022 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19858 /* 54026 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19859 /* 54030 */ GIR_RootConstrainSelectedInstOperands,
19860 /* 54031 */ // GIR_Coverage, 18419,
19861 /* 54031 */ GIR_EraseRootFromParent_Done,
19862 /* 54032 */ // Label 1685: @54032
19863 /* 54032 */ GIM_Reject,
19864 /* 54033 */ // Label 1683: @54033
19865 /* 54033 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1686*/ GIMT_Encode4(54070), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19934 //
19866 /* 54040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19867 /* 54044 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19868 /* 54048 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19869 /* 54055 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
19870 /* 54055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
19871 /* 54058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19872 /* 54060 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19873 /* 54064 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19874 /* 54068 */ GIR_RootConstrainSelectedInstOperands,
19875 /* 54069 */ // GIR_Coverage, 19934,
19876 /* 54069 */ GIR_EraseRootFromParent_Done,
19877 /* 54070 */ // Label 1686: @54070
19878 /* 54070 */ GIM_Reject,
19879 /* 54071 */ // Label 1677: @54071
19880 /* 54071 */ GIM_Reject,
19881 /* 54072 */ // Label 1600: @54072
19882 /* 54072 */ GIM_Try, /*On fail goto*//*Label 1687*/ GIMT_Encode4(54243),
19883 /* 54077 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19884 /* 54080 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19885 /* 54084 */ GIM_Try, /*On fail goto*//*Label 1688*/ GIMT_Encode4(54168),
19886 /* 54089 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
19887 /* 54093 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1689*/ GIMT_Encode4(54130), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17976 //
19888 /* 54100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
19889 /* 54104 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19890 /* 54108 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19891 /* 54115 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPSYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
19892 /* 54115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
19893 /* 54118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19894 /* 54120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19895 /* 54124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19896 /* 54128 */ GIR_RootConstrainSelectedInstOperands,
19897 /* 54129 */ // GIR_Coverage, 17976,
19898 /* 54129 */ GIR_EraseRootFromParent_Done,
19899 /* 54130 */ // Label 1689: @54130
19900 /* 54130 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1690*/ GIMT_Encode4(54167), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19950 //
19901 /* 54137 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19902 /* 54141 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19903 /* 54145 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19904 /* 54152 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVDQA64Z256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
19905 /* 54152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
19906 /* 54155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19907 /* 54157 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19908 /* 54161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19909 /* 54165 */ GIR_RootConstrainSelectedInstOperands,
19910 /* 54166 */ // GIR_Coverage, 19950,
19911 /* 54166 */ GIR_EraseRootFromParent_Done,
19912 /* 54167 */ // Label 1690: @54167
19913 /* 54167 */ GIM_Reject,
19914 /* 54168 */ // Label 1688: @54168
19915 /* 54168 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1691*/ GIMT_Encode4(54205), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17980 //
19916 /* 54175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
19917 /* 54179 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19918 /* 54183 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19919 /* 54190 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
19920 /* 54190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
19921 /* 54193 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19922 /* 54195 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19923 /* 54199 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19924 /* 54203 */ GIR_RootConstrainSelectedInstOperands,
19925 /* 54204 */ // GIR_Coverage, 17980,
19926 /* 54204 */ GIR_EraseRootFromParent_Done,
19927 /* 54205 */ // Label 1691: @54205
19928 /* 54205 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1692*/ GIMT_Encode4(54242), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19954 //
19929 /* 54212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19930 /* 54216 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19931 /* 54220 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19932 /* 54227 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
19933 /* 54227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
19934 /* 54230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19935 /* 54232 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19936 /* 54236 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19937 /* 54240 */ GIR_RootConstrainSelectedInstOperands,
19938 /* 54241 */ // GIR_Coverage, 19954,
19939 /* 54241 */ GIR_EraseRootFromParent_Done,
19940 /* 54242 */ // Label 1692: @54242
19941 /* 54242 */ GIM_Reject,
19942 /* 54243 */ // Label 1687: @54243
19943 /* 54243 */ GIM_Reject,
19944 /* 54244 */ // Label 1601: @54244
19945 /* 54244 */ GIM_Try, /*On fail goto*//*Label 1693*/ GIMT_Encode4(54335),
19946 /* 54249 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19947 /* 54252 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19948 /* 54256 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1694*/ GIMT_Encode4(54297), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19910 //
19949 /* 54263 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
19950 /* 54267 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19951 /* 54271 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19952 /* 54275 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19953 /* 54282 */ // (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload512>> => (VMOVDQA64Zrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
19954 /* 54282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
19955 /* 54285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19956 /* 54287 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19957 /* 54291 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19958 /* 54295 */ GIR_RootConstrainSelectedInstOperands,
19959 /* 54296 */ // GIR_Coverage, 19910,
19960 /* 54296 */ GIR_EraseRootFromParent_Done,
19961 /* 54297 */ // Label 1694: @54297
19962 /* 54297 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1695*/ GIMT_Encode4(54334), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19914 //
19963 /* 54304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19964 /* 54308 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19965 /* 54312 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19966 /* 54319 */ // (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
19967 /* 54319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
19968 /* 54322 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19969 /* 54324 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19970 /* 54328 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19971 /* 54332 */ GIR_RootConstrainSelectedInstOperands,
19972 /* 54333 */ // GIR_Coverage, 19914,
19973 /* 54333 */ GIR_EraseRootFromParent_Done,
19974 /* 54334 */ // Label 1695: @54334
19975 /* 54334 */ GIM_Reject,
19976 /* 54335 */ // Label 1693: @54335
19977 /* 54335 */ GIM_Reject,
19978 /* 54336 */ // Label 1602: @54336
19979 /* 54336 */ GIM_Try, /*On fail goto*//*Label 1696*/ GIMT_Encode4(54821),
19980 /* 54341 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19981 /* 54344 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19982 /* 54348 */ GIM_Try, /*On fail goto*//*Label 1697*/ GIMT_Encode4(54589),
19983 /* 54353 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
19984 /* 54357 */ GIM_Try, /*On fail goto*//*Label 1698*/ GIMT_Encode4(54516),
19985 /* 54362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
19986 /* 54366 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19987 /* 54370 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1699*/ GIMT_Encode4(54399), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17993 //
19988 /* 54377 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19989 /* 54384 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVAPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
19990 /* 54384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSrm),
19991 /* 54387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19992 /* 54389 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19993 /* 54393 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19994 /* 54397 */ GIR_RootConstrainSelectedInstOperands,
19995 /* 54398 */ // GIR_Coverage, 17993,
19996 /* 54398 */ GIR_EraseRootFromParent_Done,
19997 /* 54399 */ // Label 1699: @54399
19998 /* 54399 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1700*/ GIMT_Encode4(54428), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18005 //
19999 /* 54406 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20000 /* 54413 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (MOVAPSrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20001 /* 54413 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20002 /* 54416 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20003 /* 54418 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20004 /* 54422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20005 /* 54426 */ GIR_RootConstrainSelectedInstOperands,
20006 /* 54427 */ // GIR_Coverage, 18005,
20007 /* 54427 */ GIR_EraseRootFromParent_Done,
20008 /* 54428 */ // Label 1700: @54428
20009 /* 54428 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1701*/ GIMT_Encode4(54457), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18023 //
20010 /* 54435 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20011 /* 54442 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (MOVAPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20012 /* 54442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20013 /* 54445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20014 /* 54447 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20015 /* 54451 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20016 /* 54455 */ GIR_RootConstrainSelectedInstOperands,
20017 /* 54456 */ // GIR_Coverage, 18023,
20018 /* 54456 */ GIR_EraseRootFromParent_Done,
20019 /* 54457 */ // Label 1701: @54457
20020 /* 54457 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1702*/ GIMT_Encode4(54486), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18413 //
20021 /* 54464 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20022 /* 54471 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQArm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20023 /* 54471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20024 /* 54474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20025 /* 54476 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20026 /* 54480 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20027 /* 54484 */ GIR_RootConstrainSelectedInstOperands,
20028 /* 54485 */ // GIR_Coverage, 18413,
20029 /* 54485 */ GIR_EraseRootFromParent_Done,
20030 /* 54486 */ // Label 1702: @54486
20031 /* 54486 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1703*/ GIMT_Encode4(54515), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18414 //
20032 /* 54493 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20033 /* 54500 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQArm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20034 /* 54500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20035 /* 54503 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20036 /* 54505 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20037 /* 54509 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20038 /* 54513 */ GIR_RootConstrainSelectedInstOperands,
20039 /* 54514 */ // GIR_Coverage, 18414,
20040 /* 54514 */ GIR_EraseRootFromParent_Done,
20041 /* 54515 */ // Label 1703: @54515
20042 /* 54515 */ GIM_Reject,
20043 /* 54516 */ // Label 1698: @54516
20044 /* 54516 */ GIM_Try, /*On fail goto*//*Label 1704*/ GIMT_Encode4(54588),
20045 /* 54521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20046 /* 54525 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20047 /* 54529 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1705*/ GIMT_Encode4(54558), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19928 //
20048 /* 54536 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20049 /* 54543 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQA64Z128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20050 /* 54543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
20051 /* 54546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20052 /* 54548 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20053 /* 54552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20054 /* 54556 */ GIR_RootConstrainSelectedInstOperands,
20055 /* 54557 */ // GIR_Coverage, 19928,
20056 /* 54557 */ GIR_EraseRootFromParent_Done,
20057 /* 54558 */ // Label 1705: @54558
20058 /* 54558 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1706*/ GIMT_Encode4(54587), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19929 //
20059 /* 54565 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20060 /* 54572 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVAPSZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20061 /* 54572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rm),
20062 /* 54575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20063 /* 54577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20064 /* 54581 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20065 /* 54585 */ GIR_RootConstrainSelectedInstOperands,
20066 /* 54586 */ // GIR_Coverage, 19929,
20067 /* 54586 */ GIR_EraseRootFromParent_Done,
20068 /* 54587 */ // Label 1706: @54587
20069 /* 54587 */ GIM_Reject,
20070 /* 54588 */ // Label 1704: @54588
20071 /* 54588 */ GIM_Reject,
20072 /* 54589 */ // Label 1697: @54589
20073 /* 54589 */ GIM_Try, /*On fail goto*//*Label 1707*/ GIMT_Encode4(54748),
20074 /* 54594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20075 /* 54598 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20076 /* 54602 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1708*/ GIMT_Encode4(54631), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17994 //
20077 /* 54609 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20078 /* 54616 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20079 /* 54616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
20080 /* 54619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20081 /* 54621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20082 /* 54625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20083 /* 54629 */ GIR_RootConstrainSelectedInstOperands,
20084 /* 54630 */ // GIR_Coverage, 17994,
20085 /* 54630 */ GIR_EraseRootFromParent_Done,
20086 /* 54631 */ // Label 1708: @54631
20087 /* 54631 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1709*/ GIMT_Encode4(54660), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18009 //
20088 /* 54638 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20089 /* 54645 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20090 /* 54645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20091 /* 54648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20092 /* 54650 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20093 /* 54654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20094 /* 54658 */ GIR_RootConstrainSelectedInstOperands,
20095 /* 54659 */ // GIR_Coverage, 18009,
20096 /* 54659 */ GIR_EraseRootFromParent_Done,
20097 /* 54660 */ // Label 1709: @54660
20098 /* 54660 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1710*/ GIMT_Encode4(54689), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18024 //
20099 /* 54667 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20100 /* 54674 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20101 /* 54674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20102 /* 54677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20103 /* 54679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20104 /* 54683 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20105 /* 54687 */ GIR_RootConstrainSelectedInstOperands,
20106 /* 54688 */ // GIR_Coverage, 18024,
20107 /* 54688 */ GIR_EraseRootFromParent_Done,
20108 /* 54689 */ // Label 1710: @54689
20109 /* 54689 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1711*/ GIMT_Encode4(54718), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18417 //
20110 /* 54696 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20111 /* 54703 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20112 /* 54703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20113 /* 54706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20114 /* 54708 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20115 /* 54712 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20116 /* 54716 */ GIR_RootConstrainSelectedInstOperands,
20117 /* 54717 */ // GIR_Coverage, 18417,
20118 /* 54717 */ GIR_EraseRootFromParent_Done,
20119 /* 54718 */ // Label 1711: @54718
20120 /* 54718 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1712*/ GIMT_Encode4(54747), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18418 //
20121 /* 54725 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20122 /* 54732 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20123 /* 54732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20124 /* 54735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20125 /* 54737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20126 /* 54741 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20127 /* 54745 */ GIR_RootConstrainSelectedInstOperands,
20128 /* 54746 */ // GIR_Coverage, 18418,
20129 /* 54746 */ GIR_EraseRootFromParent_Done,
20130 /* 54747 */ // Label 1712: @54747
20131 /* 54747 */ GIM_Reject,
20132 /* 54748 */ // Label 1707: @54748
20133 /* 54748 */ GIM_Try, /*On fail goto*//*Label 1713*/ GIMT_Encode4(54820),
20134 /* 54753 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20135 /* 54757 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20136 /* 54761 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1714*/ GIMT_Encode4(54790), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19932 //
20137 /* 54768 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20138 /* 54775 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20139 /* 54775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
20140 /* 54778 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20141 /* 54780 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20142 /* 54784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20143 /* 54788 */ GIR_RootConstrainSelectedInstOperands,
20144 /* 54789 */ // GIR_Coverage, 19932,
20145 /* 54789 */ GIR_EraseRootFromParent_Done,
20146 /* 54790 */ // Label 1714: @54790
20147 /* 54790 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1715*/ GIMT_Encode4(54819), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19933 //
20148 /* 54797 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20149 /* 54804 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20150 /* 54804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
20151 /* 54807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20152 /* 54809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20153 /* 54813 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20154 /* 54817 */ GIR_RootConstrainSelectedInstOperands,
20155 /* 54818 */ // GIR_Coverage, 19933,
20156 /* 54818 */ GIR_EraseRootFromParent_Done,
20157 /* 54819 */ // Label 1715: @54819
20158 /* 54819 */ GIM_Reject,
20159 /* 54820 */ // Label 1713: @54820
20160 /* 54820 */ GIM_Reject,
20161 /* 54821 */ // Label 1696: @54821
20162 /* 54821 */ GIM_Reject,
20163 /* 54822 */ // Label 1603: @54822
20164 /* 54822 */ GIM_Try, /*On fail goto*//*Label 1716*/ GIMT_Encode4(55133),
20165 /* 54827 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20166 /* 54830 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20167 /* 54834 */ GIM_Try, /*On fail goto*//*Label 1717*/ GIMT_Encode4(54988),
20168 /* 54839 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
20169 /* 54843 */ GIM_Try, /*On fail goto*//*Label 1718*/ GIMT_Encode4(54915),
20170 /* 54848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20171 /* 54852 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20172 /* 54856 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1719*/ GIMT_Encode4(54885), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17975 //
20173 /* 54863 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20174 /* 54870 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPSYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
20175 /* 54870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
20176 /* 54873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20177 /* 54875 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20178 /* 54879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20179 /* 54883 */ GIR_RootConstrainSelectedInstOperands,
20180 /* 54884 */ // GIR_Coverage, 17975,
20181 /* 54884 */ GIR_EraseRootFromParent_Done,
20182 /* 54885 */ // Label 1719: @54885
20183 /* 54885 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1720*/ GIMT_Encode4(54914), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17998 //
20184 /* 54892 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20185 /* 54899 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPSYrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
20186 /* 54899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
20187 /* 54902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20188 /* 54904 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20189 /* 54908 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20190 /* 54912 */ GIR_RootConstrainSelectedInstOperands,
20191 /* 54913 */ // GIR_Coverage, 17998,
20192 /* 54913 */ GIR_EraseRootFromParent_Done,
20193 /* 54914 */ // Label 1720: @54914
20194 /* 54914 */ GIM_Reject,
20195 /* 54915 */ // Label 1718: @54915
20196 /* 54915 */ GIM_Try, /*On fail goto*//*Label 1721*/ GIMT_Encode4(54987),
20197 /* 54920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20198 /* 54924 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20199 /* 54928 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1722*/ GIMT_Encode4(54957), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19948 //
20200 /* 54935 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20201 /* 54942 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVDQA64Z256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
20202 /* 54942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
20203 /* 54945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20204 /* 54947 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20205 /* 54951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20206 /* 54955 */ GIR_RootConstrainSelectedInstOperands,
20207 /* 54956 */ // GIR_Coverage, 19948,
20208 /* 54956 */ GIR_EraseRootFromParent_Done,
20209 /* 54957 */ // Label 1722: @54957
20210 /* 54957 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1723*/ GIMT_Encode4(54986), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19949 //
20211 /* 54964 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20212 /* 54971 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPSZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
20213 /* 54971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rm),
20214 /* 54974 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20215 /* 54976 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20216 /* 54980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20217 /* 54984 */ GIR_RootConstrainSelectedInstOperands,
20218 /* 54985 */ // GIR_Coverage, 19949,
20219 /* 54985 */ GIR_EraseRootFromParent_Done,
20220 /* 54986 */ // Label 1723: @54986
20221 /* 54986 */ GIM_Reject,
20222 /* 54987 */ // Label 1721: @54987
20223 /* 54987 */ GIM_Reject,
20224 /* 54988 */ // Label 1717: @54988
20225 /* 54988 */ GIM_Try, /*On fail goto*//*Label 1724*/ GIMT_Encode4(55060),
20226 /* 54993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20227 /* 54997 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20228 /* 55001 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1725*/ GIMT_Encode4(55030), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17979 //
20229 /* 55008 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20230 /* 55015 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
20231 /* 55015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
20232 /* 55018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20233 /* 55020 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20234 /* 55024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20235 /* 55028 */ GIR_RootConstrainSelectedInstOperands,
20236 /* 55029 */ // GIR_Coverage, 17979,
20237 /* 55029 */ GIR_EraseRootFromParent_Done,
20238 /* 55030 */ // Label 1725: @55030
20239 /* 55030 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1726*/ GIMT_Encode4(55059), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17999 //
20240 /* 55037 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20241 /* 55044 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
20242 /* 55044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
20243 /* 55047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20244 /* 55049 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20245 /* 55053 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20246 /* 55057 */ GIR_RootConstrainSelectedInstOperands,
20247 /* 55058 */ // GIR_Coverage, 17999,
20248 /* 55058 */ GIR_EraseRootFromParent_Done,
20249 /* 55059 */ // Label 1726: @55059
20250 /* 55059 */ GIM_Reject,
20251 /* 55060 */ // Label 1724: @55060
20252 /* 55060 */ GIM_Try, /*On fail goto*//*Label 1727*/ GIMT_Encode4(55132),
20253 /* 55065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20254 /* 55069 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20255 /* 55073 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1728*/ GIMT_Encode4(55102), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19952 //
20256 /* 55080 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20257 /* 55087 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
20258 /* 55087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
20259 /* 55090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20260 /* 55092 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20261 /* 55096 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20262 /* 55100 */ GIR_RootConstrainSelectedInstOperands,
20263 /* 55101 */ // GIR_Coverage, 19952,
20264 /* 55101 */ GIR_EraseRootFromParent_Done,
20265 /* 55102 */ // Label 1728: @55102
20266 /* 55102 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1729*/ GIMT_Encode4(55131), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19953 //
20267 /* 55109 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20268 /* 55116 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
20269 /* 55116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256rm),
20270 /* 55119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20271 /* 55121 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20272 /* 55125 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20273 /* 55129 */ GIR_RootConstrainSelectedInstOperands,
20274 /* 55130 */ // GIR_Coverage, 19953,
20275 /* 55130 */ GIR_EraseRootFromParent_Done,
20276 /* 55131 */ // Label 1729: @55131
20277 /* 55131 */ GIM_Reject,
20278 /* 55132 */ // Label 1727: @55132
20279 /* 55132 */ GIM_Reject,
20280 /* 55133 */ // Label 1716: @55133
20281 /* 55133 */ GIM_Reject,
20282 /* 55134 */ // Label 1604: @55134
20283 /* 55134 */ GIM_Try, /*On fail goto*//*Label 1730*/ GIMT_Encode4(55295),
20284 /* 55139 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20285 /* 55142 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20286 /* 55146 */ GIM_Try, /*On fail goto*//*Label 1731*/ GIMT_Encode4(55222),
20287 /* 55151 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
20288 /* 55155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20289 /* 55159 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20290 /* 55163 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1732*/ GIMT_Encode4(55192), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19908 //
20291 /* 55170 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20292 /* 55177 */ // (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload512>> => (VMOVDQA64Zrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
20293 /* 55177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
20294 /* 55180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20295 /* 55182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20296 /* 55186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20297 /* 55190 */ GIR_RootConstrainSelectedInstOperands,
20298 /* 55191 */ // GIR_Coverage, 19908,
20299 /* 55191 */ GIR_EraseRootFromParent_Done,
20300 /* 55192 */ // Label 1732: @55192
20301 /* 55192 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1733*/ GIMT_Encode4(55221), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19909 //
20302 /* 55199 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20303 /* 55206 */ // (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload512>> => (VMOVAPSZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
20304 /* 55206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrm),
20305 /* 55209 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20306 /* 55211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20307 /* 55215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20308 /* 55219 */ GIR_RootConstrainSelectedInstOperands,
20309 /* 55220 */ // GIR_Coverage, 19909,
20310 /* 55220 */ GIR_EraseRootFromParent_Done,
20311 /* 55221 */ // Label 1733: @55221
20312 /* 55221 */ GIM_Reject,
20313 /* 55222 */ // Label 1731: @55222
20314 /* 55222 */ GIM_Try, /*On fail goto*//*Label 1734*/ GIMT_Encode4(55294),
20315 /* 55227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20316 /* 55231 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20317 /* 55235 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1735*/ GIMT_Encode4(55264), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19912 //
20318 /* 55242 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20319 /* 55249 */ // (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
20320 /* 55249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
20321 /* 55252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20322 /* 55254 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20323 /* 55258 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20324 /* 55262 */ GIR_RootConstrainSelectedInstOperands,
20325 /* 55263 */ // GIR_Coverage, 19912,
20326 /* 55263 */ GIR_EraseRootFromParent_Done,
20327 /* 55264 */ // Label 1735: @55264
20328 /* 55264 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1736*/ GIMT_Encode4(55293), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19913 //
20329 /* 55271 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20330 /* 55278 */ // (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
20331 /* 55278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZrm),
20332 /* 55281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20333 /* 55283 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20334 /* 55287 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20335 /* 55291 */ GIR_RootConstrainSelectedInstOperands,
20336 /* 55292 */ // GIR_Coverage, 19913,
20337 /* 55292 */ GIR_EraseRootFromParent_Done,
20338 /* 55293 */ // Label 1736: @55293
20339 /* 55293 */ GIM_Reject,
20340 /* 55294 */ // Label 1734: @55294
20341 /* 55294 */ GIM_Reject,
20342 /* 55295 */ // Label 1730: @55295
20343 /* 55295 */ GIM_Reject,
20344 /* 55296 */ // Label 1605: @55296
20345 /* 55296 */ GIM_Try, /*On fail goto*//*Label 1737*/ GIMT_Encode4(55421),
20346 /* 55301 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
20347 /* 55304 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(16),
20348 /* 55311 */ GIM_Try, /*On fail goto*//*Label 1738*/ GIMT_Encode4(55383),
20349 /* 55316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20350 /* 55320 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20351 /* 55324 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1739*/ GIMT_Encode4(55353), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 22728 //
20352 /* 55331 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20353 /* 55338 */ // (atomic_load:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_128_v4i32>> => (MOVAPDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20354 /* 55338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDrm),
20355 /* 55341 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20356 /* 55343 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20357 /* 55347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20358 /* 55351 */ GIR_RootConstrainSelectedInstOperands,
20359 /* 55352 */ // GIR_Coverage, 22728,
20360 /* 55352 */ GIR_EraseRootFromParent_Done,
20361 /* 55353 */ // Label 1739: @55353
20362 /* 55353 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1740*/ GIMT_Encode4(55382), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22729 //
20363 /* 55360 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20364 /* 55367 */ // (atomic_load:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_128_v4i32>> => (VMOVAPDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20365 /* 55367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDrm),
20366 /* 55370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20367 /* 55372 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20368 /* 55376 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20369 /* 55380 */ GIR_RootConstrainSelectedInstOperands,
20370 /* 55381 */ // GIR_Coverage, 22729,
20371 /* 55381 */ GIR_EraseRootFromParent_Done,
20372 /* 55382 */ // Label 1740: @55382
20373 /* 55382 */ GIM_Reject,
20374 /* 55383 */ // Label 1738: @55383
20375 /* 55383 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1741*/ GIMT_Encode4(55420), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22730 //
20376 /* 55390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20377 /* 55394 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20378 /* 55398 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20379 /* 55405 */ // (atomic_load:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_128_v4i32>> => (VMOVAPDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20380 /* 55405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rm),
20381 /* 55408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20382 /* 55410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20383 /* 55414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20384 /* 55418 */ GIR_RootConstrainSelectedInstOperands,
20385 /* 55419 */ // GIR_Coverage, 22730,
20386 /* 55419 */ GIR_EraseRootFromParent_Done,
20387 /* 55420 */ // Label 1741: @55420
20388 /* 55420 */ GIM_Reject,
20389 /* 55421 */ // Label 1737: @55421
20390 /* 55421 */ GIM_Try, /*On fail goto*//*Label 1742*/ GIMT_Encode4(55880),
20391 /* 55426 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20392 /* 55429 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20393 /* 55433 */ GIM_Try, /*On fail goto*//*Label 1743*/ GIMT_Encode4(55661),
20394 /* 55438 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
20395 /* 55442 */ GIM_Try, /*On fail goto*//*Label 1744*/ GIMT_Encode4(55514),
20396 /* 55447 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20397 /* 55451 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20398 /* 55455 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1745*/ GIMT_Encode4(55484), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1678 //
20399 /* 55462 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20400 /* 55469 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVAPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20401 /* 55469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSrm),
20402 /* 55472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20403 /* 55474 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20404 /* 55478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20405 /* 55482 */ GIR_RootConstrainSelectedInstOperands,
20406 /* 55483 */ // GIR_Coverage, 1678,
20407 /* 55483 */ GIR_EraseRootFromParent_Done,
20408 /* 55484 */ // Label 1745: @55484
20409 /* 55484 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1746*/ GIMT_Encode4(55513), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1686 //
20410 /* 55491 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20411 /* 55498 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (MOVAPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20412 /* 55498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20413 /* 55501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20414 /* 55503 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20415 /* 55507 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20416 /* 55511 */ GIR_RootConstrainSelectedInstOperands,
20417 /* 55512 */ // GIR_Coverage, 1686,
20418 /* 55512 */ GIR_EraseRootFromParent_Done,
20419 /* 55513 */ // Label 1746: @55513
20420 /* 55513 */ GIM_Reject,
20421 /* 55514 */ // Label 1744: @55514
20422 /* 55514 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1747*/ GIMT_Encode4(55551), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4462 //
20423 /* 55521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20424 /* 55525 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20425 /* 55529 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20426 /* 55536 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVAPSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20427 /* 55536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rm),
20428 /* 55539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20429 /* 55541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20430 /* 55545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20431 /* 55549 */ GIR_RootConstrainSelectedInstOperands,
20432 /* 55550 */ // GIR_Coverage, 4462,
20433 /* 55550 */ GIR_EraseRootFromParent_Done,
20434 /* 55551 */ // Label 1747: @55551
20435 /* 55551 */ GIM_Try, /*On fail goto*//*Label 1748*/ GIMT_Encode4(55623),
20436 /* 55556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20437 /* 55560 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20438 /* 55564 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1749*/ GIMT_Encode4(55593), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18004 //
20439 /* 55571 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20440 /* 55578 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (MOVAPSrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20441 /* 55578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20442 /* 55581 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20443 /* 55583 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20444 /* 55587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20445 /* 55591 */ GIR_RootConstrainSelectedInstOperands,
20446 /* 55592 */ // GIR_Coverage, 18004,
20447 /* 55592 */ GIR_EraseRootFromParent_Done,
20448 /* 55593 */ // Label 1749: @55593
20449 /* 55593 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1750*/ GIMT_Encode4(55622), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18412 //
20450 /* 55600 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20451 /* 55607 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQArm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20452 /* 55607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20453 /* 55610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20454 /* 55612 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20455 /* 55616 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20456 /* 55620 */ GIR_RootConstrainSelectedInstOperands,
20457 /* 55621 */ // GIR_Coverage, 18412,
20458 /* 55621 */ GIR_EraseRootFromParent_Done,
20459 /* 55622 */ // Label 1750: @55622
20460 /* 55622 */ GIM_Reject,
20461 /* 55623 */ // Label 1748: @55623
20462 /* 55623 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1751*/ GIMT_Encode4(55660), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19927 //
20463 /* 55630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20464 /* 55634 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20465 /* 55638 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20466 /* 55645 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQA64Z128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20467 /* 55645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
20468 /* 55648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20469 /* 55650 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20470 /* 55654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20471 /* 55658 */ GIR_RootConstrainSelectedInstOperands,
20472 /* 55659 */ // GIR_Coverage, 19927,
20473 /* 55659 */ GIR_EraseRootFromParent_Done,
20474 /* 55660 */ // Label 1751: @55660
20475 /* 55660 */ GIM_Reject,
20476 /* 55661 */ // Label 1743: @55661
20477 /* 55661 */ GIM_Try, /*On fail goto*//*Label 1752*/ GIMT_Encode4(55733),
20478 /* 55666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20479 /* 55670 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20480 /* 55674 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1753*/ GIMT_Encode4(55703), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1680 //
20481 /* 55681 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20482 /* 55688 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20483 /* 55688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
20484 /* 55691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20485 /* 55693 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20486 /* 55697 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20487 /* 55701 */ GIR_RootConstrainSelectedInstOperands,
20488 /* 55702 */ // GIR_Coverage, 1680,
20489 /* 55702 */ GIR_EraseRootFromParent_Done,
20490 /* 55703 */ // Label 1753: @55703
20491 /* 55703 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1754*/ GIMT_Encode4(55732), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1687 //
20492 /* 55710 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20493 /* 55717 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20494 /* 55717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20495 /* 55720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20496 /* 55722 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20497 /* 55726 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20498 /* 55730 */ GIR_RootConstrainSelectedInstOperands,
20499 /* 55731 */ // GIR_Coverage, 1687,
20500 /* 55731 */ GIR_EraseRootFromParent_Done,
20501 /* 55732 */ // Label 1754: @55732
20502 /* 55732 */ GIM_Reject,
20503 /* 55733 */ // Label 1752: @55733
20504 /* 55733 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1755*/ GIMT_Encode4(55770), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4499 //
20505 /* 55740 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20506 /* 55744 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20507 /* 55748 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20508 /* 55755 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20509 /* 55755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
20510 /* 55758 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20511 /* 55760 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20512 /* 55764 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20513 /* 55768 */ GIR_RootConstrainSelectedInstOperands,
20514 /* 55769 */ // GIR_Coverage, 4499,
20515 /* 55769 */ GIR_EraseRootFromParent_Done,
20516 /* 55770 */ // Label 1755: @55770
20517 /* 55770 */ GIM_Try, /*On fail goto*//*Label 1756*/ GIMT_Encode4(55842),
20518 /* 55775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20519 /* 55779 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20520 /* 55783 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1757*/ GIMT_Encode4(55812), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18008 //
20521 /* 55790 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20522 /* 55797 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20523 /* 55797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20524 /* 55800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20525 /* 55802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20526 /* 55806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20527 /* 55810 */ GIR_RootConstrainSelectedInstOperands,
20528 /* 55811 */ // GIR_Coverage, 18008,
20529 /* 55811 */ GIR_EraseRootFromParent_Done,
20530 /* 55812 */ // Label 1757: @55812
20531 /* 55812 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1758*/ GIMT_Encode4(55841), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18416 //
20532 /* 55819 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20533 /* 55826 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20534 /* 55826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20535 /* 55829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20536 /* 55831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20537 /* 55835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20538 /* 55839 */ GIR_RootConstrainSelectedInstOperands,
20539 /* 55840 */ // GIR_Coverage, 18416,
20540 /* 55840 */ GIR_EraseRootFromParent_Done,
20541 /* 55841 */ // Label 1758: @55841
20542 /* 55841 */ GIM_Reject,
20543 /* 55842 */ // Label 1756: @55842
20544 /* 55842 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1759*/ GIMT_Encode4(55879), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19931 //
20545 /* 55849 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20546 /* 55853 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20547 /* 55857 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20548 /* 55864 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20549 /* 55864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
20550 /* 55867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20551 /* 55869 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20552 /* 55873 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20553 /* 55877 */ GIR_RootConstrainSelectedInstOperands,
20554 /* 55878 */ // GIR_Coverage, 19931,
20555 /* 55878 */ GIR_EraseRootFromParent_Done,
20556 /* 55879 */ // Label 1759: @55879
20557 /* 55879 */ GIM_Reject,
20558 /* 55880 */ // Label 1742: @55880
20559 /* 55880 */ GIM_Reject,
20560 /* 55881 */ // Label 1606: @55881
20561 /* 55881 */ GIM_Try, /*On fail goto*//*Label 1760*/ GIMT_Encode4(56200),
20562 /* 55886 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20563 /* 55889 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20564 /* 55893 */ GIM_Try, /*On fail goto*//*Label 1761*/ GIMT_Encode4(56051),
20565 /* 55898 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
20566 /* 55902 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1762*/ GIMT_Encode4(55939), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1682 //
20567 /* 55909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20568 /* 55913 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20569 /* 55917 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20570 /* 55924 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
20571 /* 55924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
20572 /* 55927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20573 /* 55929 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20574 /* 55933 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20575 /* 55937 */ GIR_RootConstrainSelectedInstOperands,
20576 /* 55938 */ // GIR_Coverage, 1682,
20577 /* 55938 */ GIR_EraseRootFromParent_Done,
20578 /* 55939 */ // Label 1762: @55939
20579 /* 55939 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1763*/ GIMT_Encode4(55976), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4457 //
20580 /* 55946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20581 /* 55950 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20582 /* 55954 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20583 /* 55961 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
20584 /* 55961 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rm),
20585 /* 55964 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20586 /* 55966 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20587 /* 55970 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20588 /* 55974 */ GIR_RootConstrainSelectedInstOperands,
20589 /* 55975 */ // GIR_Coverage, 4457,
20590 /* 55975 */ GIR_EraseRootFromParent_Done,
20591 /* 55976 */ // Label 1763: @55976
20592 /* 55976 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1764*/ GIMT_Encode4(56013), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17974 //
20593 /* 55983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20594 /* 55987 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20595 /* 55991 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20596 /* 55998 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPSYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
20597 /* 55998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
20598 /* 56001 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20599 /* 56003 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20600 /* 56007 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20601 /* 56011 */ GIR_RootConstrainSelectedInstOperands,
20602 /* 56012 */ // GIR_Coverage, 17974,
20603 /* 56012 */ GIR_EraseRootFromParent_Done,
20604 /* 56013 */ // Label 1764: @56013
20605 /* 56013 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1765*/ GIMT_Encode4(56050), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19947 //
20606 /* 56020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20607 /* 56024 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20608 /* 56028 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20609 /* 56035 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVDQA64Z256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
20610 /* 56035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
20611 /* 56038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20612 /* 56040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20613 /* 56044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20614 /* 56048 */ GIR_RootConstrainSelectedInstOperands,
20615 /* 56049 */ // GIR_Coverage, 19947,
20616 /* 56049 */ GIR_EraseRootFromParent_Done,
20617 /* 56050 */ // Label 1765: @56050
20618 /* 56050 */ GIM_Reject,
20619 /* 56051 */ // Label 1761: @56051
20620 /* 56051 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1766*/ GIMT_Encode4(56088), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1684 //
20621 /* 56058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20622 /* 56062 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20623 /* 56066 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20624 /* 56073 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
20625 /* 56073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
20626 /* 56076 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20627 /* 56078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20628 /* 56082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20629 /* 56086 */ GIR_RootConstrainSelectedInstOperands,
20630 /* 56087 */ // GIR_Coverage, 1684,
20631 /* 56087 */ GIR_EraseRootFromParent_Done,
20632 /* 56088 */ // Label 1766: @56088
20633 /* 56088 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1767*/ GIMT_Encode4(56125), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4496 //
20634 /* 56095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20635 /* 56099 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20636 /* 56103 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20637 /* 56110 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
20638 /* 56110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256rm),
20639 /* 56113 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20640 /* 56115 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20641 /* 56119 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20642 /* 56123 */ GIR_RootConstrainSelectedInstOperands,
20643 /* 56124 */ // GIR_Coverage, 4496,
20644 /* 56124 */ GIR_EraseRootFromParent_Done,
20645 /* 56125 */ // Label 1767: @56125
20646 /* 56125 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1768*/ GIMT_Encode4(56162), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17978 //
20647 /* 56132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20648 /* 56136 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20649 /* 56140 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20650 /* 56147 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
20651 /* 56147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
20652 /* 56150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20653 /* 56152 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20654 /* 56156 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20655 /* 56160 */ GIR_RootConstrainSelectedInstOperands,
20656 /* 56161 */ // GIR_Coverage, 17978,
20657 /* 56161 */ GIR_EraseRootFromParent_Done,
20658 /* 56162 */ // Label 1768: @56162
20659 /* 56162 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1769*/ GIMT_Encode4(56199), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19951 //
20660 /* 56169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20661 /* 56173 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20662 /* 56177 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20663 /* 56184 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
20664 /* 56184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
20665 /* 56187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20666 /* 56189 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20667 /* 56193 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20668 /* 56197 */ GIR_RootConstrainSelectedInstOperands,
20669 /* 56198 */ // GIR_Coverage, 19951,
20670 /* 56198 */ GIR_EraseRootFromParent_Done,
20671 /* 56199 */ // Label 1769: @56199
20672 /* 56199 */ GIM_Reject,
20673 /* 56200 */ // Label 1760: @56200
20674 /* 56200 */ GIM_Reject,
20675 /* 56201 */ // Label 1607: @56201
20676 /* 56201 */ GIM_Try, /*On fail goto*//*Label 1770*/ GIMT_Encode4(56362),
20677 /* 56206 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20678 /* 56209 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20679 /* 56213 */ GIM_Try, /*On fail goto*//*Label 1771*/ GIMT_Encode4(56289),
20680 /* 56218 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
20681 /* 56222 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20682 /* 56226 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20683 /* 56230 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1772*/ GIMT_Encode4(56259), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4452 //
20684 /* 56237 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20685 /* 56244 */ // (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload512>> => (VMOVAPSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
20686 /* 56244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrm),
20687 /* 56247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20688 /* 56249 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20689 /* 56253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20690 /* 56257 */ GIR_RootConstrainSelectedInstOperands,
20691 /* 56258 */ // GIR_Coverage, 4452,
20692 /* 56258 */ GIR_EraseRootFromParent_Done,
20693 /* 56259 */ // Label 1772: @56259
20694 /* 56259 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1773*/ GIMT_Encode4(56288), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19907 //
20695 /* 56266 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20696 /* 56273 */ // (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload512>> => (VMOVDQA64Zrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
20697 /* 56273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
20698 /* 56276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20699 /* 56278 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20700 /* 56282 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20701 /* 56286 */ GIR_RootConstrainSelectedInstOperands,
20702 /* 56287 */ // GIR_Coverage, 19907,
20703 /* 56287 */ GIR_EraseRootFromParent_Done,
20704 /* 56288 */ // Label 1773: @56288
20705 /* 56288 */ GIM_Reject,
20706 /* 56289 */ // Label 1771: @56289
20707 /* 56289 */ GIM_Try, /*On fail goto*//*Label 1774*/ GIMT_Encode4(56361),
20708 /* 56294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20709 /* 56298 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20710 /* 56302 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1775*/ GIMT_Encode4(56331), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4493 //
20711 /* 56309 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20712 /* 56316 */ // (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
20713 /* 56316 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZrm),
20714 /* 56319 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20715 /* 56321 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20716 /* 56325 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20717 /* 56329 */ GIR_RootConstrainSelectedInstOperands,
20718 /* 56330 */ // GIR_Coverage, 4493,
20719 /* 56330 */ GIR_EraseRootFromParent_Done,
20720 /* 56331 */ // Label 1775: @56331
20721 /* 56331 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1776*/ GIMT_Encode4(56360), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19911 //
20722 /* 56338 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20723 /* 56345 */ // (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
20724 /* 56345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
20725 /* 56348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20726 /* 56350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20727 /* 56354 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20728 /* 56358 */ GIR_RootConstrainSelectedInstOperands,
20729 /* 56359 */ // GIR_Coverage, 19911,
20730 /* 56359 */ GIR_EraseRootFromParent_Done,
20731 /* 56360 */ // Label 1776: @56360
20732 /* 56360 */ GIM_Reject,
20733 /* 56361 */ // Label 1774: @56361
20734 /* 56361 */ GIM_Reject,
20735 /* 56362 */ // Label 1770: @56362
20736 /* 56362 */ GIM_Reject,
20737 /* 56363 */ // Label 1608: @56363
20738 /* 56363 */ GIM_Try, /*On fail goto*//*Label 1777*/ GIMT_Encode4(56488),
20739 /* 56368 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
20740 /* 56371 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(16),
20741 /* 56378 */ GIM_Try, /*On fail goto*//*Label 1778*/ GIMT_Encode4(56450),
20742 /* 56383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20743 /* 56387 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20744 /* 56391 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1779*/ GIMT_Encode4(56420), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 22725 //
20745 /* 56398 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20746 /* 56405 */ // (atomic_load:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_128_v2i64>> => (MOVAPDrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20747 /* 56405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDrm),
20748 /* 56408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20749 /* 56410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20750 /* 56414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20751 /* 56418 */ GIR_RootConstrainSelectedInstOperands,
20752 /* 56419 */ // GIR_Coverage, 22725,
20753 /* 56419 */ GIR_EraseRootFromParent_Done,
20754 /* 56420 */ // Label 1779: @56420
20755 /* 56420 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1780*/ GIMT_Encode4(56449), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22726 //
20756 /* 56427 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20757 /* 56434 */ // (atomic_load:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_128_v2i64>> => (VMOVAPDrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20758 /* 56434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDrm),
20759 /* 56437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20760 /* 56439 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20761 /* 56443 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20762 /* 56447 */ GIR_RootConstrainSelectedInstOperands,
20763 /* 56448 */ // GIR_Coverage, 22726,
20764 /* 56448 */ GIR_EraseRootFromParent_Done,
20765 /* 56449 */ // Label 1780: @56449
20766 /* 56449 */ GIM_Reject,
20767 /* 56450 */ // Label 1778: @56450
20768 /* 56450 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1781*/ GIMT_Encode4(56487), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22727 //
20769 /* 56457 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20770 /* 56461 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20771 /* 56465 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20772 /* 56472 */ // (atomic_load:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_128_v2i64>> => (VMOVAPDZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20773 /* 56472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rm),
20774 /* 56475 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20775 /* 56477 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20776 /* 56481 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20777 /* 56485 */ GIR_RootConstrainSelectedInstOperands,
20778 /* 56486 */ // GIR_Coverage, 22727,
20779 /* 56486 */ GIR_EraseRootFromParent_Done,
20780 /* 56487 */ // Label 1781: @56487
20781 /* 56487 */ GIM_Reject,
20782 /* 56488 */ // Label 1777: @56488
20783 /* 56488 */ GIM_Try, /*On fail goto*//*Label 1782*/ GIMT_Encode4(56931),
20784 /* 56493 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20785 /* 56496 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20786 /* 56500 */ GIM_Try, /*On fail goto*//*Label 1783*/ GIMT_Encode4(56720),
20787 /* 56505 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
20788 /* 56509 */ GIM_Try, /*On fail goto*//*Label 1784*/ GIMT_Encode4(56610),
20789 /* 56514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20790 /* 56518 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20791 /* 56522 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1785*/ GIMT_Encode4(56551), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1679 //
20792 /* 56529 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20793 /* 56536 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVAPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20794 /* 56536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDrm),
20795 /* 56539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20796 /* 56541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20797 /* 56545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20798 /* 56549 */ GIR_RootConstrainSelectedInstOperands,
20799 /* 56550 */ // GIR_Coverage, 1679,
20800 /* 56550 */ GIR_EraseRootFromParent_Done,
20801 /* 56551 */ // Label 1785: @56551
20802 /* 56551 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1786*/ GIMT_Encode4(56580), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1688 //
20803 /* 56558 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20804 /* 56565 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (MOVAPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20805 /* 56565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDrm),
20806 /* 56568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20807 /* 56570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20808 /* 56574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20809 /* 56578 */ GIR_RootConstrainSelectedInstOperands,
20810 /* 56579 */ // GIR_Coverage, 1688,
20811 /* 56579 */ GIR_EraseRootFromParent_Done,
20812 /* 56580 */ // Label 1786: @56580
20813 /* 56580 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1787*/ GIMT_Encode4(56609), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2499 //
20814 /* 56587 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20815 /* 56594 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQArm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20816 /* 56594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20817 /* 56597 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20818 /* 56599 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20819 /* 56603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20820 /* 56607 */ GIR_RootConstrainSelectedInstOperands,
20821 /* 56608 */ // GIR_Coverage, 2499,
20822 /* 56608 */ GIR_EraseRootFromParent_Done,
20823 /* 56609 */ // Label 1787: @56609
20824 /* 56609 */ GIM_Reject,
20825 /* 56610 */ // Label 1784: @56610
20826 /* 56610 */ GIM_Try, /*On fail goto*//*Label 1788*/ GIMT_Encode4(56682),
20827 /* 56615 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20828 /* 56619 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20829 /* 56623 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1789*/ GIMT_Encode4(56652), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4483 //
20830 /* 56630 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20831 /* 56637 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVAPDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20832 /* 56637 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rm),
20833 /* 56640 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20834 /* 56642 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20835 /* 56646 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20836 /* 56650 */ GIR_RootConstrainSelectedInstOperands,
20837 /* 56651 */ // GIR_Coverage, 4483,
20838 /* 56651 */ GIR_EraseRootFromParent_Done,
20839 /* 56652 */ // Label 1789: @56652
20840 /* 56652 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1790*/ GIMT_Encode4(56681), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4540 //
20841 /* 56659 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20842 /* 56666 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (VMOVDQA64Z128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20843 /* 56666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
20844 /* 56669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20845 /* 56671 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20846 /* 56675 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20847 /* 56679 */ GIR_RootConstrainSelectedInstOperands,
20848 /* 56680 */ // GIR_Coverage, 4540,
20849 /* 56680 */ GIR_EraseRootFromParent_Done,
20850 /* 56681 */ // Label 1790: @56681
20851 /* 56681 */ GIM_Reject,
20852 /* 56682 */ // Label 1788: @56682
20853 /* 56682 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1791*/ GIMT_Encode4(56719), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18003 //
20854 /* 56689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20855 /* 56693 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20856 /* 56697 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20857 /* 56704 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload128>> => (MOVAPSrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20858 /* 56704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20859 /* 56707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20860 /* 56709 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20861 /* 56713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20862 /* 56717 */ GIR_RootConstrainSelectedInstOperands,
20863 /* 56718 */ // GIR_Coverage, 18003,
20864 /* 56718 */ GIR_EraseRootFromParent_Done,
20865 /* 56719 */ // Label 1791: @56719
20866 /* 56719 */ GIM_Reject,
20867 /* 56720 */ // Label 1783: @56720
20868 /* 56720 */ GIM_Try, /*On fail goto*//*Label 1792*/ GIMT_Encode4(56821),
20869 /* 56725 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20870 /* 56729 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20871 /* 56733 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1793*/ GIMT_Encode4(56762), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1681 //
20872 /* 56740 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20873 /* 56747 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20874 /* 56747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDrm),
20875 /* 56750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20876 /* 56752 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20877 /* 56756 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20878 /* 56760 */ GIR_RootConstrainSelectedInstOperands,
20879 /* 56761 */ // GIR_Coverage, 1681,
20880 /* 56761 */ GIR_EraseRootFromParent_Done,
20881 /* 56762 */ // Label 1793: @56762
20882 /* 56762 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1794*/ GIMT_Encode4(56791), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1689 //
20883 /* 56769 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20884 /* 56776 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20885 /* 56776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPDrm),
20886 /* 56779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20887 /* 56781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20888 /* 56785 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20889 /* 56789 */ GIR_RootConstrainSelectedInstOperands,
20890 /* 56790 */ // GIR_Coverage, 1689,
20891 /* 56790 */ GIR_EraseRootFromParent_Done,
20892 /* 56791 */ // Label 1794: @56791
20893 /* 56791 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1795*/ GIMT_Encode4(56820), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2500 //
20894 /* 56798 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20895 /* 56805 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20896 /* 56805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20897 /* 56808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20898 /* 56810 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20899 /* 56814 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20900 /* 56818 */ GIR_RootConstrainSelectedInstOperands,
20901 /* 56819 */ // GIR_Coverage, 2500,
20902 /* 56819 */ GIR_EraseRootFromParent_Done,
20903 /* 56820 */ // Label 1795: @56820
20904 /* 56820 */ GIM_Reject,
20905 /* 56821 */ // Label 1792: @56821
20906 /* 56821 */ GIM_Try, /*On fail goto*//*Label 1796*/ GIMT_Encode4(56893),
20907 /* 56826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20908 /* 56830 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20909 /* 56834 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1797*/ GIMT_Encode4(56863), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4511 //
20910 /* 56841 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20911 /* 56848 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20912 /* 56848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ128rm),
20913 /* 56851 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20914 /* 56853 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20915 /* 56857 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20916 /* 56861 */ GIR_RootConstrainSelectedInstOperands,
20917 /* 56862 */ // GIR_Coverage, 4511,
20918 /* 56862 */ GIR_EraseRootFromParent_Done,
20919 /* 56863 */ // Label 1797: @56863
20920 /* 56863 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1798*/ GIMT_Encode4(56892), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4586 //
20921 /* 56870 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20922 /* 56877 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20923 /* 56877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
20924 /* 56880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20925 /* 56882 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20926 /* 56886 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20927 /* 56890 */ GIR_RootConstrainSelectedInstOperands,
20928 /* 56891 */ // GIR_Coverage, 4586,
20929 /* 56891 */ GIR_EraseRootFromParent_Done,
20930 /* 56892 */ // Label 1798: @56892
20931 /* 56892 */ GIM_Reject,
20932 /* 56893 */ // Label 1796: @56893
20933 /* 56893 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1799*/ GIMT_Encode4(56930), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18007 //
20934 /* 56900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20935 /* 56904 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20936 /* 56908 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20937 /* 56915 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20938 /* 56915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20939 /* 56918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20940 /* 56920 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20941 /* 56924 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20942 /* 56928 */ GIR_RootConstrainSelectedInstOperands,
20943 /* 56929 */ // GIR_Coverage, 18007,
20944 /* 56929 */ GIR_EraseRootFromParent_Done,
20945 /* 56930 */ // Label 1799: @56930
20946 /* 56930 */ GIM_Reject,
20947 /* 56931 */ // Label 1782: @56931
20948 /* 56931 */ GIM_Reject,
20949 /* 56932 */ // Label 1609: @56932
20950 /* 56932 */ GIM_Try, /*On fail goto*//*Label 1800*/ GIMT_Encode4(57247),
20951 /* 56937 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20952 /* 56940 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20953 /* 56944 */ GIM_Try, /*On fail goto*//*Label 1801*/ GIMT_Encode4(57100),
20954 /* 56949 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
20955 /* 56953 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1802*/ GIMT_Encode4(56990), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1683 //
20956 /* 56960 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20957 /* 56964 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20958 /* 56968 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20959 /* 56975 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
20960 /* 56975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDYrm),
20961 /* 56978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20962 /* 56980 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20963 /* 56984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20964 /* 56988 */ GIR_RootConstrainSelectedInstOperands,
20965 /* 56989 */ // GIR_Coverage, 1683,
20966 /* 56989 */ GIR_EraseRootFromParent_Done,
20967 /* 56990 */ // Label 1802: @56990
20968 /* 56990 */ GIM_Try, /*On fail goto*//*Label 1803*/ GIMT_Encode4(57062),
20969 /* 56995 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20970 /* 56999 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20971 /* 57003 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1804*/ GIMT_Encode4(57032), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4478 //
20972 /* 57010 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20973 /* 57017 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
20974 /* 57017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rm),
20975 /* 57020 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20976 /* 57022 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20977 /* 57026 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20978 /* 57030 */ GIR_RootConstrainSelectedInstOperands,
20979 /* 57031 */ // GIR_Coverage, 4478,
20980 /* 57031 */ GIR_EraseRootFromParent_Done,
20981 /* 57032 */ // Label 1804: @57032
20982 /* 57032 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1805*/ GIMT_Encode4(57061), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4535 //
20983 /* 57039 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20984 /* 57046 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVDQA64Z256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
20985 /* 57046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
20986 /* 57049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20987 /* 57051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20988 /* 57055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20989 /* 57059 */ GIR_RootConstrainSelectedInstOperands,
20990 /* 57060 */ // GIR_Coverage, 4535,
20991 /* 57060 */ GIR_EraseRootFromParent_Done,
20992 /* 57061 */ // Label 1805: @57061
20993 /* 57061 */ GIM_Reject,
20994 /* 57062 */ // Label 1803: @57062
20995 /* 57062 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1806*/ GIMT_Encode4(57099), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17973 //
20996 /* 57069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20997 /* 57073 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20998 /* 57077 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20999 /* 57084 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload256>> => (VMOVAPSYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
21000 /* 57084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
21001 /* 57087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21002 /* 57089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21003 /* 57093 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21004 /* 57097 */ GIR_RootConstrainSelectedInstOperands,
21005 /* 57098 */ // GIR_Coverage, 17973,
21006 /* 57098 */ GIR_EraseRootFromParent_Done,
21007 /* 57099 */ // Label 1806: @57099
21008 /* 57099 */ GIM_Reject,
21009 /* 57100 */ // Label 1801: @57100
21010 /* 57100 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1807*/ GIMT_Encode4(57137), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1685 //
21011 /* 57107 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21012 /* 57111 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21013 /* 57115 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21014 /* 57122 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
21015 /* 57122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDYrm),
21016 /* 57125 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21017 /* 57127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21018 /* 57131 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21019 /* 57135 */ GIR_RootConstrainSelectedInstOperands,
21020 /* 57136 */ // GIR_Coverage, 1685,
21021 /* 57136 */ GIR_EraseRootFromParent_Done,
21022 /* 57137 */ // Label 1807: @57137
21023 /* 57137 */ GIM_Try, /*On fail goto*//*Label 1808*/ GIMT_Encode4(57209),
21024 /* 57142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21025 /* 57146 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21026 /* 57150 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1809*/ GIMT_Encode4(57179), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4508 //
21027 /* 57157 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21028 /* 57164 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
21029 /* 57164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ256rm),
21030 /* 57167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21031 /* 57169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21032 /* 57173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21033 /* 57177 */ GIR_RootConstrainSelectedInstOperands,
21034 /* 57178 */ // GIR_Coverage, 4508,
21035 /* 57178 */ GIR_EraseRootFromParent_Done,
21036 /* 57179 */ // Label 1809: @57179
21037 /* 57179 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1810*/ GIMT_Encode4(57208), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4583 //
21038 /* 57186 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21039 /* 57193 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
21040 /* 57193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
21041 /* 57196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21042 /* 57198 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21043 /* 57202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21044 /* 57206 */ GIR_RootConstrainSelectedInstOperands,
21045 /* 57207 */ // GIR_Coverage, 4583,
21046 /* 57207 */ GIR_EraseRootFromParent_Done,
21047 /* 57208 */ // Label 1810: @57208
21048 /* 57208 */ GIM_Reject,
21049 /* 57209 */ // Label 1808: @57209
21050 /* 57209 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1811*/ GIMT_Encode4(57246), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17977 //
21051 /* 57216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21052 /* 57220 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21053 /* 57224 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21054 /* 57231 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
21055 /* 57231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
21056 /* 57234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21057 /* 57236 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21058 /* 57240 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21059 /* 57244 */ GIR_RootConstrainSelectedInstOperands,
21060 /* 57245 */ // GIR_Coverage, 17977,
21061 /* 57245 */ GIR_EraseRootFromParent_Done,
21062 /* 57246 */ // Label 1811: @57246
21063 /* 57246 */ GIM_Reject,
21064 /* 57247 */ // Label 1800: @57247
21065 /* 57247 */ GIM_Reject,
21066 /* 57248 */ // Label 1610: @57248
21067 /* 57248 */ GIM_Try, /*On fail goto*//*Label 1812*/ GIMT_Encode4(57409),
21068 /* 57253 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21069 /* 57256 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21070 /* 57260 */ GIM_Try, /*On fail goto*//*Label 1813*/ GIMT_Encode4(57336),
21071 /* 57265 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
21072 /* 57269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21073 /* 57273 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21074 /* 57277 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1814*/ GIMT_Encode4(57306), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4473 //
21075 /* 57284 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21076 /* 57291 */ // (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload512>> => (VMOVAPDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
21077 /* 57291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrm),
21078 /* 57294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21079 /* 57296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21080 /* 57300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21081 /* 57304 */ GIR_RootConstrainSelectedInstOperands,
21082 /* 57305 */ // GIR_Coverage, 4473,
21083 /* 57305 */ GIR_EraseRootFromParent_Done,
21084 /* 57306 */ // Label 1814: @57306
21085 /* 57306 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1815*/ GIMT_Encode4(57335), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4530 //
21086 /* 57313 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21087 /* 57320 */ // (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload512>> => (VMOVDQA64Zrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
21088 /* 57320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
21089 /* 57323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21090 /* 57325 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21091 /* 57329 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21092 /* 57333 */ GIR_RootConstrainSelectedInstOperands,
21093 /* 57334 */ // GIR_Coverage, 4530,
21094 /* 57334 */ GIR_EraseRootFromParent_Done,
21095 /* 57335 */ // Label 1815: @57335
21096 /* 57335 */ GIM_Reject,
21097 /* 57336 */ // Label 1813: @57336
21098 /* 57336 */ GIM_Try, /*On fail goto*//*Label 1816*/ GIMT_Encode4(57408),
21099 /* 57341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21100 /* 57345 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21101 /* 57349 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1817*/ GIMT_Encode4(57378), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4505 //
21102 /* 57356 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21103 /* 57363 */ // (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
21104 /* 57363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZrm),
21105 /* 57366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21106 /* 57368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21107 /* 57372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21108 /* 57376 */ GIR_RootConstrainSelectedInstOperands,
21109 /* 57377 */ // GIR_Coverage, 4505,
21110 /* 57377 */ GIR_EraseRootFromParent_Done,
21111 /* 57378 */ // Label 1817: @57378
21112 /* 57378 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1818*/ GIMT_Encode4(57407), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4580 //
21113 /* 57385 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21114 /* 57392 */ // (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
21115 /* 57392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
21116 /* 57395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21117 /* 57397 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21118 /* 57401 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21119 /* 57405 */ GIR_RootConstrainSelectedInstOperands,
21120 /* 57406 */ // GIR_Coverage, 4580,
21121 /* 57406 */ GIR_EraseRootFromParent_Done,
21122 /* 57407 */ // Label 1818: @57407
21123 /* 57407 */ GIM_Reject,
21124 /* 57408 */ // Label 1816: @57408
21125 /* 57408 */ GIM_Reject,
21126 /* 57409 */ // Label 1812: @57409
21127 /* 57409 */ GIM_Reject,
21128 /* 57410 */ // Label 1611: @57410
21129 /* 57410 */ GIM_Reject,
21130 /* 57411 */ // Label 12: @57411
21131 /* 57411 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 1822*/ GIMT_Encode4(57742),
21132 /* 57422 */ /*GILLT_s16*//*Label 1819*/ GIMT_Encode4(57434),
21133 /* 57426 */ /*GILLT_s32*//*Label 1820*/ GIMT_Encode4(57510),
21134 /* 57430 */ /*GILLT_s64*//*Label 1821*/ GIMT_Encode4(57604),
21135 /* 57434 */ // Label 1819: @57434
21136 /* 57434 */ GIM_Try, /*On fail goto*//*Label 1823*/ GIMT_Encode4(57509), // Rule ID 22879 //
21137 /* 57439 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21138 /* 57442 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21139 /* 57449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
21140 /* 57453 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21141 /* 57457 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21142 /* 57464 */ // (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] })
21143 /* 57464 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21144 /* 57467 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm8),
21145 /* 57471 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21146 /* 57476 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21147 /* 57480 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21148 /* 57484 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21149 /* 57486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
21150 /* 57489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21151 /* 57491 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
21152 /* 57498 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
21153 /* 57503 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21154 /* 57508 */ // GIR_Coverage, 22879,
21155 /* 57508 */ GIR_EraseRootFromParent_Done,
21156 /* 57509 */ // Label 1823: @57509
21157 /* 57509 */ GIM_Reject,
21158 /* 57510 */ // Label 1820: @57510
21159 /* 57510 */ GIM_Try, /*On fail goto*//*Label 1824*/ GIMT_Encode4(57603),
21160 /* 57515 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21161 /* 57518 */ GIM_Try, /*On fail goto*//*Label 1825*/ GIMT_Encode4(57560), // Rule ID 590 //
21162 /* 57523 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21163 /* 57530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21164 /* 57534 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21165 /* 57538 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21166 /* 57545 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> => (MOVSX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21167 /* 57545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm8),
21168 /* 57548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21169 /* 57550 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21170 /* 57554 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21171 /* 57558 */ GIR_RootConstrainSelectedInstOperands,
21172 /* 57559 */ // GIR_Coverage, 590,
21173 /* 57559 */ GIR_EraseRootFromParent_Done,
21174 /* 57560 */ // Label 1825: @57560
21175 /* 57560 */ GIM_Try, /*On fail goto*//*Label 1826*/ GIMT_Encode4(57602), // Rule ID 592 //
21176 /* 57565 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
21177 /* 57572 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21178 /* 57576 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21179 /* 57580 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21180 /* 57587 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> => (MOVSX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21181 /* 57587 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm16),
21182 /* 57590 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21183 /* 57592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21184 /* 57596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21185 /* 57600 */ GIR_RootConstrainSelectedInstOperands,
21186 /* 57601 */ // GIR_Coverage, 592,
21187 /* 57601 */ GIR_EraseRootFromParent_Done,
21188 /* 57602 */ // Label 1826: @57602
21189 /* 57602 */ GIM_Reject,
21190 /* 57603 */ // Label 1824: @57603
21191 /* 57603 */ GIM_Reject,
21192 /* 57604 */ // Label 1821: @57604
21193 /* 57604 */ GIM_Try, /*On fail goto*//*Label 1827*/ GIMT_Encode4(57741),
21194 /* 57609 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21195 /* 57612 */ GIM_Try, /*On fail goto*//*Label 1828*/ GIMT_Encode4(57654), // Rule ID 598 //
21196 /* 57617 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21197 /* 57624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21198 /* 57628 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21199 /* 57632 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21200 /* 57639 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> => (MOVSX64rm8:{ *:[i64] } addr:{ *:[iPTR] }:$src)
21201 /* 57639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm8),
21202 /* 57642 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21203 /* 57644 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21204 /* 57648 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21205 /* 57652 */ GIR_RootConstrainSelectedInstOperands,
21206 /* 57653 */ // GIR_Coverage, 598,
21207 /* 57653 */ GIR_EraseRootFromParent_Done,
21208 /* 57654 */ // Label 1828: @57654
21209 /* 57654 */ GIM_Try, /*On fail goto*//*Label 1829*/ GIMT_Encode4(57696), // Rule ID 600 //
21210 /* 57659 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
21211 /* 57666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21212 /* 57670 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21213 /* 57674 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21214 /* 57681 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> => (MOVSX64rm16:{ *:[i64] } addr:{ *:[iPTR] }:$src)
21215 /* 57681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm16),
21216 /* 57684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21217 /* 57686 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21218 /* 57690 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21219 /* 57694 */ GIR_RootConstrainSelectedInstOperands,
21220 /* 57695 */ // GIR_Coverage, 600,
21221 /* 57695 */ GIR_EraseRootFromParent_Done,
21222 /* 57696 */ // Label 1829: @57696
21223 /* 57696 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1830*/ GIMT_Encode4(57740), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 602 //
21224 /* 57703 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
21225 /* 57710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21226 /* 57714 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21227 /* 57718 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21228 /* 57725 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> => (MOVSX64rm32:{ *:[i64] } addr:{ *:[iPTR] }:$src)
21229 /* 57725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm32),
21230 /* 57728 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21231 /* 57730 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21232 /* 57734 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21233 /* 57738 */ GIR_RootConstrainSelectedInstOperands,
21234 /* 57739 */ // GIR_Coverage, 602,
21235 /* 57739 */ GIR_EraseRootFromParent_Done,
21236 /* 57740 */ // Label 1830: @57740
21237 /* 57740 */ GIM_Reject,
21238 /* 57741 */ // Label 1827: @57741
21239 /* 57741 */ GIM_Reject,
21240 /* 57742 */ // Label 1822: @57742
21241 /* 57742 */ GIM_Reject,
21242 /* 57743 */ // Label 13: @57743
21243 /* 57743 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 1835*/ GIMT_Encode4(58385),
21244 /* 57754 */ /*GILLT_s8*//*Label 1831*/ GIMT_Encode4(57770),
21245 /* 57758 */ /*GILLT_s16*//*Label 1832*/ GIMT_Encode4(57816),
21246 /* 57762 */ /*GILLT_s32*//*Label 1833*/ GIMT_Encode4(57955),
21247 /* 57766 */ /*GILLT_s64*//*Label 1834*/ GIMT_Encode4(58091),
21248 /* 57770 */ // Label 1831: @57770
21249 /* 57770 */ GIM_Try, /*On fail goto*//*Label 1836*/ GIMT_Encode4(57815), // Rule ID 22803 //
21250 /* 57775 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21251 /* 57778 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21252 /* 57785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
21253 /* 57789 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21254 /* 57793 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21255 /* 57800 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
21256 /* 57800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
21257 /* 57803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21258 /* 57805 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21259 /* 57809 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21260 /* 57813 */ GIR_RootConstrainSelectedInstOperands,
21261 /* 57814 */ // GIR_Coverage, 22803,
21262 /* 57814 */ GIR_EraseRootFromParent_Done,
21263 /* 57815 */ // Label 1836: @57815
21264 /* 57815 */ GIM_Reject,
21265 /* 57816 */ // Label 1832: @57816
21266 /* 57816 */ GIM_Try, /*On fail goto*//*Label 1837*/ GIMT_Encode4(57954),
21267 /* 57821 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21268 /* 57824 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21269 /* 57831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
21270 /* 57835 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21271 /* 57839 */ GIM_Try, /*On fail goto*//*Label 1838*/ GIMT_Encode4(57896), // Rule ID 22804 //
21272 /* 57844 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21273 /* 57851 */ // (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] })
21274 /* 57851 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21275 /* 57854 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21276 /* 57858 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21277 /* 57863 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21278 /* 57867 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21279 /* 57871 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21280 /* 57873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
21281 /* 57876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21282 /* 57878 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
21283 /* 57885 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
21284 /* 57890 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21285 /* 57895 */ // GIR_Coverage, 22804,
21286 /* 57895 */ GIR_EraseRootFromParent_Done,
21287 /* 57896 */ // Label 1838: @57896
21288 /* 57896 */ GIM_Try, /*On fail goto*//*Label 1839*/ GIMT_Encode4(57953), // Rule ID 22881 //
21289 /* 57901 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21290 /* 57908 */ // (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] })
21291 /* 57908 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21292 /* 57911 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21293 /* 57915 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21294 /* 57920 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21295 /* 57924 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21296 /* 57928 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21297 /* 57930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
21298 /* 57933 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21299 /* 57935 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
21300 /* 57942 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
21301 /* 57947 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21302 /* 57952 */ // GIR_Coverage, 22881,
21303 /* 57952 */ GIR_EraseRootFromParent_Done,
21304 /* 57953 */ // Label 1839: @57953
21305 /* 57953 */ GIM_Reject,
21306 /* 57954 */ // Label 1837: @57954
21307 /* 57954 */ GIM_Reject,
21308 /* 57955 */ // Label 1833: @57955
21309 /* 57955 */ GIM_Try, /*On fail goto*//*Label 1840*/ GIMT_Encode4(58090),
21310 /* 57960 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21311 /* 57963 */ GIM_Try, /*On fail goto*//*Label 1841*/ GIMT_Encode4(58005), // Rule ID 594 //
21312 /* 57968 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21313 /* 57975 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21314 /* 57979 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21315 /* 57983 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21316 /* 57990 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21317 /* 57990 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21318 /* 57993 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21319 /* 57995 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21320 /* 57999 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21321 /* 58003 */ GIR_RootConstrainSelectedInstOperands,
21322 /* 58004 */ // GIR_Coverage, 594,
21323 /* 58004 */ GIR_EraseRootFromParent_Done,
21324 /* 58005 */ // Label 1841: @58005
21325 /* 58005 */ GIM_Try, /*On fail goto*//*Label 1842*/ GIMT_Encode4(58047), // Rule ID 596 //
21326 /* 58010 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
21327 /* 58017 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21328 /* 58021 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21329 /* 58025 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21330 /* 58032 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> => (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21331 /* 58032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
21332 /* 58035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21333 /* 58037 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21334 /* 58041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21335 /* 58045 */ GIR_RootConstrainSelectedInstOperands,
21336 /* 58046 */ // GIR_Coverage, 596,
21337 /* 58046 */ GIR_EraseRootFromParent_Done,
21338 /* 58047 */ // Label 1842: @58047
21339 /* 58047 */ GIM_Try, /*On fail goto*//*Label 1843*/ GIMT_Encode4(58089), // Rule ID 22805 //
21340 /* 58052 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21341 /* 58059 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21342 /* 58063 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21343 /* 58067 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21344 /* 58074 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21345 /* 58074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21346 /* 58077 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21347 /* 58079 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21348 /* 58083 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21349 /* 58087 */ GIR_RootConstrainSelectedInstOperands,
21350 /* 58088 */ // GIR_Coverage, 22805,
21351 /* 58088 */ GIR_EraseRootFromParent_Done,
21352 /* 58089 */ // Label 1843: @58089
21353 /* 58089 */ GIM_Reject,
21354 /* 58090 */ // Label 1840: @58090
21355 /* 58090 */ GIM_Reject,
21356 /* 58091 */ // Label 1834: @58091
21357 /* 58091 */ GIM_Try, /*On fail goto*//*Label 1844*/ GIMT_Encode4(58384),
21358 /* 58096 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21359 /* 58099 */ GIM_Try, /*On fail goto*//*Label 1845*/ GIMT_Encode4(58170), // Rule ID 17648 //
21360 /* 58104 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21361 /* 58111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21362 /* 58115 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21363 /* 58119 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21364 /* 58126 */ // (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] })
21365 /* 58126 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21366 /* 58129 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21367 /* 58133 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21368 /* 58138 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21369 /* 58142 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21370 /* 58146 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21371 /* 58148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
21372 /* 58151 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21373 /* 58153 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21374 /* 58156 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
21375 /* 58159 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
21376 /* 58164 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21377 /* 58169 */ // GIR_Coverage, 17648,
21378 /* 58169 */ GIR_EraseRootFromParent_Done,
21379 /* 58170 */ // Label 1845: @58170
21380 /* 58170 */ GIM_Try, /*On fail goto*//*Label 1846*/ GIMT_Encode4(58241), // Rule ID 17650 //
21381 /* 58175 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
21382 /* 58182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21383 /* 58186 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21384 /* 58190 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21385 /* 58197 */ // (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] })
21386 /* 58197 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21387 /* 58200 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
21388 /* 58204 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21389 /* 58209 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21390 /* 58213 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21391 /* 58217 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21392 /* 58219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
21393 /* 58222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21394 /* 58224 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21395 /* 58227 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
21396 /* 58230 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
21397 /* 58235 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21398 /* 58240 */ // GIR_Coverage, 17650,
21399 /* 58240 */ GIR_EraseRootFromParent_Done,
21400 /* 58241 */ // Label 1846: @58241
21401 /* 58241 */ GIM_Try, /*On fail goto*//*Label 1847*/ GIMT_Encode4(58312), // Rule ID 17652 //
21402 /* 58246 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
21403 /* 58253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21404 /* 58257 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21405 /* 58261 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21406 /* 58268 */ // (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] })
21407 /* 58268 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21408 /* 58271 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
21409 /* 58275 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21410 /* 58280 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21411 /* 58284 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21412 /* 58288 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21413 /* 58290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
21414 /* 58293 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21415 /* 58295 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21416 /* 58298 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
21417 /* 58301 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
21418 /* 58306 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21419 /* 58311 */ // GIR_Coverage, 17652,
21420 /* 58311 */ GIR_EraseRootFromParent_Done,
21421 /* 58312 */ // Label 1847: @58312
21422 /* 58312 */ GIM_Try, /*On fail goto*//*Label 1848*/ GIMT_Encode4(58383), // Rule ID 22806 //
21423 /* 58317 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21424 /* 58324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21425 /* 58328 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21426 /* 58332 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21427 /* 58339 */ // (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] })
21428 /* 58339 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21429 /* 58342 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21430 /* 58346 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21431 /* 58351 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21432 /* 58355 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21433 /* 58359 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21434 /* 58361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
21435 /* 58364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21436 /* 58366 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21437 /* 58369 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
21438 /* 58372 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
21439 /* 58377 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21440 /* 58382 */ // GIR_Coverage, 22806,
21441 /* 58382 */ GIR_EraseRootFromParent_Done,
21442 /* 58383 */ // Label 1848: @58383
21443 /* 58383 */ GIM_Reject,
21444 /* 58384 */ // Label 1844: @58384
21445 /* 58384 */ GIM_Reject,
21446 /* 58385 */ // Label 1835: @58385
21447 /* 58385 */ GIM_Reject,
21448 /* 58386 */ // Label 14: @58386
21449 /* 58386 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(6), /*)*//*default:*//*Label 1851*/ GIMT_Encode4(58568),
21450 /* 58397 */ /*GILLT_s64*//*Label 1849*/ GIMT_Encode4(58405),
21451 /* 58401 */ /*GILLT_s80*//*Label 1850*/ GIMT_Encode4(58460),
21452 /* 58405 */ // Label 1849: @58405
21453 /* 58405 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1852*/ GIMT_Encode4(58459), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1059 //
21454 /* 58412 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21455 /* 58415 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21456 /* 58419 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
21457 /* 58426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
21458 /* 58430 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21459 /* 58434 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21460 /* 58441 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>> => (LD_Fp32m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
21461 /* 58441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m64),
21462 /* 58444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21463 /* 58446 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21464 /* 58450 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
21465 /* 58453 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21466 /* 58457 */ GIR_RootConstrainSelectedInstOperands,
21467 /* 58458 */ // GIR_Coverage, 1059,
21468 /* 58458 */ GIR_EraseRootFromParent_Done,
21469 /* 58459 */ // Label 1852: @58459
21470 /* 58459 */ GIM_Reject,
21471 /* 58460 */ // Label 1850: @58460
21472 /* 58460 */ GIM_Try, /*On fail goto*//*Label 1853*/ GIMT_Encode4(58567),
21473 /* 58465 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21474 /* 58468 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21475 /* 58472 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1854*/ GIMT_Encode4(58519), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1060 //
21476 /* 58479 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
21477 /* 58486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
21478 /* 58490 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21479 /* 58494 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21480 /* 58501 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>> => (LD_Fp64m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
21481 /* 58501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp64m80),
21482 /* 58504 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21483 /* 58506 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21484 /* 58510 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
21485 /* 58513 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21486 /* 58517 */ GIR_RootConstrainSelectedInstOperands,
21487 /* 58518 */ // GIR_Coverage, 1060,
21488 /* 58518 */ GIR_EraseRootFromParent_Done,
21489 /* 58519 */ // Label 1854: @58519
21490 /* 58519 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1855*/ GIMT_Encode4(58566), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1061 //
21491 /* 58526 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
21492 /* 58533 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
21493 /* 58537 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21494 /* 58541 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21495 /* 58548 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>> => (LD_Fp32m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
21496 /* 58548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m80),
21497 /* 58551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21498 /* 58553 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21499 /* 58557 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
21500 /* 58560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21501 /* 58564 */ GIR_RootConstrainSelectedInstOperands,
21502 /* 58565 */ // GIR_Coverage, 1061,
21503 /* 58565 */ GIR_EraseRootFromParent_Done,
21504 /* 58566 */ // Label 1855: @58566
21505 /* 58566 */ GIM_Reject,
21506 /* 58567 */ // Label 1853: @58567
21507 /* 58567 */ GIM_Reject,
21508 /* 58568 */ // Label 1851: @58568
21509 /* 58568 */ GIM_Reject,
21510 /* 58569 */ // Label 15: @58569
21511 /* 58569 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 1878*/ GIMT_Encode4(83843),
21512 /* 58580 */ /*GILLT_s8*//*Label 1856*/ GIMT_Encode4(58676),
21513 /* 58584 */ /*GILLT_s16*//*Label 1857*/ GIMT_Encode4(63028),
21514 /* 58588 */ /*GILLT_s32*//*Label 1858*/ GIMT_Encode4(67904),
21515 /* 58592 */ /*GILLT_s64*//*Label 1859*/ GIMT_Encode4(73181),
21516 /* 58596 */ /*GILLT_s80*//*Label 1860*/ GIMT_Encode4(78116),
21517 /* 58600 */ /*GILLT_s128*//*Label 1861*/ GIMT_Encode4(78164), GIMT_Encode4(0), GIMT_Encode4(0),
21518 /* 58612 */ /*GILLT_v8s1*//*Label 1862*/ GIMT_Encode4(78528),
21519 /* 58616 */ /*GILLT_v16s1*//*Label 1863*/ GIMT_Encode4(78608),
21520 /* 58620 */ /*GILLT_v32s1*//*Label 1864*/ GIMT_Encode4(78688),
21521 /* 58624 */ /*GILLT_v64s1*//*Label 1865*/ GIMT_Encode4(78768),
21522 /* 58628 */ /*GILLT_v16s8*//*Label 1866*/ GIMT_Encode4(78848),
21523 /* 58632 */ /*GILLT_v32s8*//*Label 1867*/ GIMT_Encode4(79212),
21524 /* 58636 */ /*GILLT_v64s8*//*Label 1868*/ GIMT_Encode4(79471),
21525 /* 58640 */ /*GILLT_v8s16*//*Label 1869*/ GIMT_Encode4(79607),
21526 /* 58644 */ /*GILLT_v16s16*//*Label 1870*/ GIMT_Encode4(80337),
21527 /* 58648 */ /*GILLT_v32s16*//*Label 1871*/ GIMT_Encode4(80806),
21528 /* 58652 */ /*GILLT_v4s32*//*Label 1872*/ GIMT_Encode4(81047),
21529 /* 58656 */ /*GILLT_v8s32*//*Label 1873*/ GIMT_Encode4(81738),
21530 /* 58660 */ /*GILLT_v16s32*//*Label 1874*/ GIMT_Encode4(82219),
21531 /* 58664 */ /*GILLT_v2s64*//*Label 1875*/ GIMT_Encode4(82460),
21532 /* 58668 */ /*GILLT_v4s64*//*Label 1876*/ GIMT_Encode4(83127),
21533 /* 58672 */ /*GILLT_v8s64*//*Label 1877*/ GIMT_Encode4(83602),
21534 /* 58676 */ // Label 1856: @58676
21535 /* 58676 */ GIM_Try, /*On fail goto*//*Label 1879*/ GIMT_Encode4(59025),
21536 /* 58681 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21537 /* 58684 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21538 /* 58691 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1880*/ GIMT_Encode4(58776), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 22691 //
21539 /* 58698 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21540 /* 58702 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
21541 /* 58706 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21542 /* 58710 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21543 /* 58714 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21544 /* 58718 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21545 /* 58722 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21546 /* 58725 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21547 /* 58729 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21548 /* 58736 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21549 /* 58740 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
21550 /* 58744 */ // MIs[0] dst
21551 /* 58744 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21552 /* 58749 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21553 /* 58751 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21554 /* 58758 */ // (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)
21555 /* 58758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8m),
21556 /* 58761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21557 /* 58765 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21558 /* 58768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21559 /* 58774 */ GIR_RootConstrainSelectedInstOperands,
21560 /* 58775 */ // GIR_Coverage, 22691,
21561 /* 58775 */ GIR_EraseRootFromParent_Done,
21562 /* 58776 */ // Label 1880: @58776
21563 /* 58776 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1881*/ GIMT_Encode4(58861), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 22695 //
21564 /* 58783 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21565 /* 58787 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
21566 /* 58791 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21567 /* 58795 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21568 /* 58799 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21569 /* 58803 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21570 /* 58807 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21571 /* 58810 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21572 /* 58814 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21573 /* 58821 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21574 /* 58825 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
21575 /* 58829 */ // MIs[0] dst
21576 /* 58829 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21577 /* 58834 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21578 /* 58836 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21579 /* 58843 */ // (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)
21580 /* 58843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8m),
21581 /* 58846 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21582 /* 58850 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21583 /* 58853 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21584 /* 58859 */ GIR_RootConstrainSelectedInstOperands,
21585 /* 58860 */ // GIR_Coverage, 22695,
21586 /* 58860 */ GIR_EraseRootFromParent_Done,
21587 /* 58861 */ // Label 1881: @58861
21588 /* 58861 */ GIM_Try, /*On fail goto*//*Label 1882*/ GIMT_Encode4(58944), // Rule ID 22699 //
21589 /* 58866 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21590 /* 58870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
21591 /* 58874 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21592 /* 58878 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21593 /* 58882 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
21594 /* 58886 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
21595 /* 58890 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21596 /* 58894 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21597 /* 58897 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21598 /* 58901 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21599 /* 58908 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21600 /* 58912 */ // MIs[0] dst
21601 /* 58912 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21602 /* 58917 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21603 /* 58919 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21604 /* 58926 */ // (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)
21605 /* 58926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8m),
21606 /* 58929 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21607 /* 58933 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21608 /* 58936 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21609 /* 58942 */ GIR_RootConstrainSelectedInstOperands,
21610 /* 58943 */ // GIR_Coverage, 22699,
21611 /* 58943 */ GIR_EraseRootFromParent_Done,
21612 /* 58944 */ // Label 1882: @58944
21613 /* 58944 */ GIM_Try, /*On fail goto*//*Label 1883*/ GIMT_Encode4(59024), // Rule ID 22703 //
21614 /* 58949 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21615 /* 58953 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
21616 /* 58957 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21617 /* 58961 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21618 /* 58965 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21619 /* 58969 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21620 /* 58973 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21621 /* 58976 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21622 /* 58980 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21623 /* 58987 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21624 /* 58991 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
21625 /* 58995 */ // MIs[0] dst
21626 /* 58995 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21627 /* 59000 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21628 /* 59002 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21629 /* 59009 */ // (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)
21630 /* 59009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8m),
21631 /* 59012 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21632 /* 59016 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21633 /* 59022 */ GIR_RootConstrainSelectedInstOperands,
21634 /* 59023 */ // GIR_Coverage, 22703,
21635 /* 59023 */ GIR_EraseRootFromParent_Done,
21636 /* 59024 */ // Label 1883: @59024
21637 /* 59024 */ GIM_Reject,
21638 /* 59025 */ // Label 1879: @59025
21639 /* 59025 */ GIM_Try, /*On fail goto*//*Label 1884*/ GIMT_Encode4(59935),
21640 /* 59030 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21641 /* 59033 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21642 /* 59037 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1885*/ GIMT_Encode4(59115), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 223 //
21643 /* 59044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21644 /* 59048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
21645 /* 59052 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21646 /* 59056 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21647 /* 59060 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21648 /* 59064 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21649 /* 59068 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21650 /* 59071 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21651 /* 59075 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
21652 /* 59079 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
21653 /* 59083 */ // MIs[0] src1
21654 /* 59083 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21655 /* 59088 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21656 /* 59090 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21657 /* 59097 */ // (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)
21658 /* 59097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8m),
21659 /* 59100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21660 /* 59104 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21661 /* 59107 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21662 /* 59113 */ GIR_RootConstrainSelectedInstOperands,
21663 /* 59114 */ // GIR_Coverage, 223,
21664 /* 59114 */ GIR_EraseRootFromParent_Done,
21665 /* 59115 */ // Label 1885: @59115
21666 /* 59115 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1886*/ GIMT_Encode4(59193), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 226 //
21667 /* 59122 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21668 /* 59126 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
21669 /* 59130 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21670 /* 59134 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21671 /* 59138 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21672 /* 59142 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21673 /* 59146 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21674 /* 59149 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21675 /* 59153 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
21676 /* 59157 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
21677 /* 59161 */ // MIs[0] src1
21678 /* 59161 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21679 /* 59166 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21680 /* 59168 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21681 /* 59175 */ // (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)
21682 /* 59175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8m),
21683 /* 59178 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21684 /* 59182 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21685 /* 59185 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21686 /* 59191 */ GIR_RootConstrainSelectedInstOperands,
21687 /* 59192 */ // GIR_Coverage, 226,
21688 /* 59192 */ GIR_EraseRootFromParent_Done,
21689 /* 59193 */ // Label 1886: @59193
21690 /* 59193 */ GIM_Try, /*On fail goto*//*Label 1887*/ GIMT_Encode4(59269), // Rule ID 17669 //
21691 /* 59198 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21692 /* 59202 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
21693 /* 59206 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21694 /* 59210 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21695 /* 59214 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21696 /* 59218 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21697 /* 59222 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21698 /* 59225 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21699 /* 59229 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
21700 /* 59233 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 7,
21701 /* 59237 */ // MIs[0] dst
21702 /* 59237 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21703 /* 59242 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21704 /* 59244 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21705 /* 59251 */ // (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)
21706 /* 59251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8m1),
21707 /* 59254 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21708 /* 59258 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21709 /* 59261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21710 /* 59267 */ GIR_RootConstrainSelectedInstOperands,
21711 /* 59268 */ // GIR_Coverage, 17669,
21712 /* 59268 */ GIR_EraseRootFromParent_Done,
21713 /* 59269 */ // Label 1887: @59269
21714 /* 59269 */ GIM_Try, /*On fail goto*//*Label 1888*/ GIMT_Encode4(59345), // Rule ID 17673 //
21715 /* 59274 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21716 /* 59278 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
21717 /* 59282 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21718 /* 59286 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21719 /* 59290 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21720 /* 59294 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21721 /* 59298 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21722 /* 59301 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21723 /* 59305 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
21724 /* 59309 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 7,
21725 /* 59313 */ // MIs[0] dst
21726 /* 59313 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21727 /* 59318 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21728 /* 59320 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21729 /* 59327 */ // (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)
21730 /* 59327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8m1),
21731 /* 59330 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21732 /* 59334 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21733 /* 59337 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21734 /* 59343 */ GIR_RootConstrainSelectedInstOperands,
21735 /* 59344 */ // GIR_Coverage, 17673,
21736 /* 59344 */ GIR_EraseRootFromParent_Done,
21737 /* 59345 */ // Label 1888: @59345
21738 /* 59345 */ GIM_Try, /*On fail goto*//*Label 1889*/ GIMT_Encode4(59421), // Rule ID 259 //
21739 /* 59350 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21740 /* 59354 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
21741 /* 59358 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21742 /* 59362 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21743 /* 59366 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
21744 /* 59370 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
21745 /* 59374 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21746 /* 59378 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21747 /* 59381 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21748 /* 59385 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
21749 /* 59389 */ // MIs[0] src1
21750 /* 59389 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21751 /* 59394 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21752 /* 59396 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21753 /* 59403 */ // (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)
21754 /* 59403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8m),
21755 /* 59406 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21756 /* 59410 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21757 /* 59413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21758 /* 59419 */ GIR_RootConstrainSelectedInstOperands,
21759 /* 59420 */ // GIR_Coverage, 259,
21760 /* 59420 */ GIR_EraseRootFromParent_Done,
21761 /* 59421 */ // Label 1889: @59421
21762 /* 59421 */ GIM_Try, /*On fail goto*//*Label 1890*/ GIMT_Encode4(59494), // Rule ID 267 //
21763 /* 59426 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21764 /* 59430 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
21765 /* 59434 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21766 /* 59438 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21767 /* 59442 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21768 /* 59446 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21769 /* 59450 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21770 /* 59453 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21771 /* 59457 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
21772 /* 59461 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
21773 /* 59465 */ // MIs[0] src1
21774 /* 59465 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21775 /* 59470 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
21776 /* 59472 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21777 /* 59479 */ // (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)
21778 /* 59479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8m),
21779 /* 59482 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21780 /* 59486 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
21781 /* 59492 */ GIR_RootConstrainSelectedInstOperands,
21782 /* 59493 */ // GIR_Coverage, 267,
21783 /* 59493 */ GIR_EraseRootFromParent_Done,
21784 /* 59494 */ // Label 1890: @59494
21785 /* 59494 */ GIM_Try, /*On fail goto*//*Label 1891*/ GIMT_Encode4(59582), // Rule ID 411 //
21786 /* 59499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21787 /* 59503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
21788 /* 59507 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21789 /* 59511 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21790 /* 59515 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21791 /* 59519 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21792 /* 59523 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21793 /* 59526 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21794 /* 59530 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21795 /* 59534 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
21796 /* 59538 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
21797 /* 59542 */ // MIs[3] Operand 1
21798 /* 59542 */ // No operand predicates
21799 /* 59542 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
21800 /* 59546 */ // MIs[0] src1
21801 /* 59546 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21802 /* 59551 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
21803 /* 59553 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21804 /* 59560 */ // (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)
21805 /* 59560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mi),
21806 /* 59563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21807 /* 59567 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
21808 /* 59570 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21809 /* 59573 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
21810 /* 59580 */ GIR_RootConstrainSelectedInstOperands,
21811 /* 59581 */ // GIR_Coverage, 411,
21812 /* 59581 */ GIR_EraseRootFromParent_Done,
21813 /* 59582 */ // Label 1891: @59582
21814 /* 59582 */ GIM_Try, /*On fail goto*//*Label 1892*/ GIMT_Encode4(59670), // Rule ID 303 //
21815 /* 59587 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21816 /* 59591 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
21817 /* 59595 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21818 /* 59599 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21819 /* 59603 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21820 /* 59607 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21821 /* 59611 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21822 /* 59614 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21823 /* 59618 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21824 /* 59622 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
21825 /* 59626 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
21826 /* 59630 */ // MIs[3] Operand 1
21827 /* 59630 */ // No operand predicates
21828 /* 59630 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
21829 /* 59634 */ // MIs[0] src1
21830 /* 59634 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21831 /* 59639 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
21832 /* 59641 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21833 /* 59648 */ // (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)
21834 /* 59648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mi),
21835 /* 59651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21836 /* 59655 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
21837 /* 59658 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21838 /* 59661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
21839 /* 59668 */ GIR_RootConstrainSelectedInstOperands,
21840 /* 59669 */ // GIR_Coverage, 303,
21841 /* 59669 */ GIR_EraseRootFromParent_Done,
21842 /* 59670 */ // Label 1892: @59670
21843 /* 59670 */ GIM_Try, /*On fail goto*//*Label 1893*/ GIMT_Encode4(59758), // Rule ID 339 //
21844 /* 59675 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21845 /* 59679 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
21846 /* 59683 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21847 /* 59687 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21848 /* 59691 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21849 /* 59695 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21850 /* 59699 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21851 /* 59702 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21852 /* 59706 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21853 /* 59710 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
21854 /* 59714 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
21855 /* 59718 */ // MIs[3] Operand 1
21856 /* 59718 */ // No operand predicates
21857 /* 59718 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
21858 /* 59722 */ // MIs[0] src1
21859 /* 59722 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21860 /* 59727 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
21861 /* 59729 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21862 /* 59736 */ // (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)
21863 /* 59736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mi),
21864 /* 59739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21865 /* 59743 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
21866 /* 59746 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21867 /* 59749 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
21868 /* 59756 */ GIR_RootConstrainSelectedInstOperands,
21869 /* 59757 */ // GIR_Coverage, 339,
21870 /* 59757 */ GIR_EraseRootFromParent_Done,
21871 /* 59758 */ // Label 1893: @59758
21872 /* 59758 */ GIM_Try, /*On fail goto*//*Label 1894*/ GIMT_Encode4(59846), // Rule ID 451 //
21873 /* 59763 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21874 /* 59767 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
21875 /* 59771 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21876 /* 59775 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21877 /* 59779 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21878 /* 59783 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21879 /* 59787 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21880 /* 59790 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21881 /* 59794 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21882 /* 59798 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
21883 /* 59802 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
21884 /* 59806 */ // MIs[3] Operand 1
21885 /* 59806 */ // No operand predicates
21886 /* 59806 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
21887 /* 59810 */ // MIs[0] src1
21888 /* 59810 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21889 /* 59815 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
21890 /* 59817 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21891 /* 59824 */ // (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)
21892 /* 59824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mi),
21893 /* 59827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21894 /* 59831 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
21895 /* 59834 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21896 /* 59837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
21897 /* 59844 */ GIR_RootConstrainSelectedInstOperands,
21898 /* 59845 */ // GIR_Coverage, 451,
21899 /* 59845 */ GIR_EraseRootFromParent_Done,
21900 /* 59846 */ // Label 1894: @59846
21901 /* 59846 */ GIM_Try, /*On fail goto*//*Label 1895*/ GIMT_Encode4(59934), // Rule ID 375 //
21902 /* 59851 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21903 /* 59855 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
21904 /* 59859 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21905 /* 59863 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21906 /* 59867 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21907 /* 59871 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21908 /* 59875 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21909 /* 59878 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21910 /* 59882 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21911 /* 59886 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
21912 /* 59890 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
21913 /* 59894 */ // MIs[3] Operand 1
21914 /* 59894 */ // No operand predicates
21915 /* 59894 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
21916 /* 59898 */ // MIs[0] src1
21917 /* 59898 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21918 /* 59903 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
21919 /* 59905 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21920 /* 59912 */ // (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)
21921 /* 59912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mi),
21922 /* 59915 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
21923 /* 59919 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
21924 /* 59922 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21925 /* 59925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
21926 /* 59932 */ GIR_RootConstrainSelectedInstOperands,
21927 /* 59933 */ // GIR_Coverage, 375,
21928 /* 59933 */ GIR_EraseRootFromParent_Done,
21929 /* 59934 */ // Label 1895: @59934
21930 /* 59934 */ GIM_Reject,
21931 /* 59935 */ // Label 1884: @59935
21932 /* 59935 */ GIM_Try, /*On fail goto*//*Label 1896*/ GIMT_Encode4(60406),
21933 /* 59940 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21934 /* 59943 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21935 /* 59950 */ GIM_Try, /*On fail goto*//*Label 1897*/ GIMT_Encode4(60041), // Rule ID 22627 //
21936 /* 59955 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21937 /* 59959 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
21938 /* 59963 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21939 /* 59967 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21940 /* 59971 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21941 /* 59975 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21942 /* 59979 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21943 /* 59982 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21944 /* 59986 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21945 /* 59993 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21946 /* 59997 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
21947 /* 60001 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
21948 /* 60005 */ // MIs[3] Operand 1
21949 /* 60005 */ // No operand predicates
21950 /* 60005 */ // MIs[0] dst
21951 /* 60005 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21952 /* 60010 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
21953 /* 60012 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21954 /* 60019 */ // (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)
21955 /* 60019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mi),
21956 /* 60022 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21957 /* 60026 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
21958 /* 60029 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21959 /* 60032 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
21960 /* 60039 */ GIR_RootConstrainSelectedInstOperands,
21961 /* 60040 */ // GIR_Coverage, 22627,
21962 /* 60040 */ GIR_EraseRootFromParent_Done,
21963 /* 60041 */ // Label 1897: @60041
21964 /* 60041 */ GIM_Try, /*On fail goto*//*Label 1898*/ GIMT_Encode4(60132), // Rule ID 22635 //
21965 /* 60046 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21966 /* 60050 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
21967 /* 60054 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21968 /* 60058 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21969 /* 60062 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21970 /* 60066 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
21971 /* 60070 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
21972 /* 60073 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
21973 /* 60077 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21974 /* 60084 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
21975 /* 60088 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
21976 /* 60092 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
21977 /* 60096 */ // MIs[3] Operand 1
21978 /* 60096 */ // No operand predicates
21979 /* 60096 */ // MIs[0] dst
21980 /* 60096 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
21981 /* 60101 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
21982 /* 60103 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21983 /* 60110 */ // (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)
21984 /* 60110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mi),
21985 /* 60113 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
21986 /* 60117 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
21987 /* 60120 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
21988 /* 60123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
21989 /* 60130 */ GIR_RootConstrainSelectedInstOperands,
21990 /* 60131 */ // GIR_Coverage, 22635,
21991 /* 60131 */ GIR_EraseRootFromParent_Done,
21992 /* 60132 */ // Label 1898: @60132
21993 /* 60132 */ GIM_Try, /*On fail goto*//*Label 1899*/ GIMT_Encode4(60223), // Rule ID 22643 //
21994 /* 60137 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
21995 /* 60141 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
21996 /* 60145 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
21997 /* 60149 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
21998 /* 60153 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
21999 /* 60157 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22000 /* 60161 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22001 /* 60164 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22002 /* 60168 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22003 /* 60175 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22004 /* 60179 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22005 /* 60183 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22006 /* 60187 */ // MIs[3] Operand 1
22007 /* 60187 */ // No operand predicates
22008 /* 60187 */ // MIs[0] dst
22009 /* 60187 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22010 /* 60192 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22011 /* 60194 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22012 /* 60201 */ // (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)
22013 /* 60201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mi),
22014 /* 60204 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22015 /* 60208 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22016 /* 60211 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22017 /* 60214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22018 /* 60221 */ GIR_RootConstrainSelectedInstOperands,
22019 /* 60222 */ // GIR_Coverage, 22643,
22020 /* 60222 */ GIR_EraseRootFromParent_Done,
22021 /* 60223 */ // Label 1899: @60223
22022 /* 60223 */ GIM_Try, /*On fail goto*//*Label 1900*/ GIMT_Encode4(60314), // Rule ID 22659 //
22023 /* 60228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22024 /* 60232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22025 /* 60236 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22026 /* 60240 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22027 /* 60244 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22028 /* 60248 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22029 /* 60252 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22030 /* 60255 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22031 /* 60259 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22032 /* 60266 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22033 /* 60270 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22034 /* 60274 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22035 /* 60278 */ // MIs[3] Operand 1
22036 /* 60278 */ // No operand predicates
22037 /* 60278 */ // MIs[0] dst
22038 /* 60278 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22039 /* 60283 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22040 /* 60285 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22041 /* 60292 */ // (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)
22042 /* 60292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mi),
22043 /* 60295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22044 /* 60299 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22045 /* 60302 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22046 /* 60305 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22047 /* 60312 */ GIR_RootConstrainSelectedInstOperands,
22048 /* 60313 */ // GIR_Coverage, 22659,
22049 /* 60313 */ GIR_EraseRootFromParent_Done,
22050 /* 60314 */ // Label 1900: @60314
22051 /* 60314 */ GIM_Try, /*On fail goto*//*Label 1901*/ GIMT_Encode4(60405), // Rule ID 22651 //
22052 /* 60319 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22053 /* 60323 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22054 /* 60327 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22055 /* 60331 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22056 /* 60335 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22057 /* 60339 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22058 /* 60343 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22059 /* 60346 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22060 /* 60350 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22061 /* 60357 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22062 /* 60361 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22063 /* 60365 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22064 /* 60369 */ // MIs[3] Operand 1
22065 /* 60369 */ // No operand predicates
22066 /* 60369 */ // MIs[0] dst
22067 /* 60369 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22068 /* 60374 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22069 /* 60376 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22070 /* 60383 */ // (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)
22071 /* 60383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mi),
22072 /* 60386 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22073 /* 60390 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22074 /* 60393 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22075 /* 60396 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22076 /* 60403 */ GIR_RootConstrainSelectedInstOperands,
22077 /* 60404 */ // GIR_Coverage, 22651,
22078 /* 60404 */ GIR_EraseRootFromParent_Done,
22079 /* 60405 */ // Label 1901: @60405
22080 /* 60405 */ GIM_Reject,
22081 /* 60406 */ // Label 1896: @60406
22082 /* 60406 */ GIM_Try, /*On fail goto*//*Label 1902*/ GIMT_Encode4(60839),
22083 /* 60411 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22084 /* 60414 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22085 /* 60418 */ GIM_Try, /*On fail goto*//*Label 1903*/ GIMT_Encode4(60502), // Rule ID 709 //
22086 /* 60423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22087 /* 60427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
22088 /* 60431 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22089 /* 60435 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22090 /* 60439 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22091 /* 60443 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22092 /* 60447 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22093 /* 60450 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22094 /* 60454 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22095 /* 60458 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22096 /* 60462 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22097 /* 60466 */ // MIs[3] Operand 1
22098 /* 60466 */ // No operand predicates
22099 /* 60466 */ // MIs[0] src1
22100 /* 60466 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22101 /* 60471 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22102 /* 60473 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22103 /* 60480 */ // (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)
22104 /* 60480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8mi),
22105 /* 60483 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22106 /* 60487 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22107 /* 60490 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22108 /* 60493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22109 /* 60500 */ GIR_RootConstrainSelectedInstOperands,
22110 /* 60501 */ // GIR_Coverage, 709,
22111 /* 60501 */ GIR_EraseRootFromParent_Done,
22112 /* 60502 */ // Label 1903: @60502
22113 /* 60502 */ GIM_Try, /*On fail goto*//*Label 1904*/ GIMT_Encode4(60586), // Rule ID 677 //
22114 /* 60507 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22115 /* 60511 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
22116 /* 60515 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22117 /* 60519 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22118 /* 60523 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22119 /* 60527 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22120 /* 60531 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22121 /* 60534 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22122 /* 60538 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22123 /* 60542 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22124 /* 60546 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22125 /* 60550 */ // MIs[3] Operand 1
22126 /* 60550 */ // No operand predicates
22127 /* 60550 */ // MIs[0] src1
22128 /* 60550 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22129 /* 60555 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22130 /* 60557 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22131 /* 60564 */ // (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)
22132 /* 60564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8mi),
22133 /* 60567 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22134 /* 60571 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22135 /* 60574 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22136 /* 60577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22137 /* 60584 */ GIR_RootConstrainSelectedInstOperands,
22138 /* 60585 */ // GIR_Coverage, 677,
22139 /* 60585 */ GIR_EraseRootFromParent_Done,
22140 /* 60586 */ // Label 1904: @60586
22141 /* 60586 */ GIM_Try, /*On fail goto*//*Label 1905*/ GIMT_Encode4(60670), // Rule ID 741 //
22142 /* 60591 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22143 /* 60595 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
22144 /* 60599 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22145 /* 60603 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22146 /* 60607 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22147 /* 60611 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22148 /* 60615 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22149 /* 60618 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22150 /* 60622 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22151 /* 60626 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22152 /* 60630 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22153 /* 60634 */ // MIs[3] Operand 1
22154 /* 60634 */ // No operand predicates
22155 /* 60634 */ // MIs[0] src1
22156 /* 60634 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22157 /* 60639 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22158 /* 60641 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22159 /* 60648 */ // (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)
22160 /* 60648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8mi),
22161 /* 60651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22162 /* 60655 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22163 /* 60658 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22164 /* 60661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22165 /* 60668 */ GIR_RootConstrainSelectedInstOperands,
22166 /* 60669 */ // GIR_Coverage, 741,
22167 /* 60669 */ GIR_EraseRootFromParent_Done,
22168 /* 60670 */ // Label 1905: @60670
22169 /* 60670 */ GIM_Try, /*On fail goto*//*Label 1906*/ GIMT_Encode4(60754), // Rule ID 773 //
22170 /* 60675 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22171 /* 60679 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
22172 /* 60683 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22173 /* 60687 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22174 /* 60691 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22175 /* 60695 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22176 /* 60699 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22177 /* 60702 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22178 /* 60706 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22179 /* 60710 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22180 /* 60714 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22181 /* 60718 */ // MIs[3] Operand 1
22182 /* 60718 */ // No operand predicates
22183 /* 60718 */ // MIs[0] src1
22184 /* 60718 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22185 /* 60723 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22186 /* 60725 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22187 /* 60732 */ // (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)
22188 /* 60732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8mi),
22189 /* 60735 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22190 /* 60739 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22191 /* 60742 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22192 /* 60745 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22193 /* 60752 */ GIR_RootConstrainSelectedInstOperands,
22194 /* 60753 */ // GIR_Coverage, 773,
22195 /* 60753 */ GIR_EraseRootFromParent_Done,
22196 /* 60754 */ // Label 1906: @60754
22197 /* 60754 */ GIM_Try, /*On fail goto*//*Label 1907*/ GIMT_Encode4(60838), // Rule ID 645 //
22198 /* 60759 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22199 /* 60763 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
22200 /* 60767 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22201 /* 60771 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22202 /* 60775 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22203 /* 60779 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22204 /* 60783 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22205 /* 60786 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22206 /* 60790 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22207 /* 60794 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22208 /* 60798 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22209 /* 60802 */ // MIs[3] Operand 1
22210 /* 60802 */ // No operand predicates
22211 /* 60802 */ // MIs[0] src1
22212 /* 60802 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22213 /* 60807 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22214 /* 60809 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22215 /* 60816 */ // (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)
22216 /* 60816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8mi),
22217 /* 60819 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22218 /* 60823 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22219 /* 60826 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22220 /* 60829 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22221 /* 60836 */ GIR_RootConstrainSelectedInstOperands,
22222 /* 60837 */ // GIR_Coverage, 645,
22223 /* 60837 */ GIR_EraseRootFromParent_Done,
22224 /* 60838 */ // Label 1907: @60838
22225 /* 60838 */ GIM_Reject,
22226 /* 60839 */ // Label 1902: @60839
22227 /* 60839 */ GIM_Try, /*On fail goto*//*Label 1908*/ GIMT_Encode4(61647),
22228 /* 60844 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22229 /* 60847 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22230 /* 60854 */ GIM_Try, /*On fail goto*//*Label 1909*/ GIMT_Encode4(60942), // Rule ID 22631 //
22231 /* 60859 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22232 /* 60863 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22233 /* 60867 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22234 /* 60871 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22235 /* 60875 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22236 /* 60879 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22237 /* 60883 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22238 /* 60886 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22239 /* 60890 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22240 /* 60897 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22241 /* 60901 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22242 /* 60906 */ // MIs[0] dst
22243 /* 60906 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22244 /* 60911 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22245 /* 60913 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22246 /* 60920 */ // (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)
22247 /* 60920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
22248 /* 60923 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22249 /* 60927 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22250 /* 60931 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22251 /* 60934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22252 /* 60940 */ GIR_RootConstrainSelectedInstOperands,
22253 /* 60941 */ // GIR_Coverage, 22631,
22254 /* 60941 */ GIR_EraseRootFromParent_Done,
22255 /* 60942 */ // Label 1909: @60942
22256 /* 60942 */ GIM_Try, /*On fail goto*//*Label 1910*/ GIMT_Encode4(61030), // Rule ID 26246 //
22257 /* 60947 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22258 /* 60951 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22259 /* 60955 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22260 /* 60959 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22261 /* 60963 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22262 /* 60968 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22263 /* 60972 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22264 /* 60976 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22265 /* 60979 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22266 /* 60983 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22267 /* 60990 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22268 /* 60994 */ // MIs[0] dst
22269 /* 60994 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22270 /* 60999 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22271 /* 61001 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22272 /* 61008 */ // (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)
22273 /* 61008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
22274 /* 61011 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22275 /* 61015 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
22276 /* 61019 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22277 /* 61022 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22278 /* 61028 */ GIR_RootConstrainSelectedInstOperands,
22279 /* 61029 */ // GIR_Coverage, 26246,
22280 /* 61029 */ GIR_EraseRootFromParent_Done,
22281 /* 61030 */ // Label 1910: @61030
22282 /* 61030 */ GIM_Try, /*On fail goto*//*Label 1911*/ GIMT_Encode4(61118), // Rule ID 22639 //
22283 /* 61035 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22284 /* 61039 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22285 /* 61043 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22286 /* 61047 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22287 /* 61051 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22288 /* 61055 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22289 /* 61059 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22290 /* 61062 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22291 /* 61066 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22292 /* 61073 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22293 /* 61077 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22294 /* 61082 */ // MIs[0] dst
22295 /* 61082 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22296 /* 61087 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22297 /* 61089 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22298 /* 61096 */ // (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)
22299 /* 61096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
22300 /* 61099 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22301 /* 61103 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22302 /* 61107 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22303 /* 61110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22304 /* 61116 */ GIR_RootConstrainSelectedInstOperands,
22305 /* 61117 */ // GIR_Coverage, 22639,
22306 /* 61117 */ GIR_EraseRootFromParent_Done,
22307 /* 61118 */ // Label 1911: @61118
22308 /* 61118 */ GIM_Try, /*On fail goto*//*Label 1912*/ GIMT_Encode4(61206), // Rule ID 26250 //
22309 /* 61123 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22310 /* 61127 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22311 /* 61131 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22312 /* 61135 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22313 /* 61139 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22314 /* 61144 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22315 /* 61148 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22316 /* 61152 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22317 /* 61155 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22318 /* 61159 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22319 /* 61166 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22320 /* 61170 */ // MIs[0] dst
22321 /* 61170 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22322 /* 61175 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22323 /* 61177 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22324 /* 61184 */ // (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)
22325 /* 61184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
22326 /* 61187 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22327 /* 61191 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
22328 /* 61195 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22329 /* 61198 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22330 /* 61204 */ GIR_RootConstrainSelectedInstOperands,
22331 /* 61205 */ // GIR_Coverage, 26250,
22332 /* 61205 */ GIR_EraseRootFromParent_Done,
22333 /* 61206 */ // Label 1912: @61206
22334 /* 61206 */ GIM_Try, /*On fail goto*//*Label 1913*/ GIMT_Encode4(61294), // Rule ID 22647 //
22335 /* 61211 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22336 /* 61215 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22337 /* 61219 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22338 /* 61223 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22339 /* 61227 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22340 /* 61231 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22341 /* 61235 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22342 /* 61238 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22343 /* 61242 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22344 /* 61249 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22345 /* 61253 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22346 /* 61258 */ // MIs[0] dst
22347 /* 61258 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22348 /* 61263 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22349 /* 61265 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22350 /* 61272 */ // (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)
22351 /* 61272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
22352 /* 61275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22353 /* 61279 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22354 /* 61283 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22355 /* 61286 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22356 /* 61292 */ GIR_RootConstrainSelectedInstOperands,
22357 /* 61293 */ // GIR_Coverage, 22647,
22358 /* 61293 */ GIR_EraseRootFromParent_Done,
22359 /* 61294 */ // Label 1913: @61294
22360 /* 61294 */ GIM_Try, /*On fail goto*//*Label 1914*/ GIMT_Encode4(61382), // Rule ID 26254 //
22361 /* 61299 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22362 /* 61303 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22363 /* 61307 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22364 /* 61311 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22365 /* 61315 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22366 /* 61320 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22367 /* 61324 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22368 /* 61328 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22369 /* 61331 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22370 /* 61335 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22371 /* 61342 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22372 /* 61346 */ // MIs[0] dst
22373 /* 61346 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22374 /* 61351 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22375 /* 61353 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22376 /* 61360 */ // (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)
22377 /* 61360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
22378 /* 61363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22379 /* 61367 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
22380 /* 61371 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22381 /* 61374 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22382 /* 61380 */ GIR_RootConstrainSelectedInstOperands,
22383 /* 61381 */ // GIR_Coverage, 26254,
22384 /* 61381 */ GIR_EraseRootFromParent_Done,
22385 /* 61382 */ // Label 1914: @61382
22386 /* 61382 */ GIM_Try, /*On fail goto*//*Label 1915*/ GIMT_Encode4(61470), // Rule ID 22663 //
22387 /* 61387 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22388 /* 61391 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22389 /* 61395 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22390 /* 61399 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22391 /* 61403 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22392 /* 61407 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22393 /* 61411 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22394 /* 61414 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22395 /* 61418 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22396 /* 61425 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22397 /* 61429 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22398 /* 61434 */ // MIs[0] dst
22399 /* 61434 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22400 /* 61439 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22401 /* 61441 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22402 /* 61448 */ // (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)
22403 /* 61448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mr),
22404 /* 61451 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22405 /* 61455 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22406 /* 61459 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22407 /* 61462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22408 /* 61468 */ GIR_RootConstrainSelectedInstOperands,
22409 /* 61469 */ // GIR_Coverage, 22663,
22410 /* 61469 */ GIR_EraseRootFromParent_Done,
22411 /* 61470 */ // Label 1915: @61470
22412 /* 61470 */ GIM_Try, /*On fail goto*//*Label 1916*/ GIMT_Encode4(61558), // Rule ID 22655 //
22413 /* 61475 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22414 /* 61479 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22415 /* 61483 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22416 /* 61487 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22417 /* 61491 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22418 /* 61495 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22419 /* 61499 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22420 /* 61502 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22421 /* 61506 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22422 /* 61513 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22423 /* 61517 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22424 /* 61522 */ // MIs[0] dst
22425 /* 61522 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22426 /* 61527 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22427 /* 61529 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22428 /* 61536 */ // (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)
22429 /* 61536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
22430 /* 61539 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22431 /* 61543 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22432 /* 61547 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22433 /* 61550 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22434 /* 61556 */ GIR_RootConstrainSelectedInstOperands,
22435 /* 61557 */ // GIR_Coverage, 22655,
22436 /* 61557 */ GIR_EraseRootFromParent_Done,
22437 /* 61558 */ // Label 1916: @61558
22438 /* 61558 */ GIM_Try, /*On fail goto*//*Label 1917*/ GIMT_Encode4(61646), // Rule ID 26258 //
22439 /* 61563 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22440 /* 61567 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22441 /* 61571 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22442 /* 61575 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22443 /* 61579 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22444 /* 61584 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22445 /* 61588 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22446 /* 61592 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22447 /* 61595 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22448 /* 61599 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22449 /* 61606 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22450 /* 61610 */ // MIs[0] dst
22451 /* 61610 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22452 /* 61615 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22453 /* 61617 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22454 /* 61624 */ // (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)
22455 /* 61624 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
22456 /* 61627 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22457 /* 61631 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
22458 /* 61635 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22459 /* 61638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22460 /* 61644 */ GIR_RootConstrainSelectedInstOperands,
22461 /* 61645 */ // GIR_Coverage, 26258,
22462 /* 61645 */ GIR_EraseRootFromParent_Done,
22463 /* 61646 */ // Label 1917: @61646
22464 /* 61646 */ GIM_Reject,
22465 /* 61647 */ // Label 1908: @61647
22466 /* 61647 */ GIM_Try, /*On fail goto*//*Label 1918*/ GIMT_Encode4(62891),
22467 /* 61652 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22468 /* 61655 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22469 /* 61659 */ GIM_Try, /*On fail goto*//*Label 1919*/ GIMT_Encode4(61740), // Rule ID 407 //
22470 /* 61664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22471 /* 61668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22472 /* 61672 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22473 /* 61676 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22474 /* 61680 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22475 /* 61684 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22476 /* 61688 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22477 /* 61691 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22478 /* 61695 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22479 /* 61699 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22480 /* 61704 */ // MIs[0] src1
22481 /* 61704 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22482 /* 61709 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22483 /* 61711 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22484 /* 61718 */ // (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)
22485 /* 61718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
22486 /* 61721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22487 /* 61725 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
22488 /* 61729 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22489 /* 61732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22490 /* 61738 */ GIR_RootConstrainSelectedInstOperands,
22491 /* 61739 */ // GIR_Coverage, 407,
22492 /* 61739 */ GIR_EraseRootFromParent_Done,
22493 /* 61740 */ // Label 1919: @61740
22494 /* 61740 */ GIM_Try, /*On fail goto*//*Label 1920*/ GIMT_Encode4(61821), // Rule ID 23462 //
22495 /* 61745 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22496 /* 61749 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22497 /* 61753 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22498 /* 61757 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22499 /* 61761 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22500 /* 61766 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22501 /* 61770 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22502 /* 61774 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22503 /* 61777 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22504 /* 61781 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22505 /* 61785 */ // MIs[0] src1
22506 /* 61785 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22507 /* 61790 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22508 /* 61792 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22509 /* 61799 */ // (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)
22510 /* 61799 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
22511 /* 61802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22512 /* 61806 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
22513 /* 61810 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22514 /* 61813 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22515 /* 61819 */ GIR_RootConstrainSelectedInstOperands,
22516 /* 61820 */ // GIR_Coverage, 23462,
22517 /* 61820 */ GIR_EraseRootFromParent_Done,
22518 /* 61821 */ // Label 1920: @61821
22519 /* 61821 */ GIM_Try, /*On fail goto*//*Label 1921*/ GIMT_Encode4(61902), // Rule ID 299 //
22520 /* 61826 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22521 /* 61830 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22522 /* 61834 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22523 /* 61838 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22524 /* 61842 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22525 /* 61846 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22526 /* 61850 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22527 /* 61853 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22528 /* 61857 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22529 /* 61861 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22530 /* 61866 */ // MIs[0] src1
22531 /* 61866 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22532 /* 61871 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22533 /* 61873 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22534 /* 61880 */ // (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)
22535 /* 61880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
22536 /* 61883 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22537 /* 61887 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
22538 /* 61891 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22539 /* 61894 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22540 /* 61900 */ GIR_RootConstrainSelectedInstOperands,
22541 /* 61901 */ // GIR_Coverage, 299,
22542 /* 61901 */ GIR_EraseRootFromParent_Done,
22543 /* 61902 */ // Label 1921: @61902
22544 /* 61902 */ GIM_Try, /*On fail goto*//*Label 1922*/ GIMT_Encode4(61983), // Rule ID 23426 //
22545 /* 61907 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22546 /* 61911 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22547 /* 61915 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22548 /* 61919 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22549 /* 61923 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22550 /* 61928 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22551 /* 61932 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22552 /* 61936 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22553 /* 61939 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22554 /* 61943 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22555 /* 61947 */ // MIs[0] src1
22556 /* 61947 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22557 /* 61952 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22558 /* 61954 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22559 /* 61961 */ // (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)
22560 /* 61961 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
22561 /* 61964 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22562 /* 61968 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
22563 /* 61972 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22564 /* 61975 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22565 /* 61981 */ GIR_RootConstrainSelectedInstOperands,
22566 /* 61982 */ // GIR_Coverage, 23426,
22567 /* 61982 */ GIR_EraseRootFromParent_Done,
22568 /* 61983 */ // Label 1922: @61983
22569 /* 61983 */ GIM_Try, /*On fail goto*//*Label 1923*/ GIMT_Encode4(62074), // Rule ID 725 //
22570 /* 61988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22571 /* 61992 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
22572 /* 61996 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22573 /* 62000 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22574 /* 62004 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22575 /* 62008 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22576 /* 62012 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22577 /* 62015 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22578 /* 62019 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22579 /* 62023 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
22580 /* 62028 */ // MIs[0] src1
22581 /* 62028 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22582 /* 62033 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22583 /* 62035 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22584 /* 62042 */ // (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)
22585 /* 62042 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
22586 /* 62046 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22587 /* 62052 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
22588 /* 62056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8mCL),
22589 /* 62059 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22590 /* 62063 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22591 /* 62066 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22592 /* 62072 */ GIR_RootConstrainSelectedInstOperands,
22593 /* 62073 */ // GIR_Coverage, 725,
22594 /* 62073 */ GIR_EraseRootFromParent_Done,
22595 /* 62074 */ // Label 1923: @62074
22596 /* 62074 */ GIM_Try, /*On fail goto*//*Label 1924*/ GIMT_Encode4(62165), // Rule ID 693 //
22597 /* 62079 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22598 /* 62083 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
22599 /* 62087 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22600 /* 62091 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22601 /* 62095 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22602 /* 62099 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22603 /* 62103 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22604 /* 62106 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22605 /* 62110 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22606 /* 62114 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
22607 /* 62119 */ // MIs[0] src1
22608 /* 62119 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22609 /* 62124 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22610 /* 62126 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22611 /* 62133 */ // (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)
22612 /* 62133 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
22613 /* 62137 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22614 /* 62143 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
22615 /* 62147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8mCL),
22616 /* 62150 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22617 /* 62154 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22618 /* 62157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22619 /* 62163 */ GIR_RootConstrainSelectedInstOperands,
22620 /* 62164 */ // GIR_Coverage, 693,
22621 /* 62164 */ GIR_EraseRootFromParent_Done,
22622 /* 62165 */ // Label 1924: @62165
22623 /* 62165 */ GIM_Try, /*On fail goto*//*Label 1925*/ GIMT_Encode4(62246), // Rule ID 335 //
22624 /* 62170 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22625 /* 62174 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22626 /* 62178 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22627 /* 62182 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22628 /* 62186 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22629 /* 62190 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22630 /* 62194 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22631 /* 62197 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22632 /* 62201 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22633 /* 62205 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22634 /* 62210 */ // MIs[0] src1
22635 /* 62210 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22636 /* 62215 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22637 /* 62217 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22638 /* 62224 */ // (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)
22639 /* 62224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
22640 /* 62227 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22641 /* 62231 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
22642 /* 62235 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22643 /* 62238 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22644 /* 62244 */ GIR_RootConstrainSelectedInstOperands,
22645 /* 62245 */ // GIR_Coverage, 335,
22646 /* 62245 */ GIR_EraseRootFromParent_Done,
22647 /* 62246 */ // Label 1925: @62246
22648 /* 62246 */ GIM_Try, /*On fail goto*//*Label 1926*/ GIMT_Encode4(62327), // Rule ID 23438 //
22649 /* 62251 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22650 /* 62255 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22651 /* 62259 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22652 /* 62263 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22653 /* 62267 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22654 /* 62272 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22655 /* 62276 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22656 /* 62280 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22657 /* 62283 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22658 /* 62287 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22659 /* 62291 */ // MIs[0] src1
22660 /* 62291 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22661 /* 62296 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22662 /* 62298 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22663 /* 62305 */ // (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)
22664 /* 62305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
22665 /* 62308 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22666 /* 62312 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
22667 /* 62316 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22668 /* 62319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22669 /* 62325 */ GIR_RootConstrainSelectedInstOperands,
22670 /* 62326 */ // GIR_Coverage, 23438,
22671 /* 62326 */ GIR_EraseRootFromParent_Done,
22672 /* 62327 */ // Label 1926: @62327
22673 /* 62327 */ GIM_Try, /*On fail goto*//*Label 1927*/ GIMT_Encode4(62418), // Rule ID 757 //
22674 /* 62332 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22675 /* 62336 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
22676 /* 62340 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22677 /* 62344 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22678 /* 62348 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22679 /* 62352 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22680 /* 62356 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22681 /* 62359 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22682 /* 62363 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22683 /* 62367 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
22684 /* 62372 */ // MIs[0] src1
22685 /* 62372 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22686 /* 62377 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22687 /* 62379 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22688 /* 62386 */ // (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)
22689 /* 62386 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
22690 /* 62390 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22691 /* 62396 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
22692 /* 62400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8mCL),
22693 /* 62403 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22694 /* 62407 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22695 /* 62410 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22696 /* 62416 */ GIR_RootConstrainSelectedInstOperands,
22697 /* 62417 */ // GIR_Coverage, 757,
22698 /* 62417 */ GIR_EraseRootFromParent_Done,
22699 /* 62418 */ // Label 1927: @62418
22700 /* 62418 */ GIM_Try, /*On fail goto*//*Label 1928*/ GIMT_Encode4(62509), // Rule ID 789 //
22701 /* 62423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22702 /* 62427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
22703 /* 62431 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22704 /* 62435 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22705 /* 62439 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22706 /* 62443 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22707 /* 62447 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22708 /* 62450 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22709 /* 62454 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22710 /* 62458 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
22711 /* 62463 */ // MIs[0] src1
22712 /* 62463 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22713 /* 62468 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22714 /* 62470 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22715 /* 62477 */ // (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)
22716 /* 62477 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
22717 /* 62481 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22718 /* 62487 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
22719 /* 62491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8mCL),
22720 /* 62494 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22721 /* 62498 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22722 /* 62501 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22723 /* 62507 */ GIR_RootConstrainSelectedInstOperands,
22724 /* 62508 */ // GIR_Coverage, 789,
22725 /* 62508 */ GIR_EraseRootFromParent_Done,
22726 /* 62509 */ // Label 1928: @62509
22727 /* 62509 */ GIM_Try, /*On fail goto*//*Label 1929*/ GIMT_Encode4(62600), // Rule ID 661 //
22728 /* 62514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22729 /* 62518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
22730 /* 62522 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22731 /* 62526 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22732 /* 62530 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22733 /* 62534 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22734 /* 62538 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22735 /* 62541 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22736 /* 62545 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22737 /* 62549 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
22738 /* 62554 */ // MIs[0] src1
22739 /* 62554 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22740 /* 62559 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22741 /* 62561 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22742 /* 62568 */ // (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)
22743 /* 62568 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
22744 /* 62572 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22745 /* 62578 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
22746 /* 62582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8mCL),
22747 /* 62585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22748 /* 62589 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22749 /* 62592 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22750 /* 62598 */ GIR_RootConstrainSelectedInstOperands,
22751 /* 62599 */ // GIR_Coverage, 661,
22752 /* 62599 */ GIR_EraseRootFromParent_Done,
22753 /* 62600 */ // Label 1929: @62600
22754 /* 62600 */ GIM_Try, /*On fail goto*//*Label 1930*/ GIMT_Encode4(62681), // Rule ID 443 //
22755 /* 62605 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22756 /* 62609 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22757 /* 62613 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22758 /* 62617 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22759 /* 62621 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22760 /* 62625 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22761 /* 62629 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22762 /* 62632 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22763 /* 62636 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22764 /* 62640 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22765 /* 62645 */ // MIs[0] src1
22766 /* 62645 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22767 /* 62650 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22768 /* 62652 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22769 /* 62659 */ // (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)
22770 /* 62659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mr),
22771 /* 62662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22772 /* 62666 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
22773 /* 62670 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22774 /* 62673 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22775 /* 62679 */ GIR_RootConstrainSelectedInstOperands,
22776 /* 62680 */ // GIR_Coverage, 443,
22777 /* 62680 */ GIR_EraseRootFromParent_Done,
22778 /* 62681 */ // Label 1930: @62681
22779 /* 62681 */ GIM_Try, /*On fail goto*//*Label 1931*/ GIMT_Encode4(62762), // Rule ID 371 //
22780 /* 62686 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22781 /* 62690 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22782 /* 62694 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22783 /* 62698 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22784 /* 62702 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22785 /* 62706 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22786 /* 62710 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22787 /* 62713 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22788 /* 62717 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22789 /* 62721 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22790 /* 62726 */ // MIs[0] src1
22791 /* 62726 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22792 /* 62731 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22793 /* 62733 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22794 /* 62740 */ // (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)
22795 /* 62740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
22796 /* 62743 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22797 /* 62747 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
22798 /* 62751 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22799 /* 62754 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22800 /* 62760 */ GIR_RootConstrainSelectedInstOperands,
22801 /* 62761 */ // GIR_Coverage, 371,
22802 /* 62761 */ GIR_EraseRootFromParent_Done,
22803 /* 62762 */ // Label 1931: @62762
22804 /* 62762 */ GIM_Try, /*On fail goto*//*Label 1932*/ GIMT_Encode4(62843), // Rule ID 23450 //
22805 /* 62767 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22806 /* 62771 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22807 /* 62775 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22808 /* 62779 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22809 /* 62783 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22810 /* 62788 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22811 /* 62792 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22812 /* 62796 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22813 /* 62799 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22814 /* 62803 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22815 /* 62807 */ // MIs[0] src1
22816 /* 62807 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22817 /* 62812 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22818 /* 62814 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22819 /* 62821 */ // (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)
22820 /* 62821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
22821 /* 62824 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22822 /* 62828 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
22823 /* 62832 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22824 /* 62835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22825 /* 62841 */ GIR_RootConstrainSelectedInstOperands,
22826 /* 62842 */ // GIR_Coverage, 23450,
22827 /* 62842 */ GIR_EraseRootFromParent_Done,
22828 /* 62843 */ // Label 1932: @62843
22829 /* 62843 */ GIM_Try, /*On fail goto*//*Label 1933*/ GIMT_Encode4(62890), // Rule ID 24 //
22830 /* 62848 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22831 /* 62852 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22832 /* 62856 */ // MIs[1] Operand 1
22833 /* 62856 */ // No operand predicates
22834 /* 62856 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22835 /* 62860 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22836 /* 62864 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22837 /* 62866 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22838 /* 62873 */ // (st (imm:{ *:[i8] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV8mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
22839 /* 62873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mi),
22840 /* 62876 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22841 /* 62880 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
22842 /* 62883 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
22843 /* 62888 */ GIR_RootConstrainSelectedInstOperands,
22844 /* 62889 */ // GIR_Coverage, 24,
22845 /* 62889 */ GIR_EraseRootFromParent_Done,
22846 /* 62890 */ // Label 1933: @62890
22847 /* 62890 */ GIM_Reject,
22848 /* 62891 */ // Label 1918: @62891
22849 /* 62891 */ GIM_Try, /*On fail goto*//*Label 1934*/ GIMT_Encode4(62985),
22850 /* 62896 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22851 /* 62899 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22852 /* 62906 */ GIM_Try, /*On fail goto*//*Label 1935*/ GIMT_Encode4(62949), // Rule ID 22707 //
22853 /* 62911 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22854 /* 62915 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22855 /* 62919 */ // MIs[1] Operand 1
22856 /* 62919 */ // No operand predicates
22857 /* 62919 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22858 /* 62923 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
22859 /* 62925 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22860 /* 62932 */ // (atomic_store (imm:{ *:[i8] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (MOV8mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
22861 /* 62932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mi),
22862 /* 62935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22863 /* 62939 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
22864 /* 62942 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
22865 /* 62947 */ GIR_RootConstrainSelectedInstOperands,
22866 /* 62948 */ // GIR_Coverage, 22707,
22867 /* 62948 */ GIR_EraseRootFromParent_Done,
22868 /* 62949 */ // Label 1935: @62949
22869 /* 62949 */ GIM_Try, /*On fail goto*//*Label 1936*/ GIMT_Encode4(62984), // Rule ID 22711 //
22870 /* 62954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22871 /* 62958 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22872 /* 62962 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22873 /* 62969 */ // (atomic_store GR8:{ *:[i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (MOV8mr addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
22874 /* 62969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mr),
22875 /* 62972 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22876 /* 62976 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
22877 /* 62978 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22878 /* 62982 */ GIR_RootConstrainSelectedInstOperands,
22879 /* 62983 */ // GIR_Coverage, 22711,
22880 /* 62983 */ GIR_EraseRootFromParent_Done,
22881 /* 62984 */ // Label 1936: @62984
22882 /* 62984 */ GIM_Reject,
22883 /* 62985 */ // Label 1934: @62985
22884 /* 62985 */ GIM_Try, /*On fail goto*//*Label 1937*/ GIMT_Encode4(63027), // Rule ID 32 //
22885 /* 62990 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22886 /* 62993 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22887 /* 62997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22888 /* 63001 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22889 /* 63005 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22890 /* 63012 */ // (st GR8:{ *:[i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV8mr addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
22891 /* 63012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mr),
22892 /* 63015 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22893 /* 63019 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
22894 /* 63021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22895 /* 63025 */ GIR_RootConstrainSelectedInstOperands,
22896 /* 63026 */ // GIR_Coverage, 32,
22897 /* 63026 */ GIR_EraseRootFromParent_Done,
22898 /* 63027 */ // Label 1937: @63027
22899 /* 63027 */ GIM_Reject,
22900 /* 63028 */ // Label 1857: @63028
22901 /* 63028 */ GIM_Try, /*On fail goto*//*Label 1938*/ GIMT_Encode4(63377),
22902 /* 63033 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22903 /* 63036 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22904 /* 63043 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1939*/ GIMT_Encode4(63128), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 22692 //
22905 /* 63050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22906 /* 63054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22907 /* 63058 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
22908 /* 63062 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
22909 /* 63066 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22910 /* 63070 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22911 /* 63074 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22912 /* 63077 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22913 /* 63081 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22914 /* 63088 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22915 /* 63092 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
22916 /* 63096 */ // MIs[0] dst
22917 /* 63096 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22918 /* 63101 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22919 /* 63103 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22920 /* 63110 */ // (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)
22921 /* 63110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16m),
22922 /* 63113 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22923 /* 63117 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22924 /* 63120 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22925 /* 63126 */ GIR_RootConstrainSelectedInstOperands,
22926 /* 63127 */ // GIR_Coverage, 22692,
22927 /* 63127 */ GIR_EraseRootFromParent_Done,
22928 /* 63128 */ // Label 1939: @63128
22929 /* 63128 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1940*/ GIMT_Encode4(63213), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 22696 //
22930 /* 63135 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22931 /* 63139 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22932 /* 63143 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
22933 /* 63147 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
22934 /* 63151 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22935 /* 63155 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22936 /* 63159 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22937 /* 63162 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22938 /* 63166 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22939 /* 63173 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22940 /* 63177 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
22941 /* 63181 */ // MIs[0] dst
22942 /* 63181 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22943 /* 63186 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22944 /* 63188 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22945 /* 63195 */ // (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)
22946 /* 63195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16m),
22947 /* 63198 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22948 /* 63202 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22949 /* 63205 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22950 /* 63211 */ GIR_RootConstrainSelectedInstOperands,
22951 /* 63212 */ // GIR_Coverage, 22696,
22952 /* 63212 */ GIR_EraseRootFromParent_Done,
22953 /* 63213 */ // Label 1940: @63213
22954 /* 63213 */ GIM_Try, /*On fail goto*//*Label 1941*/ GIMT_Encode4(63296), // Rule ID 22700 //
22955 /* 63218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22956 /* 63222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22957 /* 63226 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
22958 /* 63230 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
22959 /* 63234 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
22960 /* 63238 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22961 /* 63242 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22962 /* 63246 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22963 /* 63249 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22964 /* 63253 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22965 /* 63260 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22966 /* 63264 */ // MIs[0] dst
22967 /* 63264 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22968 /* 63269 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22969 /* 63271 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22970 /* 63278 */ // (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)
22971 /* 63278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16m),
22972 /* 63281 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22973 /* 63285 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22974 /* 63288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22975 /* 63294 */ GIR_RootConstrainSelectedInstOperands,
22976 /* 63295 */ // GIR_Coverage, 22700,
22977 /* 63295 */ GIR_EraseRootFromParent_Done,
22978 /* 63296 */ // Label 1941: @63296
22979 /* 63296 */ GIM_Try, /*On fail goto*//*Label 1942*/ GIMT_Encode4(63376), // Rule ID 22704 //
22980 /* 63301 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22981 /* 63305 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22982 /* 63309 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
22983 /* 63313 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
22984 /* 63317 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22985 /* 63321 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22986 /* 63325 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22987 /* 63328 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22988 /* 63332 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22989 /* 63339 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22990 /* 63343 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
22991 /* 63347 */ // MIs[0] dst
22992 /* 63347 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22993 /* 63352 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22994 /* 63354 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22995 /* 63361 */ // (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)
22996 /* 63361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16m),
22997 /* 63364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22998 /* 63368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22999 /* 63374 */ GIR_RootConstrainSelectedInstOperands,
23000 /* 63375 */ // GIR_Coverage, 22704,
23001 /* 63375 */ GIR_EraseRootFromParent_Done,
23002 /* 63376 */ // Label 1942: @63376
23003 /* 63376 */ GIM_Reject,
23004 /* 63377 */ // Label 1938: @63377
23005 /* 63377 */ GIM_Try, /*On fail goto*//*Label 1943*/ GIMT_Encode4(64373),
23006 /* 63382 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23007 /* 63385 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23008 /* 63389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1944*/ GIMT_Encode4(63467), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 224 //
23009 /* 63396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23010 /* 63400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23011 /* 63404 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23012 /* 63408 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23013 /* 63412 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23014 /* 63416 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23015 /* 63420 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23016 /* 63423 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23017 /* 63427 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23018 /* 63431 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
23019 /* 63435 */ // MIs[0] src1
23020 /* 63435 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23021 /* 63440 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23022 /* 63442 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23023 /* 63449 */ // (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)
23024 /* 63449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16m),
23025 /* 63452 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23026 /* 63456 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23027 /* 63459 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23028 /* 63465 */ GIR_RootConstrainSelectedInstOperands,
23029 /* 63466 */ // GIR_Coverage, 224,
23030 /* 63466 */ GIR_EraseRootFromParent_Done,
23031 /* 63467 */ // Label 1944: @63467
23032 /* 63467 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1945*/ GIMT_Encode4(63545), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 227 //
23033 /* 63474 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23034 /* 63478 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23035 /* 63482 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23036 /* 63486 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23037 /* 63490 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23038 /* 63494 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23039 /* 63498 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23040 /* 63501 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23041 /* 63505 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23042 /* 63509 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
23043 /* 63513 */ // MIs[0] src1
23044 /* 63513 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23045 /* 63518 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23046 /* 63520 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23047 /* 63527 */ // (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)
23048 /* 63527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16m),
23049 /* 63530 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23050 /* 63534 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23051 /* 63537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23052 /* 63543 */ GIR_RootConstrainSelectedInstOperands,
23053 /* 63544 */ // GIR_Coverage, 227,
23054 /* 63544 */ GIR_EraseRootFromParent_Done,
23055 /* 63545 */ // Label 1945: @63545
23056 /* 63545 */ GIM_Try, /*On fail goto*//*Label 1946*/ GIMT_Encode4(63631), // Rule ID 22841 //
23057 /* 63550 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23058 /* 63554 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23059 /* 63558 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23060 /* 63562 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23061 /* 63566 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23062 /* 63570 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23063 /* 63574 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23064 /* 63577 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23065 /* 63581 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23066 /* 63585 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
23067 /* 63596 */ // MIs[0] dst
23068 /* 63596 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23069 /* 63601 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23070 /* 63603 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23071 /* 63610 */ // (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] })
23072 /* 63610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
23073 /* 63613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23074 /* 63617 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
23075 /* 63620 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23076 /* 63623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23077 /* 63629 */ GIR_RootConstrainSelectedInstOperands,
23078 /* 63630 */ // GIR_Coverage, 22841,
23079 /* 63630 */ GIR_EraseRootFromParent_Done,
23080 /* 63631 */ // Label 1946: @63631
23081 /* 63631 */ GIM_Try, /*On fail goto*//*Label 1947*/ GIMT_Encode4(63707), // Rule ID 17670 //
23082 /* 63636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23083 /* 63640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
23084 /* 63644 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23085 /* 63648 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23086 /* 63652 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23087 /* 63656 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23088 /* 63660 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23089 /* 63663 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23090 /* 63667 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23091 /* 63671 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 15,
23092 /* 63675 */ // MIs[0] dst
23093 /* 63675 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23094 /* 63680 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23095 /* 63682 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23096 /* 63689 */ // (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)
23097 /* 63689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16m1),
23098 /* 63692 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23099 /* 63696 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23100 /* 63699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23101 /* 63705 */ GIR_RootConstrainSelectedInstOperands,
23102 /* 63706 */ // GIR_Coverage, 17670,
23103 /* 63706 */ GIR_EraseRootFromParent_Done,
23104 /* 63707 */ // Label 1947: @63707
23105 /* 63707 */ GIM_Try, /*On fail goto*//*Label 1948*/ GIMT_Encode4(63783), // Rule ID 17674 //
23106 /* 63712 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23107 /* 63716 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
23108 /* 63720 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23109 /* 63724 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23110 /* 63728 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23111 /* 63732 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23112 /* 63736 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23113 /* 63739 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23114 /* 63743 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23115 /* 63747 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 15,
23116 /* 63751 */ // MIs[0] dst
23117 /* 63751 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23118 /* 63756 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23119 /* 63758 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23120 /* 63765 */ // (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)
23121 /* 63765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16m1),
23122 /* 63768 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23123 /* 63772 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23124 /* 63775 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23125 /* 63781 */ GIR_RootConstrainSelectedInstOperands,
23126 /* 63782 */ // GIR_Coverage, 17674,
23127 /* 63782 */ GIR_EraseRootFromParent_Done,
23128 /* 63783 */ // Label 1948: @63783
23129 /* 63783 */ GIM_Try, /*On fail goto*//*Label 1949*/ GIMT_Encode4(63859), // Rule ID 260 //
23130 /* 63788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23131 /* 63792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23132 /* 63796 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23133 /* 63800 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23134 /* 63804 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
23135 /* 63808 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23136 /* 63812 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23137 /* 63816 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23138 /* 63819 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23139 /* 63823 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23140 /* 63827 */ // MIs[0] src1
23141 /* 63827 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23142 /* 63832 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23143 /* 63834 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23144 /* 63841 */ // (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)
23145 /* 63841 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16m),
23146 /* 63844 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23147 /* 63848 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23148 /* 63851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23149 /* 63857 */ GIR_RootConstrainSelectedInstOperands,
23150 /* 63858 */ // GIR_Coverage, 260,
23151 /* 63858 */ GIR_EraseRootFromParent_Done,
23152 /* 63859 */ // Label 1949: @63859
23153 /* 63859 */ GIM_Try, /*On fail goto*//*Label 1950*/ GIMT_Encode4(63932), // Rule ID 268 //
23154 /* 63864 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23155 /* 63868 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23156 /* 63872 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23157 /* 63876 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23158 /* 63880 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23159 /* 63884 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23160 /* 63888 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23161 /* 63891 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23162 /* 63895 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23163 /* 63899 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
23164 /* 63903 */ // MIs[0] src1
23165 /* 63903 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23166 /* 63908 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23167 /* 63910 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23168 /* 63917 */ // (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)
23169 /* 63917 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16m),
23170 /* 63920 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23171 /* 63924 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23172 /* 63930 */ GIR_RootConstrainSelectedInstOperands,
23173 /* 63931 */ // GIR_Coverage, 268,
23174 /* 63931 */ GIR_EraseRootFromParent_Done,
23175 /* 63932 */ // Label 1950: @63932
23176 /* 63932 */ GIM_Try, /*On fail goto*//*Label 1951*/ GIMT_Encode4(64020), // Rule ID 412 //
23177 /* 63937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23178 /* 63941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23179 /* 63945 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23180 /* 63949 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23181 /* 63953 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23182 /* 63957 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23183 /* 63961 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23184 /* 63964 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23185 /* 63968 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23186 /* 63972 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23187 /* 63976 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23188 /* 63980 */ // MIs[3] Operand 1
23189 /* 63980 */ // No operand predicates
23190 /* 63980 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23191 /* 63984 */ // MIs[0] src1
23192 /* 63984 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23193 /* 63989 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23194 /* 63991 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23195 /* 63998 */ // (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)
23196 /* 63998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mi),
23197 /* 64001 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23198 /* 64005 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23199 /* 64008 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23200 /* 64011 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23201 /* 64018 */ GIR_RootConstrainSelectedInstOperands,
23202 /* 64019 */ // GIR_Coverage, 412,
23203 /* 64019 */ GIR_EraseRootFromParent_Done,
23204 /* 64020 */ // Label 1951: @64020
23205 /* 64020 */ GIM_Try, /*On fail goto*//*Label 1952*/ GIMT_Encode4(64108), // Rule ID 304 //
23206 /* 64025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23207 /* 64029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23208 /* 64033 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23209 /* 64037 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23210 /* 64041 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23211 /* 64045 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23212 /* 64049 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23213 /* 64052 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23214 /* 64056 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23215 /* 64060 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23216 /* 64064 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23217 /* 64068 */ // MIs[3] Operand 1
23218 /* 64068 */ // No operand predicates
23219 /* 64068 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23220 /* 64072 */ // MIs[0] src1
23221 /* 64072 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23222 /* 64077 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23223 /* 64079 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23224 /* 64086 */ // (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)
23225 /* 64086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mi),
23226 /* 64089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23227 /* 64093 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23228 /* 64096 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23229 /* 64099 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23230 /* 64106 */ GIR_RootConstrainSelectedInstOperands,
23231 /* 64107 */ // GIR_Coverage, 304,
23232 /* 64107 */ GIR_EraseRootFromParent_Done,
23233 /* 64108 */ // Label 1952: @64108
23234 /* 64108 */ GIM_Try, /*On fail goto*//*Label 1953*/ GIMT_Encode4(64196), // Rule ID 340 //
23235 /* 64113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23236 /* 64117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23237 /* 64121 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23238 /* 64125 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23239 /* 64129 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23240 /* 64133 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23241 /* 64137 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23242 /* 64140 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23243 /* 64144 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23244 /* 64148 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23245 /* 64152 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23246 /* 64156 */ // MIs[3] Operand 1
23247 /* 64156 */ // No operand predicates
23248 /* 64156 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23249 /* 64160 */ // MIs[0] src1
23250 /* 64160 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23251 /* 64165 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23252 /* 64167 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23253 /* 64174 */ // (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)
23254 /* 64174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mi),
23255 /* 64177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23256 /* 64181 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23257 /* 64184 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23258 /* 64187 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23259 /* 64194 */ GIR_RootConstrainSelectedInstOperands,
23260 /* 64195 */ // GIR_Coverage, 340,
23261 /* 64195 */ GIR_EraseRootFromParent_Done,
23262 /* 64196 */ // Label 1953: @64196
23263 /* 64196 */ GIM_Try, /*On fail goto*//*Label 1954*/ GIMT_Encode4(64284), // Rule ID 452 //
23264 /* 64201 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23265 /* 64205 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23266 /* 64209 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23267 /* 64213 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23268 /* 64217 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23269 /* 64221 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23270 /* 64225 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23271 /* 64228 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23272 /* 64232 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23273 /* 64236 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23274 /* 64240 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23275 /* 64244 */ // MIs[3] Operand 1
23276 /* 64244 */ // No operand predicates
23277 /* 64244 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23278 /* 64248 */ // MIs[0] src1
23279 /* 64248 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23280 /* 64253 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23281 /* 64255 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23282 /* 64262 */ // (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)
23283 /* 64262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
23284 /* 64265 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23285 /* 64269 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23286 /* 64272 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23287 /* 64275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23288 /* 64282 */ GIR_RootConstrainSelectedInstOperands,
23289 /* 64283 */ // GIR_Coverage, 452,
23290 /* 64283 */ GIR_EraseRootFromParent_Done,
23291 /* 64284 */ // Label 1954: @64284
23292 /* 64284 */ GIM_Try, /*On fail goto*//*Label 1955*/ GIMT_Encode4(64372), // Rule ID 376 //
23293 /* 64289 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23294 /* 64293 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23295 /* 64297 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23296 /* 64301 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23297 /* 64305 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23298 /* 64309 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23299 /* 64313 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23300 /* 64316 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23301 /* 64320 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23302 /* 64324 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23303 /* 64328 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23304 /* 64332 */ // MIs[3] Operand 1
23305 /* 64332 */ // No operand predicates
23306 /* 64332 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23307 /* 64336 */ // MIs[0] src1
23308 /* 64336 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23309 /* 64341 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23310 /* 64343 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23311 /* 64350 */ // (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)
23312 /* 64350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mi),
23313 /* 64353 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23314 /* 64357 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23315 /* 64360 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23316 /* 64363 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23317 /* 64370 */ GIR_RootConstrainSelectedInstOperands,
23318 /* 64371 */ // GIR_Coverage, 376,
23319 /* 64371 */ GIR_EraseRootFromParent_Done,
23320 /* 64372 */ // Label 1955: @64372
23321 /* 64372 */ GIM_Reject,
23322 /* 64373 */ // Label 1943: @64373
23323 /* 64373 */ GIM_Try, /*On fail goto*//*Label 1956*/ GIMT_Encode4(64844),
23324 /* 64378 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23325 /* 64381 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23326 /* 64388 */ GIM_Try, /*On fail goto*//*Label 1957*/ GIMT_Encode4(64479), // Rule ID 22628 //
23327 /* 64393 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23328 /* 64397 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23329 /* 64401 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23330 /* 64405 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23331 /* 64409 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23332 /* 64413 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23333 /* 64417 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23334 /* 64420 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23335 /* 64424 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23336 /* 64431 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23337 /* 64435 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23338 /* 64439 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23339 /* 64443 */ // MIs[3] Operand 1
23340 /* 64443 */ // No operand predicates
23341 /* 64443 */ // MIs[0] dst
23342 /* 64443 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23343 /* 64448 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23344 /* 64450 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23345 /* 64457 */ // (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)
23346 /* 64457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mi),
23347 /* 64460 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23348 /* 64464 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23349 /* 64467 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23350 /* 64470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23351 /* 64477 */ GIR_RootConstrainSelectedInstOperands,
23352 /* 64478 */ // GIR_Coverage, 22628,
23353 /* 64478 */ GIR_EraseRootFromParent_Done,
23354 /* 64479 */ // Label 1957: @64479
23355 /* 64479 */ GIM_Try, /*On fail goto*//*Label 1958*/ GIMT_Encode4(64570), // Rule ID 22636 //
23356 /* 64484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23357 /* 64488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23358 /* 64492 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23359 /* 64496 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23360 /* 64500 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23361 /* 64504 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23362 /* 64508 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23363 /* 64511 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23364 /* 64515 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23365 /* 64522 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23366 /* 64526 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23367 /* 64530 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23368 /* 64534 */ // MIs[3] Operand 1
23369 /* 64534 */ // No operand predicates
23370 /* 64534 */ // MIs[0] dst
23371 /* 64534 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23372 /* 64539 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23373 /* 64541 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23374 /* 64548 */ // (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)
23375 /* 64548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mi),
23376 /* 64551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23377 /* 64555 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23378 /* 64558 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23379 /* 64561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23380 /* 64568 */ GIR_RootConstrainSelectedInstOperands,
23381 /* 64569 */ // GIR_Coverage, 22636,
23382 /* 64569 */ GIR_EraseRootFromParent_Done,
23383 /* 64570 */ // Label 1958: @64570
23384 /* 64570 */ GIM_Try, /*On fail goto*//*Label 1959*/ GIMT_Encode4(64661), // Rule ID 22644 //
23385 /* 64575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23386 /* 64579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23387 /* 64583 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23388 /* 64587 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23389 /* 64591 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23390 /* 64595 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23391 /* 64599 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23392 /* 64602 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23393 /* 64606 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23394 /* 64613 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23395 /* 64617 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23396 /* 64621 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23397 /* 64625 */ // MIs[3] Operand 1
23398 /* 64625 */ // No operand predicates
23399 /* 64625 */ // MIs[0] dst
23400 /* 64625 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23401 /* 64630 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23402 /* 64632 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23403 /* 64639 */ // (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)
23404 /* 64639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mi),
23405 /* 64642 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23406 /* 64646 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23407 /* 64649 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23408 /* 64652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23409 /* 64659 */ GIR_RootConstrainSelectedInstOperands,
23410 /* 64660 */ // GIR_Coverage, 22644,
23411 /* 64660 */ GIR_EraseRootFromParent_Done,
23412 /* 64661 */ // Label 1959: @64661
23413 /* 64661 */ GIM_Try, /*On fail goto*//*Label 1960*/ GIMT_Encode4(64752), // Rule ID 22660 //
23414 /* 64666 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23415 /* 64670 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23416 /* 64674 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23417 /* 64678 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23418 /* 64682 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23419 /* 64686 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23420 /* 64690 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23421 /* 64693 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23422 /* 64697 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23423 /* 64704 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23424 /* 64708 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23425 /* 64712 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23426 /* 64716 */ // MIs[3] Operand 1
23427 /* 64716 */ // No operand predicates
23428 /* 64716 */ // MIs[0] dst
23429 /* 64716 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23430 /* 64721 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23431 /* 64723 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23432 /* 64730 */ // (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)
23433 /* 64730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
23434 /* 64733 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23435 /* 64737 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23436 /* 64740 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23437 /* 64743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23438 /* 64750 */ GIR_RootConstrainSelectedInstOperands,
23439 /* 64751 */ // GIR_Coverage, 22660,
23440 /* 64751 */ GIR_EraseRootFromParent_Done,
23441 /* 64752 */ // Label 1960: @64752
23442 /* 64752 */ GIM_Try, /*On fail goto*//*Label 1961*/ GIMT_Encode4(64843), // Rule ID 22652 //
23443 /* 64757 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23444 /* 64761 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23445 /* 64765 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23446 /* 64769 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23447 /* 64773 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23448 /* 64777 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23449 /* 64781 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23450 /* 64784 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23451 /* 64788 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23452 /* 64795 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23453 /* 64799 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23454 /* 64803 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23455 /* 64807 */ // MIs[3] Operand 1
23456 /* 64807 */ // No operand predicates
23457 /* 64807 */ // MIs[0] dst
23458 /* 64807 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23459 /* 64812 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23460 /* 64814 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23461 /* 64821 */ // (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)
23462 /* 64821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mi),
23463 /* 64824 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23464 /* 64828 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23465 /* 64831 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23466 /* 64834 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23467 /* 64841 */ GIR_RootConstrainSelectedInstOperands,
23468 /* 64842 */ // GIR_Coverage, 22652,
23469 /* 64842 */ GIR_EraseRootFromParent_Done,
23470 /* 64843 */ // Label 1961: @64843
23471 /* 64843 */ GIM_Reject,
23472 /* 64844 */ // Label 1956: @64844
23473 /* 64844 */ GIM_Try, /*On fail goto*//*Label 1962*/ GIMT_Encode4(65277),
23474 /* 64849 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23475 /* 64852 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23476 /* 64856 */ GIM_Try, /*On fail goto*//*Label 1963*/ GIMT_Encode4(64940), // Rule ID 710 //
23477 /* 64861 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23478 /* 64865 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
23479 /* 64869 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23480 /* 64873 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23481 /* 64877 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23482 /* 64881 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23483 /* 64885 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23484 /* 64888 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23485 /* 64892 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23486 /* 64896 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23487 /* 64900 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23488 /* 64904 */ // MIs[3] Operand 1
23489 /* 64904 */ // No operand predicates
23490 /* 64904 */ // MIs[0] src1
23491 /* 64904 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23492 /* 64909 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23493 /* 64911 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23494 /* 64918 */ // (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)
23495 /* 64918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16mi),
23496 /* 64921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23497 /* 64925 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23498 /* 64928 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23499 /* 64931 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23500 /* 64938 */ GIR_RootConstrainSelectedInstOperands,
23501 /* 64939 */ // GIR_Coverage, 710,
23502 /* 64939 */ GIR_EraseRootFromParent_Done,
23503 /* 64940 */ // Label 1963: @64940
23504 /* 64940 */ GIM_Try, /*On fail goto*//*Label 1964*/ GIMT_Encode4(65024), // Rule ID 678 //
23505 /* 64945 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23506 /* 64949 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
23507 /* 64953 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23508 /* 64957 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23509 /* 64961 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23510 /* 64965 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23511 /* 64969 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23512 /* 64972 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23513 /* 64976 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23514 /* 64980 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23515 /* 64984 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23516 /* 64988 */ // MIs[3] Operand 1
23517 /* 64988 */ // No operand predicates
23518 /* 64988 */ // MIs[0] src1
23519 /* 64988 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23520 /* 64993 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23521 /* 64995 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23522 /* 65002 */ // (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)
23523 /* 65002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16mi),
23524 /* 65005 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23525 /* 65009 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23526 /* 65012 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23527 /* 65015 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23528 /* 65022 */ GIR_RootConstrainSelectedInstOperands,
23529 /* 65023 */ // GIR_Coverage, 678,
23530 /* 65023 */ GIR_EraseRootFromParent_Done,
23531 /* 65024 */ // Label 1964: @65024
23532 /* 65024 */ GIM_Try, /*On fail goto*//*Label 1965*/ GIMT_Encode4(65108), // Rule ID 742 //
23533 /* 65029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23534 /* 65033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
23535 /* 65037 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23536 /* 65041 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23537 /* 65045 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23538 /* 65049 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23539 /* 65053 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23540 /* 65056 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23541 /* 65060 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23542 /* 65064 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23543 /* 65068 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23544 /* 65072 */ // MIs[3] Operand 1
23545 /* 65072 */ // No operand predicates
23546 /* 65072 */ // MIs[0] src1
23547 /* 65072 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23548 /* 65077 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23549 /* 65079 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23550 /* 65086 */ // (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)
23551 /* 65086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16mi),
23552 /* 65089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23553 /* 65093 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23554 /* 65096 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23555 /* 65099 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23556 /* 65106 */ GIR_RootConstrainSelectedInstOperands,
23557 /* 65107 */ // GIR_Coverage, 742,
23558 /* 65107 */ GIR_EraseRootFromParent_Done,
23559 /* 65108 */ // Label 1965: @65108
23560 /* 65108 */ GIM_Try, /*On fail goto*//*Label 1966*/ GIMT_Encode4(65192), // Rule ID 774 //
23561 /* 65113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23562 /* 65117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
23563 /* 65121 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23564 /* 65125 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23565 /* 65129 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23566 /* 65133 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23567 /* 65137 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23568 /* 65140 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23569 /* 65144 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23570 /* 65148 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23571 /* 65152 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23572 /* 65156 */ // MIs[3] Operand 1
23573 /* 65156 */ // No operand predicates
23574 /* 65156 */ // MIs[0] src1
23575 /* 65156 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23576 /* 65161 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23577 /* 65163 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23578 /* 65170 */ // (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)
23579 /* 65170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16mi),
23580 /* 65173 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23581 /* 65177 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23582 /* 65180 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23583 /* 65183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23584 /* 65190 */ GIR_RootConstrainSelectedInstOperands,
23585 /* 65191 */ // GIR_Coverage, 774,
23586 /* 65191 */ GIR_EraseRootFromParent_Done,
23587 /* 65192 */ // Label 1966: @65192
23588 /* 65192 */ GIM_Try, /*On fail goto*//*Label 1967*/ GIMT_Encode4(65276), // Rule ID 646 //
23589 /* 65197 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23590 /* 65201 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
23591 /* 65205 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23592 /* 65209 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23593 /* 65213 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23594 /* 65217 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23595 /* 65221 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23596 /* 65224 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23597 /* 65228 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23598 /* 65232 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23599 /* 65236 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23600 /* 65240 */ // MIs[3] Operand 1
23601 /* 65240 */ // No operand predicates
23602 /* 65240 */ // MIs[0] src1
23603 /* 65240 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23604 /* 65245 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23605 /* 65247 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23606 /* 65254 */ // (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)
23607 /* 65254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16mi),
23608 /* 65257 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23609 /* 65261 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23610 /* 65264 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23611 /* 65267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23612 /* 65274 */ GIR_RootConstrainSelectedInstOperands,
23613 /* 65275 */ // GIR_Coverage, 646,
23614 /* 65275 */ GIR_EraseRootFromParent_Done,
23615 /* 65276 */ // Label 1967: @65276
23616 /* 65276 */ GIM_Reject,
23617 /* 65277 */ // Label 1962: @65277
23618 /* 65277 */ GIM_Try, /*On fail goto*//*Label 1968*/ GIMT_Encode4(66085),
23619 /* 65282 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23620 /* 65285 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23621 /* 65292 */ GIM_Try, /*On fail goto*//*Label 1969*/ GIMT_Encode4(65380), // Rule ID 22632 //
23622 /* 65297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23623 /* 65301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23624 /* 65305 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23625 /* 65309 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23626 /* 65313 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23627 /* 65317 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23628 /* 65321 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23629 /* 65324 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23630 /* 65328 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23631 /* 65335 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23632 /* 65339 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23633 /* 65344 */ // MIs[0] dst
23634 /* 65344 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23635 /* 65349 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23636 /* 65351 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23637 /* 65358 */ // (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)
23638 /* 65358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
23639 /* 65361 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23640 /* 65365 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23641 /* 65369 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23642 /* 65372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23643 /* 65378 */ GIR_RootConstrainSelectedInstOperands,
23644 /* 65379 */ // GIR_Coverage, 22632,
23645 /* 65379 */ GIR_EraseRootFromParent_Done,
23646 /* 65380 */ // Label 1969: @65380
23647 /* 65380 */ GIM_Try, /*On fail goto*//*Label 1970*/ GIMT_Encode4(65468), // Rule ID 26247 //
23648 /* 65385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23649 /* 65389 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23650 /* 65393 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23651 /* 65397 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23652 /* 65401 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23653 /* 65406 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23654 /* 65410 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23655 /* 65414 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23656 /* 65417 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23657 /* 65421 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23658 /* 65428 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23659 /* 65432 */ // MIs[0] dst
23660 /* 65432 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23661 /* 65437 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23662 /* 65439 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23663 /* 65446 */ // (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)
23664 /* 65446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
23665 /* 65449 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23666 /* 65453 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23667 /* 65457 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23668 /* 65460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23669 /* 65466 */ GIR_RootConstrainSelectedInstOperands,
23670 /* 65467 */ // GIR_Coverage, 26247,
23671 /* 65467 */ GIR_EraseRootFromParent_Done,
23672 /* 65468 */ // Label 1970: @65468
23673 /* 65468 */ GIM_Try, /*On fail goto*//*Label 1971*/ GIMT_Encode4(65556), // Rule ID 22640 //
23674 /* 65473 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23675 /* 65477 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23676 /* 65481 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23677 /* 65485 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23678 /* 65489 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23679 /* 65493 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23680 /* 65497 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23681 /* 65500 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23682 /* 65504 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23683 /* 65511 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23684 /* 65515 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23685 /* 65520 */ // MIs[0] dst
23686 /* 65520 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23687 /* 65525 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23688 /* 65527 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23689 /* 65534 */ // (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)
23690 /* 65534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
23691 /* 65537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23692 /* 65541 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23693 /* 65545 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23694 /* 65548 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23695 /* 65554 */ GIR_RootConstrainSelectedInstOperands,
23696 /* 65555 */ // GIR_Coverage, 22640,
23697 /* 65555 */ GIR_EraseRootFromParent_Done,
23698 /* 65556 */ // Label 1971: @65556
23699 /* 65556 */ GIM_Try, /*On fail goto*//*Label 1972*/ GIMT_Encode4(65644), // Rule ID 26251 //
23700 /* 65561 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23701 /* 65565 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23702 /* 65569 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23703 /* 65573 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23704 /* 65577 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23705 /* 65582 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23706 /* 65586 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23707 /* 65590 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23708 /* 65593 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23709 /* 65597 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23710 /* 65604 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23711 /* 65608 */ // MIs[0] dst
23712 /* 65608 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23713 /* 65613 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23714 /* 65615 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23715 /* 65622 */ // (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)
23716 /* 65622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
23717 /* 65625 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23718 /* 65629 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23719 /* 65633 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23720 /* 65636 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23721 /* 65642 */ GIR_RootConstrainSelectedInstOperands,
23722 /* 65643 */ // GIR_Coverage, 26251,
23723 /* 65643 */ GIR_EraseRootFromParent_Done,
23724 /* 65644 */ // Label 1972: @65644
23725 /* 65644 */ GIM_Try, /*On fail goto*//*Label 1973*/ GIMT_Encode4(65732), // Rule ID 22648 //
23726 /* 65649 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23727 /* 65653 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23728 /* 65657 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23729 /* 65661 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23730 /* 65665 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23731 /* 65669 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23732 /* 65673 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23733 /* 65676 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23734 /* 65680 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23735 /* 65687 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23736 /* 65691 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23737 /* 65696 */ // MIs[0] dst
23738 /* 65696 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23739 /* 65701 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23740 /* 65703 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23741 /* 65710 */ // (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)
23742 /* 65710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
23743 /* 65713 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23744 /* 65717 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23745 /* 65721 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23746 /* 65724 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23747 /* 65730 */ GIR_RootConstrainSelectedInstOperands,
23748 /* 65731 */ // GIR_Coverage, 22648,
23749 /* 65731 */ GIR_EraseRootFromParent_Done,
23750 /* 65732 */ // Label 1973: @65732
23751 /* 65732 */ GIM_Try, /*On fail goto*//*Label 1974*/ GIMT_Encode4(65820), // Rule ID 26255 //
23752 /* 65737 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23753 /* 65741 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23754 /* 65745 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23755 /* 65749 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23756 /* 65753 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23757 /* 65758 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23758 /* 65762 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23759 /* 65766 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23760 /* 65769 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23761 /* 65773 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23762 /* 65780 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23763 /* 65784 */ // MIs[0] dst
23764 /* 65784 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23765 /* 65789 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23766 /* 65791 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23767 /* 65798 */ // (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)
23768 /* 65798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
23769 /* 65801 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23770 /* 65805 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23771 /* 65809 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23772 /* 65812 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23773 /* 65818 */ GIR_RootConstrainSelectedInstOperands,
23774 /* 65819 */ // GIR_Coverage, 26255,
23775 /* 65819 */ GIR_EraseRootFromParent_Done,
23776 /* 65820 */ // Label 1974: @65820
23777 /* 65820 */ GIM_Try, /*On fail goto*//*Label 1975*/ GIMT_Encode4(65908), // Rule ID 22664 //
23778 /* 65825 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23779 /* 65829 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23780 /* 65833 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23781 /* 65837 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23782 /* 65841 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23783 /* 65845 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23784 /* 65849 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23785 /* 65852 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23786 /* 65856 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23787 /* 65863 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23788 /* 65867 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23789 /* 65872 */ // MIs[0] dst
23790 /* 65872 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23791 /* 65877 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23792 /* 65879 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23793 /* 65886 */ // (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)
23794 /* 65886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mr),
23795 /* 65889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23796 /* 65893 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23797 /* 65897 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23798 /* 65900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23799 /* 65906 */ GIR_RootConstrainSelectedInstOperands,
23800 /* 65907 */ // GIR_Coverage, 22664,
23801 /* 65907 */ GIR_EraseRootFromParent_Done,
23802 /* 65908 */ // Label 1975: @65908
23803 /* 65908 */ GIM_Try, /*On fail goto*//*Label 1976*/ GIMT_Encode4(65996), // Rule ID 22656 //
23804 /* 65913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23805 /* 65917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23806 /* 65921 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23807 /* 65925 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23808 /* 65929 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23809 /* 65933 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23810 /* 65937 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23811 /* 65940 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23812 /* 65944 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23813 /* 65951 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23814 /* 65955 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23815 /* 65960 */ // MIs[0] dst
23816 /* 65960 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23817 /* 65965 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23818 /* 65967 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23819 /* 65974 */ // (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)
23820 /* 65974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
23821 /* 65977 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23822 /* 65981 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23823 /* 65985 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23824 /* 65988 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23825 /* 65994 */ GIR_RootConstrainSelectedInstOperands,
23826 /* 65995 */ // GIR_Coverage, 22656,
23827 /* 65995 */ GIR_EraseRootFromParent_Done,
23828 /* 65996 */ // Label 1976: @65996
23829 /* 65996 */ GIM_Try, /*On fail goto*//*Label 1977*/ GIMT_Encode4(66084), // Rule ID 26259 //
23830 /* 66001 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23831 /* 66005 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23832 /* 66009 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23833 /* 66013 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23834 /* 66017 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23835 /* 66022 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23836 /* 66026 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23837 /* 66030 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23838 /* 66033 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23839 /* 66037 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23840 /* 66044 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23841 /* 66048 */ // MIs[0] dst
23842 /* 66048 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23843 /* 66053 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23844 /* 66055 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23845 /* 66062 */ // (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)
23846 /* 66062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
23847 /* 66065 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23848 /* 66069 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23849 /* 66073 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23850 /* 66076 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23851 /* 66082 */ GIR_RootConstrainSelectedInstOperands,
23852 /* 66083 */ // GIR_Coverage, 26259,
23853 /* 66083 */ GIR_EraseRootFromParent_Done,
23854 /* 66084 */ // Label 1977: @66084
23855 /* 66084 */ GIM_Reject,
23856 /* 66085 */ // Label 1968: @66085
23857 /* 66085 */ GIM_Try, /*On fail goto*//*Label 1978*/ GIMT_Encode4(67329),
23858 /* 66090 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23859 /* 66093 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23860 /* 66097 */ GIM_Try, /*On fail goto*//*Label 1979*/ GIMT_Encode4(66178), // Rule ID 408 //
23861 /* 66102 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23862 /* 66106 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23863 /* 66110 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23864 /* 66114 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23865 /* 66118 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23866 /* 66122 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23867 /* 66126 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23868 /* 66129 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23869 /* 66133 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23870 /* 66137 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23871 /* 66142 */ // MIs[0] src1
23872 /* 66142 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23873 /* 66147 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23874 /* 66149 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23875 /* 66156 */ // (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)
23876 /* 66156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
23877 /* 66159 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23878 /* 66163 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23879 /* 66167 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23880 /* 66170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23881 /* 66176 */ GIR_RootConstrainSelectedInstOperands,
23882 /* 66177 */ // GIR_Coverage, 408,
23883 /* 66177 */ GIR_EraseRootFromParent_Done,
23884 /* 66178 */ // Label 1979: @66178
23885 /* 66178 */ GIM_Try, /*On fail goto*//*Label 1980*/ GIMT_Encode4(66259), // Rule ID 23463 //
23886 /* 66183 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23887 /* 66187 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23888 /* 66191 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23889 /* 66195 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23890 /* 66199 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23891 /* 66204 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23892 /* 66208 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23893 /* 66212 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23894 /* 66215 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23895 /* 66219 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23896 /* 66223 */ // MIs[0] src1
23897 /* 66223 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23898 /* 66228 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23899 /* 66230 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23900 /* 66237 */ // (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)
23901 /* 66237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
23902 /* 66240 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23903 /* 66244 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
23904 /* 66248 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23905 /* 66251 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23906 /* 66257 */ GIR_RootConstrainSelectedInstOperands,
23907 /* 66258 */ // GIR_Coverage, 23463,
23908 /* 66258 */ GIR_EraseRootFromParent_Done,
23909 /* 66259 */ // Label 1980: @66259
23910 /* 66259 */ GIM_Try, /*On fail goto*//*Label 1981*/ GIMT_Encode4(66340), // Rule ID 300 //
23911 /* 66264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23912 /* 66268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23913 /* 66272 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23914 /* 66276 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23915 /* 66280 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23916 /* 66284 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23917 /* 66288 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23918 /* 66291 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23919 /* 66295 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23920 /* 66299 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23921 /* 66304 */ // MIs[0] src1
23922 /* 66304 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23923 /* 66309 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23924 /* 66311 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23925 /* 66318 */ // (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)
23926 /* 66318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
23927 /* 66321 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23928 /* 66325 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23929 /* 66329 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23930 /* 66332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23931 /* 66338 */ GIR_RootConstrainSelectedInstOperands,
23932 /* 66339 */ // GIR_Coverage, 300,
23933 /* 66339 */ GIR_EraseRootFromParent_Done,
23934 /* 66340 */ // Label 1981: @66340
23935 /* 66340 */ GIM_Try, /*On fail goto*//*Label 1982*/ GIMT_Encode4(66421), // Rule ID 23427 //
23936 /* 66345 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23937 /* 66349 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23938 /* 66353 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23939 /* 66357 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23940 /* 66361 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
23941 /* 66366 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23942 /* 66370 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23943 /* 66374 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23944 /* 66377 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23945 /* 66381 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23946 /* 66385 */ // MIs[0] src1
23947 /* 66385 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23948 /* 66390 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23949 /* 66392 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23950 /* 66399 */ // (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)
23951 /* 66399 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
23952 /* 66402 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23953 /* 66406 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
23954 /* 66410 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23955 /* 66413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23956 /* 66419 */ GIR_RootConstrainSelectedInstOperands,
23957 /* 66420 */ // GIR_Coverage, 23427,
23958 /* 66420 */ GIR_EraseRootFromParent_Done,
23959 /* 66421 */ // Label 1982: @66421
23960 /* 66421 */ GIM_Try, /*On fail goto*//*Label 1983*/ GIMT_Encode4(66512), // Rule ID 726 //
23961 /* 66426 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23962 /* 66430 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
23963 /* 66434 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23964 /* 66438 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23965 /* 66442 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23966 /* 66446 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23967 /* 66450 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23968 /* 66453 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23969 /* 66457 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23970 /* 66461 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23971 /* 66466 */ // MIs[0] src1
23972 /* 66466 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23973 /* 66471 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23974 /* 66473 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23975 /* 66480 */ // (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)
23976 /* 66480 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23977 /* 66484 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23978 /* 66490 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23979 /* 66494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16mCL),
23980 /* 66497 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23981 /* 66501 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23982 /* 66504 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23983 /* 66510 */ GIR_RootConstrainSelectedInstOperands,
23984 /* 66511 */ // GIR_Coverage, 726,
23985 /* 66511 */ GIR_EraseRootFromParent_Done,
23986 /* 66512 */ // Label 1983: @66512
23987 /* 66512 */ GIM_Try, /*On fail goto*//*Label 1984*/ GIMT_Encode4(66603), // Rule ID 694 //
23988 /* 66517 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23989 /* 66521 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
23990 /* 66525 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23991 /* 66529 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23992 /* 66533 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23993 /* 66537 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23994 /* 66541 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23995 /* 66544 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23996 /* 66548 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23997 /* 66552 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23998 /* 66557 */ // MIs[0] src1
23999 /* 66557 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24000 /* 66562 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24001 /* 66564 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24002 /* 66571 */ // (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)
24003 /* 66571 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24004 /* 66575 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24005 /* 66581 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24006 /* 66585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16mCL),
24007 /* 66588 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24008 /* 66592 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24009 /* 66595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24010 /* 66601 */ GIR_RootConstrainSelectedInstOperands,
24011 /* 66602 */ // GIR_Coverage, 694,
24012 /* 66602 */ GIR_EraseRootFromParent_Done,
24013 /* 66603 */ // Label 1984: @66603
24014 /* 66603 */ GIM_Try, /*On fail goto*//*Label 1985*/ GIMT_Encode4(66684), // Rule ID 336 //
24015 /* 66608 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24016 /* 66612 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24017 /* 66616 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24018 /* 66620 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24019 /* 66624 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24020 /* 66628 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24021 /* 66632 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24022 /* 66635 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24023 /* 66639 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24024 /* 66643 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24025 /* 66648 */ // MIs[0] src1
24026 /* 66648 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24027 /* 66653 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24028 /* 66655 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24029 /* 66662 */ // (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)
24030 /* 66662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
24031 /* 66665 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24032 /* 66669 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24033 /* 66673 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24034 /* 66676 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24035 /* 66682 */ GIR_RootConstrainSelectedInstOperands,
24036 /* 66683 */ // GIR_Coverage, 336,
24037 /* 66683 */ GIR_EraseRootFromParent_Done,
24038 /* 66684 */ // Label 1985: @66684
24039 /* 66684 */ GIM_Try, /*On fail goto*//*Label 1986*/ GIMT_Encode4(66765), // Rule ID 23439 //
24040 /* 66689 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24041 /* 66693 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24042 /* 66697 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24043 /* 66701 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24044 /* 66705 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24045 /* 66710 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24046 /* 66714 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24047 /* 66718 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24048 /* 66721 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24049 /* 66725 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24050 /* 66729 */ // MIs[0] src1
24051 /* 66729 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24052 /* 66734 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24053 /* 66736 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24054 /* 66743 */ // (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)
24055 /* 66743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
24056 /* 66746 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24057 /* 66750 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24058 /* 66754 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24059 /* 66757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24060 /* 66763 */ GIR_RootConstrainSelectedInstOperands,
24061 /* 66764 */ // GIR_Coverage, 23439,
24062 /* 66764 */ GIR_EraseRootFromParent_Done,
24063 /* 66765 */ // Label 1986: @66765
24064 /* 66765 */ GIM_Try, /*On fail goto*//*Label 1987*/ GIMT_Encode4(66856), // Rule ID 758 //
24065 /* 66770 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24066 /* 66774 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
24067 /* 66778 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24068 /* 66782 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24069 /* 66786 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24070 /* 66790 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24071 /* 66794 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24072 /* 66797 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24073 /* 66801 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24074 /* 66805 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24075 /* 66810 */ // MIs[0] src1
24076 /* 66810 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24077 /* 66815 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24078 /* 66817 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24079 /* 66824 */ // (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)
24080 /* 66824 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24081 /* 66828 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24082 /* 66834 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24083 /* 66838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16mCL),
24084 /* 66841 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24085 /* 66845 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24086 /* 66848 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24087 /* 66854 */ GIR_RootConstrainSelectedInstOperands,
24088 /* 66855 */ // GIR_Coverage, 758,
24089 /* 66855 */ GIR_EraseRootFromParent_Done,
24090 /* 66856 */ // Label 1987: @66856
24091 /* 66856 */ GIM_Try, /*On fail goto*//*Label 1988*/ GIMT_Encode4(66947), // Rule ID 790 //
24092 /* 66861 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24093 /* 66865 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
24094 /* 66869 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24095 /* 66873 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24096 /* 66877 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24097 /* 66881 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24098 /* 66885 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24099 /* 66888 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24100 /* 66892 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24101 /* 66896 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24102 /* 66901 */ // MIs[0] src1
24103 /* 66901 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24104 /* 66906 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24105 /* 66908 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24106 /* 66915 */ // (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)
24107 /* 66915 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24108 /* 66919 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24109 /* 66925 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24110 /* 66929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16mCL),
24111 /* 66932 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24112 /* 66936 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24113 /* 66939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24114 /* 66945 */ GIR_RootConstrainSelectedInstOperands,
24115 /* 66946 */ // GIR_Coverage, 790,
24116 /* 66946 */ GIR_EraseRootFromParent_Done,
24117 /* 66947 */ // Label 1988: @66947
24118 /* 66947 */ GIM_Try, /*On fail goto*//*Label 1989*/ GIMT_Encode4(67038), // Rule ID 662 //
24119 /* 66952 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24120 /* 66956 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
24121 /* 66960 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24122 /* 66964 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24123 /* 66968 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24124 /* 66972 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24125 /* 66976 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24126 /* 66979 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24127 /* 66983 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24128 /* 66987 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24129 /* 66992 */ // MIs[0] src1
24130 /* 66992 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24131 /* 66997 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24132 /* 66999 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24133 /* 67006 */ // (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)
24134 /* 67006 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24135 /* 67010 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24136 /* 67016 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24137 /* 67020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16mCL),
24138 /* 67023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24139 /* 67027 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24140 /* 67030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24141 /* 67036 */ GIR_RootConstrainSelectedInstOperands,
24142 /* 67037 */ // GIR_Coverage, 662,
24143 /* 67037 */ GIR_EraseRootFromParent_Done,
24144 /* 67038 */ // Label 1989: @67038
24145 /* 67038 */ GIM_Try, /*On fail goto*//*Label 1990*/ GIMT_Encode4(67119), // Rule ID 444 //
24146 /* 67043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24147 /* 67047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24148 /* 67051 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24149 /* 67055 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24150 /* 67059 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24151 /* 67063 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24152 /* 67067 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24153 /* 67070 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24154 /* 67074 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24155 /* 67078 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24156 /* 67083 */ // MIs[0] src1
24157 /* 67083 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24158 /* 67088 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24159 /* 67090 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24160 /* 67097 */ // (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)
24161 /* 67097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mr),
24162 /* 67100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24163 /* 67104 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24164 /* 67108 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24165 /* 67111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24166 /* 67117 */ GIR_RootConstrainSelectedInstOperands,
24167 /* 67118 */ // GIR_Coverage, 444,
24168 /* 67118 */ GIR_EraseRootFromParent_Done,
24169 /* 67119 */ // Label 1990: @67119
24170 /* 67119 */ GIM_Try, /*On fail goto*//*Label 1991*/ GIMT_Encode4(67200), // Rule ID 372 //
24171 /* 67124 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24172 /* 67128 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24173 /* 67132 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24174 /* 67136 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24175 /* 67140 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24176 /* 67144 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24177 /* 67148 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24178 /* 67151 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24179 /* 67155 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24180 /* 67159 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24181 /* 67164 */ // MIs[0] src1
24182 /* 67164 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24183 /* 67169 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24184 /* 67171 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24185 /* 67178 */ // (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)
24186 /* 67178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
24187 /* 67181 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24188 /* 67185 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24189 /* 67189 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24190 /* 67192 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24191 /* 67198 */ GIR_RootConstrainSelectedInstOperands,
24192 /* 67199 */ // GIR_Coverage, 372,
24193 /* 67199 */ GIR_EraseRootFromParent_Done,
24194 /* 67200 */ // Label 1991: @67200
24195 /* 67200 */ GIM_Try, /*On fail goto*//*Label 1992*/ GIMT_Encode4(67281), // Rule ID 23451 //
24196 /* 67205 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24197 /* 67209 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24198 /* 67213 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24199 /* 67217 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24200 /* 67221 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24201 /* 67226 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24202 /* 67230 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24203 /* 67234 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24204 /* 67237 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24205 /* 67241 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24206 /* 67245 */ // MIs[0] src1
24207 /* 67245 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24208 /* 67250 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24209 /* 67252 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24210 /* 67259 */ // (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)
24211 /* 67259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
24212 /* 67262 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24213 /* 67266 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24214 /* 67270 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24215 /* 67273 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24216 /* 67279 */ GIR_RootConstrainSelectedInstOperands,
24217 /* 67280 */ // GIR_Coverage, 23451,
24218 /* 67280 */ GIR_EraseRootFromParent_Done,
24219 /* 67281 */ // Label 1992: @67281
24220 /* 67281 */ GIM_Try, /*On fail goto*//*Label 1993*/ GIMT_Encode4(67328), // Rule ID 25 //
24221 /* 67286 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24222 /* 67290 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24223 /* 67294 */ // MIs[1] Operand 1
24224 /* 67294 */ // No operand predicates
24225 /* 67294 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24226 /* 67298 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24227 /* 67302 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24228 /* 67304 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24229 /* 67311 */ // (st (imm:{ *:[i16] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV16mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
24230 /* 67311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mi),
24231 /* 67314 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24232 /* 67318 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
24233 /* 67321 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
24234 /* 67326 */ GIR_RootConstrainSelectedInstOperands,
24235 /* 67327 */ // GIR_Coverage, 25,
24236 /* 67327 */ GIR_EraseRootFromParent_Done,
24237 /* 67328 */ // Label 1993: @67328
24238 /* 67328 */ GIM_Reject,
24239 /* 67329 */ // Label 1978: @67329
24240 /* 67329 */ GIM_Try, /*On fail goto*//*Label 1994*/ GIMT_Encode4(67382), // Rule ID 22708 //
24241 /* 67334 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24242 /* 67337 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24243 /* 67344 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24244 /* 67348 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24245 /* 67352 */ // MIs[1] Operand 1
24246 /* 67352 */ // No operand predicates
24247 /* 67352 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24248 /* 67356 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24249 /* 67358 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24250 /* 67365 */ // (atomic_store (imm:{ *:[i16] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (MOV16mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
24251 /* 67365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mi),
24252 /* 67368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24253 /* 67372 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
24254 /* 67375 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
24255 /* 67380 */ GIR_RootConstrainSelectedInstOperands,
24256 /* 67381 */ // GIR_Coverage, 22708,
24257 /* 67381 */ GIR_EraseRootFromParent_Done,
24258 /* 67382 */ // Label 1994: @67382
24259 /* 67382 */ GIM_Try, /*On fail goto*//*Label 1995*/ GIMT_Encode4(67501),
24260 /* 67387 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24261 /* 67390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24262 /* 67394 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24263 /* 67398 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1996*/ GIMT_Encode4(67449), GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR), // Rule ID 50 //
24264 /* 67405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24265 /* 67409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
24266 /* 67413 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24267 /* 67417 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24268 /* 67422 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24269 /* 67424 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24270 /* 67431 */ // (st (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src1)
24271 /* 67431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16mr),
24272 /* 67434 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24273 /* 67438 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
24274 /* 67442 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
24275 /* 67447 */ GIR_RootConstrainSelectedInstOperands,
24276 /* 67448 */ // GIR_Coverage, 50,
24277 /* 67448 */ GIR_EraseRootFromParent_Done,
24278 /* 67449 */ // Label 1996: @67449
24279 /* 67449 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 1997*/ GIMT_Encode4(67500), GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode), // Rule ID 56 //
24280 /* 67456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24281 /* 67460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
24282 /* 67464 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24283 /* 67468 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24284 /* 67473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24285 /* 67475 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24286 /* 67482 */ // (st (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE16mr_EVEX addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src1)
24287 /* 67482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16mr_EVEX),
24288 /* 67485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24289 /* 67489 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
24290 /* 67493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
24291 /* 67498 */ GIR_RootConstrainSelectedInstOperands,
24292 /* 67499 */ // GIR_Coverage, 56,
24293 /* 67499 */ GIR_EraseRootFromParent_Done,
24294 /* 67500 */ // Label 1997: @67500
24295 /* 67500 */ GIM_Reject,
24296 /* 67501 */ // Label 1995: @67501
24297 /* 67501 */ GIM_Try, /*On fail goto*//*Label 1998*/ GIMT_Encode4(67546), // Rule ID 22712 //
24298 /* 67506 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24299 /* 67509 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24300 /* 67516 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24301 /* 67520 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24302 /* 67524 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24303 /* 67531 */ // (atomic_store GR16:{ *:[i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (MOV16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
24304 /* 67531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
24305 /* 67534 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24306 /* 67538 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
24307 /* 67540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24308 /* 67544 */ GIR_RootConstrainSelectedInstOperands,
24309 /* 67545 */ // GIR_Coverage, 22712,
24310 /* 67545 */ GIR_EraseRootFromParent_Done,
24311 /* 67546 */ // Label 1998: @67546
24312 /* 67546 */ GIM_Try, /*On fail goto*//*Label 1999*/ GIMT_Encode4(67903),
24313 /* 67551 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24314 /* 67554 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24315 /* 67558 */ GIM_Try, /*On fail goto*//*Label 2000*/ GIMT_Encode4(67593), // Rule ID 33 //
24316 /* 67563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24317 /* 67567 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24318 /* 67571 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24319 /* 67578 */ // (st GR16:{ *:[i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
24320 /* 67578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
24321 /* 67581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24322 /* 67585 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
24323 /* 67587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24324 /* 67591 */ GIR_RootConstrainSelectedInstOperands,
24325 /* 67592 */ // GIR_Coverage, 33,
24326 /* 67592 */ GIR_EraseRootFromParent_Done,
24327 /* 67593 */ // Label 2000: @67593
24328 /* 67593 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2001*/ GIMT_Encode4(67630), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 4623 //
24329 /* 67600 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
24330 /* 67604 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24331 /* 67608 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24332 /* 67615 */ // (st FR16X:{ *:[f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSHZmr addr:{ *:[iPTR] }:$dst, FR16X:{ *:[f16] }:$src)
24333 /* 67615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSHZmr),
24334 /* 67618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24335 /* 67622 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
24336 /* 67624 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24337 /* 67628 */ GIR_RootConstrainSelectedInstOperands,
24338 /* 67629 */ // GIR_Coverage, 4623,
24339 /* 67629 */ GIR_EraseRootFromParent_Done,
24340 /* 67630 */ // Label 2001: @67630
24341 /* 67630 */ GIM_Try, /*On fail goto*//*Label 2002*/ GIMT_Encode4(67902),
24342 /* 67635 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24343 /* 67639 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2003*/ GIMT_Encode4(67693), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 18646 //
24344 /* 67646 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24345 /* 67653 */ // (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] })
24346 /* 67653 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
24347 /* 67656 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24348 /* 67660 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24349 /* 67665 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
24350 /* 67669 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
24351 /* 67674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PEXTRWmri),
24352 /* 67677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24353 /* 67681 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
24354 /* 67684 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
24355 /* 67687 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24356 /* 67691 */ GIR_RootConstrainSelectedInstOperands,
24357 /* 67692 */ // GIR_Coverage, 18646,
24358 /* 67692 */ GIR_EraseRootFromParent_Done,
24359 /* 67693 */ // Label 2003: @67693
24360 /* 67693 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2004*/ GIMT_Encode4(67747), GIMT_Encode2(GIFBS_HasAVX_NoBWI), // Rule ID 18647 //
24361 /* 67700 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24362 /* 67707 */ // (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] })
24363 /* 67707 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
24364 /* 67710 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24365 /* 67714 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24366 /* 67719 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
24367 /* 67723 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
24368 /* 67728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPEXTRWmri),
24369 /* 67731 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24370 /* 67735 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
24371 /* 67738 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
24372 /* 67741 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24373 /* 67745 */ GIR_RootConstrainSelectedInstOperands,
24374 /* 67746 */ // GIR_Coverage, 18647,
24375 /* 67746 */ GIR_EraseRootFromParent_Done,
24376 /* 67747 */ // Label 2004: @67747
24377 /* 67747 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2005*/ GIMT_Encode4(67847), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18433 //
24378 /* 67754 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24379 /* 67761 */ // (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] }))
24380 /* 67761 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s16,
24381 /* 67764 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24382 /* 67768 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24383 /* 67773 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/0, // src
24384 /* 67777 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
24385 /* 67782 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
24386 /* 67785 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::PEXTRWrri),
24387 /* 67789 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24388 /* 67794 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
24389 /* 67797 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/0,
24390 /* 67800 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
24391 /* 67802 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
24392 /* 67805 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24393 /* 67809 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24394 /* 67814 */ GIR_AddTempSubRegister, /*InsnID*/1, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
24395 /* 67821 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
24396 /* 67826 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
24397 /* 67831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
24398 /* 67834 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24399 /* 67838 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
24400 /* 67841 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24401 /* 67845 */ GIR_RootConstrainSelectedInstOperands,
24402 /* 67846 */ // GIR_Coverage, 18433,
24403 /* 67846 */ GIR_EraseRootFromParent_Done,
24404 /* 67847 */ // Label 2005: @67847
24405 /* 67847 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2006*/ GIMT_Encode4(67901), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 21988 //
24406 /* 67854 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24407 /* 67861 */ // (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] })
24408 /* 67861 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
24409 /* 67864 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24410 /* 67868 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24411 /* 67873 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
24412 /* 67877 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
24413 /* 67882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPEXTRWZmri),
24414 /* 67885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24415 /* 67889 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
24416 /* 67892 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
24417 /* 67895 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24418 /* 67899 */ GIR_RootConstrainSelectedInstOperands,
24419 /* 67900 */ // GIR_Coverage, 21988,
24420 /* 67900 */ GIR_EraseRootFromParent_Done,
24421 /* 67901 */ // Label 2006: @67901
24422 /* 67901 */ GIM_Reject,
24423 /* 67902 */ // Label 2002: @67902
24424 /* 67902 */ GIM_Reject,
24425 /* 67903 */ // Label 1999: @67903
24426 /* 67903 */ GIM_Reject,
24427 /* 67904 */ // Label 1858: @67904
24428 /* 67904 */ GIM_Try, /*On fail goto*//*Label 2007*/ GIMT_Encode4(68253),
24429 /* 67909 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24430 /* 67912 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24431 /* 67919 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2008*/ GIMT_Encode4(68004), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 22693 //
24432 /* 67926 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24433 /* 67930 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24434 /* 67934 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24435 /* 67938 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24436 /* 67942 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24437 /* 67946 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24438 /* 67950 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24439 /* 67953 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24440 /* 67957 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24441 /* 67964 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24442 /* 67968 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
24443 /* 67972 */ // MIs[0] dst
24444 /* 67972 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24445 /* 67977 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24446 /* 67979 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24447 /* 67986 */ // (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)
24448 /* 67986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32m),
24449 /* 67989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24450 /* 67993 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24451 /* 67996 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24452 /* 68002 */ GIR_RootConstrainSelectedInstOperands,
24453 /* 68003 */ // GIR_Coverage, 22693,
24454 /* 68003 */ GIR_EraseRootFromParent_Done,
24455 /* 68004 */ // Label 2008: @68004
24456 /* 68004 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2009*/ GIMT_Encode4(68089), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 22697 //
24457 /* 68011 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24458 /* 68015 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24459 /* 68019 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24460 /* 68023 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24461 /* 68027 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24462 /* 68031 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24463 /* 68035 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24464 /* 68038 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24465 /* 68042 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24466 /* 68049 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24467 /* 68053 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
24468 /* 68057 */ // MIs[0] dst
24469 /* 68057 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24470 /* 68062 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24471 /* 68064 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24472 /* 68071 */ // (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)
24473 /* 68071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32m),
24474 /* 68074 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24475 /* 68078 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24476 /* 68081 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24477 /* 68087 */ GIR_RootConstrainSelectedInstOperands,
24478 /* 68088 */ // GIR_Coverage, 22697,
24479 /* 68088 */ GIR_EraseRootFromParent_Done,
24480 /* 68089 */ // Label 2009: @68089
24481 /* 68089 */ GIM_Try, /*On fail goto*//*Label 2010*/ GIMT_Encode4(68172), // Rule ID 22701 //
24482 /* 68094 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24483 /* 68098 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24484 /* 68102 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24485 /* 68106 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24486 /* 68110 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
24487 /* 68114 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24488 /* 68118 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24489 /* 68122 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24490 /* 68125 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24491 /* 68129 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24492 /* 68136 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24493 /* 68140 */ // MIs[0] dst
24494 /* 68140 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24495 /* 68145 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24496 /* 68147 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24497 /* 68154 */ // (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)
24498 /* 68154 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32m),
24499 /* 68157 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24500 /* 68161 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24501 /* 68164 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24502 /* 68170 */ GIR_RootConstrainSelectedInstOperands,
24503 /* 68171 */ // GIR_Coverage, 22701,
24504 /* 68171 */ GIR_EraseRootFromParent_Done,
24505 /* 68172 */ // Label 2010: @68172
24506 /* 68172 */ GIM_Try, /*On fail goto*//*Label 2011*/ GIMT_Encode4(68252), // Rule ID 22705 //
24507 /* 68177 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24508 /* 68181 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24509 /* 68185 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24510 /* 68189 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24511 /* 68193 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24512 /* 68197 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24513 /* 68201 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24514 /* 68204 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24515 /* 68208 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24516 /* 68215 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24517 /* 68219 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
24518 /* 68223 */ // MIs[0] dst
24519 /* 68223 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24520 /* 68228 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24521 /* 68230 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24522 /* 68237 */ // (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)
24523 /* 68237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32m),
24524 /* 68240 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24525 /* 68244 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24526 /* 68250 */ GIR_RootConstrainSelectedInstOperands,
24527 /* 68251 */ // GIR_Coverage, 22705,
24528 /* 68251 */ GIR_EraseRootFromParent_Done,
24529 /* 68252 */ // Label 2011: @68252
24530 /* 68252 */ GIM_Reject,
24531 /* 68253 */ // Label 2007: @68253
24532 /* 68253 */ GIM_Try, /*On fail goto*//*Label 2012*/ GIMT_Encode4(69249),
24533 /* 68258 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24534 /* 68261 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24535 /* 68265 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2013*/ GIMT_Encode4(68343), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 225 //
24536 /* 68272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24537 /* 68276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24538 /* 68280 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24539 /* 68284 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24540 /* 68288 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24541 /* 68292 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24542 /* 68296 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24543 /* 68299 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24544 /* 68303 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
24545 /* 68307 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
24546 /* 68311 */ // MIs[0] src1
24547 /* 68311 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24548 /* 68316 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24549 /* 68318 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24550 /* 68325 */ // (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)
24551 /* 68325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32m),
24552 /* 68328 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24553 /* 68332 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24554 /* 68335 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24555 /* 68341 */ GIR_RootConstrainSelectedInstOperands,
24556 /* 68342 */ // GIR_Coverage, 225,
24557 /* 68342 */ GIR_EraseRootFromParent_Done,
24558 /* 68343 */ // Label 2013: @68343
24559 /* 68343 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2014*/ GIMT_Encode4(68421), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 228 //
24560 /* 68350 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24561 /* 68354 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24562 /* 68358 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24563 /* 68362 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24564 /* 68366 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24565 /* 68370 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24566 /* 68374 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24567 /* 68377 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24568 /* 68381 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
24569 /* 68385 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
24570 /* 68389 */ // MIs[0] src1
24571 /* 68389 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24572 /* 68394 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24573 /* 68396 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24574 /* 68403 */ // (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)
24575 /* 68403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32m),
24576 /* 68406 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24577 /* 68410 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24578 /* 68413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24579 /* 68419 */ GIR_RootConstrainSelectedInstOperands,
24580 /* 68420 */ // GIR_Coverage, 228,
24581 /* 68420 */ GIR_EraseRootFromParent_Done,
24582 /* 68421 */ // Label 2014: @68421
24583 /* 68421 */ GIM_Try, /*On fail goto*//*Label 2015*/ GIMT_Encode4(68507), // Rule ID 22842 //
24584 /* 68426 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24585 /* 68430 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24586 /* 68434 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24587 /* 68438 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24588 /* 68442 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24589 /* 68446 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24590 /* 68450 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24591 /* 68453 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24592 /* 68457 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
24593 /* 68461 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
24594 /* 68472 */ // MIs[0] dst
24595 /* 68472 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24596 /* 68477 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24597 /* 68479 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24598 /* 68486 */ // (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] })
24599 /* 68486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
24600 /* 68489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24601 /* 68493 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
24602 /* 68496 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24603 /* 68499 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24604 /* 68505 */ GIR_RootConstrainSelectedInstOperands,
24605 /* 68506 */ // GIR_Coverage, 22842,
24606 /* 68506 */ GIR_EraseRootFromParent_Done,
24607 /* 68507 */ // Label 2015: @68507
24608 /* 68507 */ GIM_Try, /*On fail goto*//*Label 2016*/ GIMT_Encode4(68583), // Rule ID 17671 //
24609 /* 68512 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24610 /* 68516 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
24611 /* 68520 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24612 /* 68524 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24613 /* 68528 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24614 /* 68532 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24615 /* 68536 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24616 /* 68539 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24617 /* 68543 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
24618 /* 68547 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 31,
24619 /* 68551 */ // MIs[0] dst
24620 /* 68551 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24621 /* 68556 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24622 /* 68558 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24623 /* 68565 */ // (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)
24624 /* 68565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32m1),
24625 /* 68568 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24626 /* 68572 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24627 /* 68575 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24628 /* 68581 */ GIR_RootConstrainSelectedInstOperands,
24629 /* 68582 */ // GIR_Coverage, 17671,
24630 /* 68582 */ GIR_EraseRootFromParent_Done,
24631 /* 68583 */ // Label 2016: @68583
24632 /* 68583 */ GIM_Try, /*On fail goto*//*Label 2017*/ GIMT_Encode4(68659), // Rule ID 17675 //
24633 /* 68588 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24634 /* 68592 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
24635 /* 68596 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24636 /* 68600 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24637 /* 68604 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24638 /* 68608 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24639 /* 68612 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24640 /* 68615 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24641 /* 68619 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
24642 /* 68623 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 31,
24643 /* 68627 */ // MIs[0] dst
24644 /* 68627 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24645 /* 68632 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24646 /* 68634 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24647 /* 68641 */ // (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)
24648 /* 68641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32m1),
24649 /* 68644 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24650 /* 68648 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24651 /* 68651 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24652 /* 68657 */ GIR_RootConstrainSelectedInstOperands,
24653 /* 68658 */ // GIR_Coverage, 17675,
24654 /* 68658 */ GIR_EraseRootFromParent_Done,
24655 /* 68659 */ // Label 2017: @68659
24656 /* 68659 */ GIM_Try, /*On fail goto*//*Label 2018*/ GIMT_Encode4(68735), // Rule ID 261 //
24657 /* 68664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24658 /* 68668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24659 /* 68672 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24660 /* 68676 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24661 /* 68680 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
24662 /* 68684 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24663 /* 68688 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24664 /* 68692 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24665 /* 68695 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24666 /* 68699 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
24667 /* 68703 */ // MIs[0] src1
24668 /* 68703 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24669 /* 68708 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24670 /* 68710 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24671 /* 68717 */ // (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)
24672 /* 68717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32m),
24673 /* 68720 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24674 /* 68724 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24675 /* 68727 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24676 /* 68733 */ GIR_RootConstrainSelectedInstOperands,
24677 /* 68734 */ // GIR_Coverage, 261,
24678 /* 68734 */ GIR_EraseRootFromParent_Done,
24679 /* 68735 */ // Label 2018: @68735
24680 /* 68735 */ GIM_Try, /*On fail goto*//*Label 2019*/ GIMT_Encode4(68808), // Rule ID 269 //
24681 /* 68740 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24682 /* 68744 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24683 /* 68748 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24684 /* 68752 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24685 /* 68756 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24686 /* 68760 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24687 /* 68764 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24688 /* 68767 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24689 /* 68771 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
24690 /* 68775 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
24691 /* 68779 */ // MIs[0] src1
24692 /* 68779 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24693 /* 68784 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24694 /* 68786 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24695 /* 68793 */ // (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)
24696 /* 68793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32m),
24697 /* 68796 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24698 /* 68800 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24699 /* 68806 */ GIR_RootConstrainSelectedInstOperands,
24700 /* 68807 */ // GIR_Coverage, 269,
24701 /* 68807 */ GIR_EraseRootFromParent_Done,
24702 /* 68808 */ // Label 2019: @68808
24703 /* 68808 */ GIM_Try, /*On fail goto*//*Label 2020*/ GIMT_Encode4(68896), // Rule ID 413 //
24704 /* 68813 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24705 /* 68817 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24706 /* 68821 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24707 /* 68825 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24708 /* 68829 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24709 /* 68833 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24710 /* 68837 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24711 /* 68840 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24712 /* 68844 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24713 /* 68848 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24714 /* 68852 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24715 /* 68856 */ // MIs[3] Operand 1
24716 /* 68856 */ // No operand predicates
24717 /* 68856 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24718 /* 68860 */ // MIs[0] src1
24719 /* 68860 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24720 /* 68865 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24721 /* 68867 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24722 /* 68874 */ // (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)
24723 /* 68874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mi),
24724 /* 68877 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24725 /* 68881 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24726 /* 68884 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24727 /* 68887 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24728 /* 68894 */ GIR_RootConstrainSelectedInstOperands,
24729 /* 68895 */ // GIR_Coverage, 413,
24730 /* 68895 */ GIR_EraseRootFromParent_Done,
24731 /* 68896 */ // Label 2020: @68896
24732 /* 68896 */ GIM_Try, /*On fail goto*//*Label 2021*/ GIMT_Encode4(68984), // Rule ID 305 //
24733 /* 68901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24734 /* 68905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24735 /* 68909 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24736 /* 68913 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24737 /* 68917 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24738 /* 68921 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24739 /* 68925 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24740 /* 68928 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24741 /* 68932 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24742 /* 68936 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24743 /* 68940 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24744 /* 68944 */ // MIs[3] Operand 1
24745 /* 68944 */ // No operand predicates
24746 /* 68944 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24747 /* 68948 */ // MIs[0] src1
24748 /* 68948 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24749 /* 68953 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24750 /* 68955 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24751 /* 68962 */ // (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)
24752 /* 68962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mi),
24753 /* 68965 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24754 /* 68969 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24755 /* 68972 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24756 /* 68975 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24757 /* 68982 */ GIR_RootConstrainSelectedInstOperands,
24758 /* 68983 */ // GIR_Coverage, 305,
24759 /* 68983 */ GIR_EraseRootFromParent_Done,
24760 /* 68984 */ // Label 2021: @68984
24761 /* 68984 */ GIM_Try, /*On fail goto*//*Label 2022*/ GIMT_Encode4(69072), // Rule ID 341 //
24762 /* 68989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24763 /* 68993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24764 /* 68997 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24765 /* 69001 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24766 /* 69005 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24767 /* 69009 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24768 /* 69013 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24769 /* 69016 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24770 /* 69020 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24771 /* 69024 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24772 /* 69028 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24773 /* 69032 */ // MIs[3] Operand 1
24774 /* 69032 */ // No operand predicates
24775 /* 69032 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24776 /* 69036 */ // MIs[0] src1
24777 /* 69036 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24778 /* 69041 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24779 /* 69043 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24780 /* 69050 */ // (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)
24781 /* 69050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mi),
24782 /* 69053 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24783 /* 69057 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24784 /* 69060 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24785 /* 69063 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24786 /* 69070 */ GIR_RootConstrainSelectedInstOperands,
24787 /* 69071 */ // GIR_Coverage, 341,
24788 /* 69071 */ GIR_EraseRootFromParent_Done,
24789 /* 69072 */ // Label 2022: @69072
24790 /* 69072 */ GIM_Try, /*On fail goto*//*Label 2023*/ GIMT_Encode4(69160), // Rule ID 453 //
24791 /* 69077 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24792 /* 69081 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24793 /* 69085 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24794 /* 69089 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24795 /* 69093 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24796 /* 69097 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24797 /* 69101 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24798 /* 69104 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24799 /* 69108 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24800 /* 69112 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24801 /* 69116 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24802 /* 69120 */ // MIs[3] Operand 1
24803 /* 69120 */ // No operand predicates
24804 /* 69120 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24805 /* 69124 */ // MIs[0] src1
24806 /* 69124 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24807 /* 69129 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24808 /* 69131 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24809 /* 69138 */ // (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)
24810 /* 69138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
24811 /* 69141 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24812 /* 69145 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24813 /* 69148 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24814 /* 69151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24815 /* 69158 */ GIR_RootConstrainSelectedInstOperands,
24816 /* 69159 */ // GIR_Coverage, 453,
24817 /* 69159 */ GIR_EraseRootFromParent_Done,
24818 /* 69160 */ // Label 2023: @69160
24819 /* 69160 */ GIM_Try, /*On fail goto*//*Label 2024*/ GIMT_Encode4(69248), // Rule ID 377 //
24820 /* 69165 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24821 /* 69169 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24822 /* 69173 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24823 /* 69177 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24824 /* 69181 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24825 /* 69185 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24826 /* 69189 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24827 /* 69192 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24828 /* 69196 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24829 /* 69200 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24830 /* 69204 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24831 /* 69208 */ // MIs[3] Operand 1
24832 /* 69208 */ // No operand predicates
24833 /* 69208 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24834 /* 69212 */ // MIs[0] src1
24835 /* 69212 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24836 /* 69217 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24837 /* 69219 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24838 /* 69226 */ // (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)
24839 /* 69226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mi),
24840 /* 69229 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24841 /* 69233 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24842 /* 69236 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24843 /* 69239 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24844 /* 69246 */ GIR_RootConstrainSelectedInstOperands,
24845 /* 69247 */ // GIR_Coverage, 377,
24846 /* 69247 */ GIR_EraseRootFromParent_Done,
24847 /* 69248 */ // Label 2024: @69248
24848 /* 69248 */ GIM_Reject,
24849 /* 69249 */ // Label 2012: @69249
24850 /* 69249 */ GIM_Try, /*On fail goto*//*Label 2025*/ GIMT_Encode4(69720),
24851 /* 69254 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24852 /* 69257 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24853 /* 69264 */ GIM_Try, /*On fail goto*//*Label 2026*/ GIMT_Encode4(69355), // Rule ID 22629 //
24854 /* 69269 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24855 /* 69273 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24856 /* 69277 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24857 /* 69281 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24858 /* 69285 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24859 /* 69289 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24860 /* 69293 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24861 /* 69296 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24862 /* 69300 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24863 /* 69307 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24864 /* 69311 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24865 /* 69315 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24866 /* 69319 */ // MIs[3] Operand 1
24867 /* 69319 */ // No operand predicates
24868 /* 69319 */ // MIs[0] dst
24869 /* 69319 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24870 /* 69324 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24871 /* 69326 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24872 /* 69333 */ // (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)
24873 /* 69333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mi),
24874 /* 69336 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24875 /* 69340 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24876 /* 69343 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24877 /* 69346 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24878 /* 69353 */ GIR_RootConstrainSelectedInstOperands,
24879 /* 69354 */ // GIR_Coverage, 22629,
24880 /* 69354 */ GIR_EraseRootFromParent_Done,
24881 /* 69355 */ // Label 2026: @69355
24882 /* 69355 */ GIM_Try, /*On fail goto*//*Label 2027*/ GIMT_Encode4(69446), // Rule ID 22637 //
24883 /* 69360 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24884 /* 69364 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24885 /* 69368 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24886 /* 69372 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24887 /* 69376 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24888 /* 69380 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24889 /* 69384 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24890 /* 69387 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24891 /* 69391 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24892 /* 69398 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24893 /* 69402 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24894 /* 69406 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24895 /* 69410 */ // MIs[3] Operand 1
24896 /* 69410 */ // No operand predicates
24897 /* 69410 */ // MIs[0] dst
24898 /* 69410 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24899 /* 69415 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24900 /* 69417 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24901 /* 69424 */ // (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)
24902 /* 69424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mi),
24903 /* 69427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24904 /* 69431 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24905 /* 69434 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24906 /* 69437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24907 /* 69444 */ GIR_RootConstrainSelectedInstOperands,
24908 /* 69445 */ // GIR_Coverage, 22637,
24909 /* 69445 */ GIR_EraseRootFromParent_Done,
24910 /* 69446 */ // Label 2027: @69446
24911 /* 69446 */ GIM_Try, /*On fail goto*//*Label 2028*/ GIMT_Encode4(69537), // Rule ID 22645 //
24912 /* 69451 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24913 /* 69455 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24914 /* 69459 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24915 /* 69463 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24916 /* 69467 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24917 /* 69471 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24918 /* 69475 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24919 /* 69478 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24920 /* 69482 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24921 /* 69489 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24922 /* 69493 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24923 /* 69497 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24924 /* 69501 */ // MIs[3] Operand 1
24925 /* 69501 */ // No operand predicates
24926 /* 69501 */ // MIs[0] dst
24927 /* 69501 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24928 /* 69506 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24929 /* 69508 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24930 /* 69515 */ // (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)
24931 /* 69515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mi),
24932 /* 69518 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24933 /* 69522 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24934 /* 69525 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24935 /* 69528 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24936 /* 69535 */ GIR_RootConstrainSelectedInstOperands,
24937 /* 69536 */ // GIR_Coverage, 22645,
24938 /* 69536 */ GIR_EraseRootFromParent_Done,
24939 /* 69537 */ // Label 2028: @69537
24940 /* 69537 */ GIM_Try, /*On fail goto*//*Label 2029*/ GIMT_Encode4(69628), // Rule ID 22661 //
24941 /* 69542 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24942 /* 69546 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24943 /* 69550 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24944 /* 69554 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24945 /* 69558 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24946 /* 69562 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24947 /* 69566 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24948 /* 69569 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24949 /* 69573 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24950 /* 69580 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24951 /* 69584 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24952 /* 69588 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24953 /* 69592 */ // MIs[3] Operand 1
24954 /* 69592 */ // No operand predicates
24955 /* 69592 */ // MIs[0] dst
24956 /* 69592 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24957 /* 69597 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24958 /* 69599 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24959 /* 69606 */ // (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)
24960 /* 69606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
24961 /* 69609 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24962 /* 69613 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24963 /* 69616 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24964 /* 69619 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24965 /* 69626 */ GIR_RootConstrainSelectedInstOperands,
24966 /* 69627 */ // GIR_Coverage, 22661,
24967 /* 69627 */ GIR_EraseRootFromParent_Done,
24968 /* 69628 */ // Label 2029: @69628
24969 /* 69628 */ GIM_Try, /*On fail goto*//*Label 2030*/ GIMT_Encode4(69719), // Rule ID 22653 //
24970 /* 69633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24971 /* 69637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24972 /* 69641 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
24973 /* 69645 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
24974 /* 69649 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24975 /* 69653 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24976 /* 69657 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24977 /* 69660 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24978 /* 69664 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
24979 /* 69671 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24980 /* 69675 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24981 /* 69679 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24982 /* 69683 */ // MIs[3] Operand 1
24983 /* 69683 */ // No operand predicates
24984 /* 69683 */ // MIs[0] dst
24985 /* 69683 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24986 /* 69688 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24987 /* 69690 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24988 /* 69697 */ // (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)
24989 /* 69697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mi),
24990 /* 69700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24991 /* 69704 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24992 /* 69707 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24993 /* 69710 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24994 /* 69717 */ GIR_RootConstrainSelectedInstOperands,
24995 /* 69718 */ // GIR_Coverage, 22653,
24996 /* 69718 */ GIR_EraseRootFromParent_Done,
24997 /* 69719 */ // Label 2030: @69719
24998 /* 69719 */ GIM_Reject,
24999 /* 69720 */ // Label 2025: @69720
25000 /* 69720 */ GIM_Try, /*On fail goto*//*Label 2031*/ GIMT_Encode4(70347),
25001 /* 69725 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25002 /* 69728 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25003 /* 69732 */ GIM_Try, /*On fail goto*//*Label 2032*/ GIMT_Encode4(69829), // Rule ID 810 //
25004 /* 69737 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25005 /* 69741 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
25006 /* 69745 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25007 /* 69749 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25008 /* 69753 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
25009 /* 69757 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25010 /* 69761 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25011 /* 69765 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25012 /* 69768 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25013 /* 69772 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25014 /* 69776 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25015 /* 69781 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
25016 /* 69785 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25017 /* 69789 */ // MIs[3] Operand 1
25018 /* 69789 */ // No operand predicates
25019 /* 69789 */ // MIs[0] src1
25020 /* 69789 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25021 /* 69794 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25022 /* 69796 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25023 /* 69803 */ // (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)
25024 /* 69803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32mri8),
25025 /* 69806 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25026 /* 69810 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25027 /* 69814 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
25028 /* 69817 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25029 /* 69820 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25030 /* 69827 */ GIR_RootConstrainSelectedInstOperands,
25031 /* 69828 */ // GIR_Coverage, 810,
25032 /* 69828 */ GIR_EraseRootFromParent_Done,
25033 /* 69829 */ // Label 2032: @69829
25034 /* 69829 */ GIM_Try, /*On fail goto*//*Label 2033*/ GIMT_Encode4(69926), // Rule ID 834 //
25035 /* 69834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25036 /* 69838 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
25037 /* 69842 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25038 /* 69846 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25039 /* 69850 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
25040 /* 69854 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25041 /* 69859 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25042 /* 69863 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25043 /* 69867 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25044 /* 69870 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25045 /* 69874 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25046 /* 69878 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
25047 /* 69882 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25048 /* 69886 */ // MIs[3] Operand 1
25049 /* 69886 */ // No operand predicates
25050 /* 69886 */ // MIs[0] src1
25051 /* 69886 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25052 /* 69891 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25053 /* 69893 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25054 /* 69900 */ // (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)
25055 /* 69900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32mri8),
25056 /* 69903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25057 /* 69907 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25058 /* 69911 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
25059 /* 69914 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25060 /* 69917 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25061 /* 69924 */ GIR_RootConstrainSelectedInstOperands,
25062 /* 69925 */ // GIR_Coverage, 834,
25063 /* 69925 */ GIR_EraseRootFromParent_Done,
25064 /* 69926 */ // Label 2033: @69926
25065 /* 69926 */ GIM_Try, /*On fail goto*//*Label 2034*/ GIMT_Encode4(70010), // Rule ID 711 //
25066 /* 69931 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25067 /* 69935 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
25068 /* 69939 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25069 /* 69943 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25070 /* 69947 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25071 /* 69951 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25072 /* 69955 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25073 /* 69958 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25074 /* 69962 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25075 /* 69966 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25076 /* 69970 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25077 /* 69974 */ // MIs[3] Operand 1
25078 /* 69974 */ // No operand predicates
25079 /* 69974 */ // MIs[0] src1
25080 /* 69974 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25081 /* 69979 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25082 /* 69981 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25083 /* 69988 */ // (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)
25084 /* 69988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32mi),
25085 /* 69991 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25086 /* 69995 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25087 /* 69998 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25088 /* 70001 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25089 /* 70008 */ GIR_RootConstrainSelectedInstOperands,
25090 /* 70009 */ // GIR_Coverage, 711,
25091 /* 70009 */ GIR_EraseRootFromParent_Done,
25092 /* 70010 */ // Label 2034: @70010
25093 /* 70010 */ GIM_Try, /*On fail goto*//*Label 2035*/ GIMT_Encode4(70094), // Rule ID 679 //
25094 /* 70015 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25095 /* 70019 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
25096 /* 70023 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25097 /* 70027 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25098 /* 70031 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25099 /* 70035 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25100 /* 70039 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25101 /* 70042 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25102 /* 70046 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25103 /* 70050 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25104 /* 70054 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25105 /* 70058 */ // MIs[3] Operand 1
25106 /* 70058 */ // No operand predicates
25107 /* 70058 */ // MIs[0] src1
25108 /* 70058 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25109 /* 70063 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25110 /* 70065 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25111 /* 70072 */ // (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)
25112 /* 70072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32mi),
25113 /* 70075 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25114 /* 70079 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25115 /* 70082 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25116 /* 70085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25117 /* 70092 */ GIR_RootConstrainSelectedInstOperands,
25118 /* 70093 */ // GIR_Coverage, 679,
25119 /* 70093 */ GIR_EraseRootFromParent_Done,
25120 /* 70094 */ // Label 2035: @70094
25121 /* 70094 */ GIM_Try, /*On fail goto*//*Label 2036*/ GIMT_Encode4(70178), // Rule ID 743 //
25122 /* 70099 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25123 /* 70103 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
25124 /* 70107 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25125 /* 70111 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25126 /* 70115 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25127 /* 70119 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25128 /* 70123 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25129 /* 70126 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25130 /* 70130 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25131 /* 70134 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25132 /* 70138 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25133 /* 70142 */ // MIs[3] Operand 1
25134 /* 70142 */ // No operand predicates
25135 /* 70142 */ // MIs[0] src1
25136 /* 70142 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25137 /* 70147 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25138 /* 70149 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25139 /* 70156 */ // (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)
25140 /* 70156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32mi),
25141 /* 70159 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25142 /* 70163 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25143 /* 70166 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25144 /* 70169 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25145 /* 70176 */ GIR_RootConstrainSelectedInstOperands,
25146 /* 70177 */ // GIR_Coverage, 743,
25147 /* 70177 */ GIR_EraseRootFromParent_Done,
25148 /* 70178 */ // Label 2036: @70178
25149 /* 70178 */ GIM_Try, /*On fail goto*//*Label 2037*/ GIMT_Encode4(70262), // Rule ID 775 //
25150 /* 70183 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25151 /* 70187 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
25152 /* 70191 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25153 /* 70195 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25154 /* 70199 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25155 /* 70203 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25156 /* 70207 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25157 /* 70210 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25158 /* 70214 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25159 /* 70218 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25160 /* 70222 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25161 /* 70226 */ // MIs[3] Operand 1
25162 /* 70226 */ // No operand predicates
25163 /* 70226 */ // MIs[0] src1
25164 /* 70226 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25165 /* 70231 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25166 /* 70233 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25167 /* 70240 */ // (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)
25168 /* 70240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32mi),
25169 /* 70243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25170 /* 70247 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25171 /* 70250 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25172 /* 70253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25173 /* 70260 */ GIR_RootConstrainSelectedInstOperands,
25174 /* 70261 */ // GIR_Coverage, 775,
25175 /* 70261 */ GIR_EraseRootFromParent_Done,
25176 /* 70262 */ // Label 2037: @70262
25177 /* 70262 */ GIM_Try, /*On fail goto*//*Label 2038*/ GIMT_Encode4(70346), // Rule ID 647 //
25178 /* 70267 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25179 /* 70271 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
25180 /* 70275 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25181 /* 70279 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25182 /* 70283 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25183 /* 70287 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25184 /* 70291 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25185 /* 70294 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25186 /* 70298 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25187 /* 70302 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25188 /* 70306 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25189 /* 70310 */ // MIs[3] Operand 1
25190 /* 70310 */ // No operand predicates
25191 /* 70310 */ // MIs[0] src1
25192 /* 70310 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25193 /* 70315 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25194 /* 70317 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25195 /* 70324 */ // (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)
25196 /* 70324 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32mi),
25197 /* 70327 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25198 /* 70331 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25199 /* 70334 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25200 /* 70337 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25201 /* 70344 */ GIR_RootConstrainSelectedInstOperands,
25202 /* 70345 */ // GIR_Coverage, 647,
25203 /* 70345 */ GIR_EraseRootFromParent_Done,
25204 /* 70346 */ // Label 2038: @70346
25205 /* 70346 */ GIM_Reject,
25206 /* 70347 */ // Label 2031: @70347
25207 /* 70347 */ GIM_Try, /*On fail goto*//*Label 2039*/ GIMT_Encode4(71155),
25208 /* 70352 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25209 /* 70355 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25210 /* 70362 */ GIM_Try, /*On fail goto*//*Label 2040*/ GIMT_Encode4(70450), // Rule ID 22633 //
25211 /* 70367 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25212 /* 70371 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25213 /* 70375 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25214 /* 70379 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25215 /* 70383 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25216 /* 70387 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25217 /* 70391 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25218 /* 70394 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25219 /* 70398 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25220 /* 70405 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25221 /* 70409 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25222 /* 70414 */ // MIs[0] dst
25223 /* 70414 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25224 /* 70419 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25225 /* 70421 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25226 /* 70428 */ // (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)
25227 /* 70428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
25228 /* 70431 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25229 /* 70435 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25230 /* 70439 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25231 /* 70442 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25232 /* 70448 */ GIR_RootConstrainSelectedInstOperands,
25233 /* 70449 */ // GIR_Coverage, 22633,
25234 /* 70449 */ GIR_EraseRootFromParent_Done,
25235 /* 70450 */ // Label 2040: @70450
25236 /* 70450 */ GIM_Try, /*On fail goto*//*Label 2041*/ GIMT_Encode4(70538), // Rule ID 26248 //
25237 /* 70455 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25238 /* 70459 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25239 /* 70463 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25240 /* 70467 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25241 /* 70471 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25242 /* 70476 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25243 /* 70480 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25244 /* 70484 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25245 /* 70487 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25246 /* 70491 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25247 /* 70498 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25248 /* 70502 */ // MIs[0] dst
25249 /* 70502 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25250 /* 70507 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25251 /* 70509 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25252 /* 70516 */ // (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)
25253 /* 70516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
25254 /* 70519 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25255 /* 70523 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25256 /* 70527 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25257 /* 70530 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25258 /* 70536 */ GIR_RootConstrainSelectedInstOperands,
25259 /* 70537 */ // GIR_Coverage, 26248,
25260 /* 70537 */ GIR_EraseRootFromParent_Done,
25261 /* 70538 */ // Label 2041: @70538
25262 /* 70538 */ GIM_Try, /*On fail goto*//*Label 2042*/ GIMT_Encode4(70626), // Rule ID 22641 //
25263 /* 70543 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25264 /* 70547 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25265 /* 70551 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25266 /* 70555 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25267 /* 70559 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25268 /* 70563 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25269 /* 70567 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25270 /* 70570 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25271 /* 70574 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25272 /* 70581 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25273 /* 70585 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25274 /* 70590 */ // MIs[0] dst
25275 /* 70590 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25276 /* 70595 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25277 /* 70597 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25278 /* 70604 */ // (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)
25279 /* 70604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
25280 /* 70607 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25281 /* 70611 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25282 /* 70615 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25283 /* 70618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25284 /* 70624 */ GIR_RootConstrainSelectedInstOperands,
25285 /* 70625 */ // GIR_Coverage, 22641,
25286 /* 70625 */ GIR_EraseRootFromParent_Done,
25287 /* 70626 */ // Label 2042: @70626
25288 /* 70626 */ GIM_Try, /*On fail goto*//*Label 2043*/ GIMT_Encode4(70714), // Rule ID 26252 //
25289 /* 70631 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25290 /* 70635 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25291 /* 70639 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25292 /* 70643 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25293 /* 70647 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25294 /* 70652 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25295 /* 70656 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25296 /* 70660 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25297 /* 70663 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25298 /* 70667 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25299 /* 70674 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25300 /* 70678 */ // MIs[0] dst
25301 /* 70678 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25302 /* 70683 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25303 /* 70685 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25304 /* 70692 */ // (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)
25305 /* 70692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
25306 /* 70695 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25307 /* 70699 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25308 /* 70703 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25309 /* 70706 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25310 /* 70712 */ GIR_RootConstrainSelectedInstOperands,
25311 /* 70713 */ // GIR_Coverage, 26252,
25312 /* 70713 */ GIR_EraseRootFromParent_Done,
25313 /* 70714 */ // Label 2043: @70714
25314 /* 70714 */ GIM_Try, /*On fail goto*//*Label 2044*/ GIMT_Encode4(70802), // Rule ID 22649 //
25315 /* 70719 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25316 /* 70723 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25317 /* 70727 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25318 /* 70731 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25319 /* 70735 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25320 /* 70739 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25321 /* 70743 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25322 /* 70746 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25323 /* 70750 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25324 /* 70757 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25325 /* 70761 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25326 /* 70766 */ // MIs[0] dst
25327 /* 70766 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25328 /* 70771 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25329 /* 70773 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25330 /* 70780 */ // (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)
25331 /* 70780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
25332 /* 70783 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25333 /* 70787 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25334 /* 70791 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25335 /* 70794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25336 /* 70800 */ GIR_RootConstrainSelectedInstOperands,
25337 /* 70801 */ // GIR_Coverage, 22649,
25338 /* 70801 */ GIR_EraseRootFromParent_Done,
25339 /* 70802 */ // Label 2044: @70802
25340 /* 70802 */ GIM_Try, /*On fail goto*//*Label 2045*/ GIMT_Encode4(70890), // Rule ID 26256 //
25341 /* 70807 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25342 /* 70811 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25343 /* 70815 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25344 /* 70819 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25345 /* 70823 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25346 /* 70828 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25347 /* 70832 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25348 /* 70836 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25349 /* 70839 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25350 /* 70843 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25351 /* 70850 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25352 /* 70854 */ // MIs[0] dst
25353 /* 70854 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25354 /* 70859 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25355 /* 70861 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25356 /* 70868 */ // (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)
25357 /* 70868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
25358 /* 70871 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25359 /* 70875 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25360 /* 70879 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25361 /* 70882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25362 /* 70888 */ GIR_RootConstrainSelectedInstOperands,
25363 /* 70889 */ // GIR_Coverage, 26256,
25364 /* 70889 */ GIR_EraseRootFromParent_Done,
25365 /* 70890 */ // Label 2045: @70890
25366 /* 70890 */ GIM_Try, /*On fail goto*//*Label 2046*/ GIMT_Encode4(70978), // Rule ID 22665 //
25367 /* 70895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25368 /* 70899 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25369 /* 70903 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25370 /* 70907 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25371 /* 70911 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25372 /* 70915 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25373 /* 70919 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25374 /* 70922 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25375 /* 70926 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25376 /* 70933 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25377 /* 70937 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25378 /* 70942 */ // MIs[0] dst
25379 /* 70942 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25380 /* 70947 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25381 /* 70949 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25382 /* 70956 */ // (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)
25383 /* 70956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mr),
25384 /* 70959 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25385 /* 70963 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25386 /* 70967 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25387 /* 70970 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25388 /* 70976 */ GIR_RootConstrainSelectedInstOperands,
25389 /* 70977 */ // GIR_Coverage, 22665,
25390 /* 70977 */ GIR_EraseRootFromParent_Done,
25391 /* 70978 */ // Label 2046: @70978
25392 /* 70978 */ GIM_Try, /*On fail goto*//*Label 2047*/ GIMT_Encode4(71066), // Rule ID 22657 //
25393 /* 70983 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25394 /* 70987 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25395 /* 70991 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25396 /* 70995 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25397 /* 70999 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25398 /* 71003 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25399 /* 71007 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25400 /* 71010 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25401 /* 71014 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25402 /* 71021 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25403 /* 71025 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25404 /* 71030 */ // MIs[0] dst
25405 /* 71030 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25406 /* 71035 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25407 /* 71037 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25408 /* 71044 */ // (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)
25409 /* 71044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
25410 /* 71047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25411 /* 71051 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25412 /* 71055 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25413 /* 71058 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25414 /* 71064 */ GIR_RootConstrainSelectedInstOperands,
25415 /* 71065 */ // GIR_Coverage, 22657,
25416 /* 71065 */ GIR_EraseRootFromParent_Done,
25417 /* 71066 */ // Label 2047: @71066
25418 /* 71066 */ GIM_Try, /*On fail goto*//*Label 2048*/ GIMT_Encode4(71154), // Rule ID 26260 //
25419 /* 71071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25420 /* 71075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25421 /* 71079 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25422 /* 71083 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25423 /* 71087 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25424 /* 71092 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25425 /* 71096 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25426 /* 71100 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25427 /* 71103 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25428 /* 71107 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25429 /* 71114 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25430 /* 71118 */ // MIs[0] dst
25431 /* 71118 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25432 /* 71123 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25433 /* 71125 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25434 /* 71132 */ // (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)
25435 /* 71132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
25436 /* 71135 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25437 /* 71139 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25438 /* 71143 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25439 /* 71146 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25440 /* 71152 */ GIR_RootConstrainSelectedInstOperands,
25441 /* 71153 */ // GIR_Coverage, 26260,
25442 /* 71153 */ GIR_EraseRootFromParent_Done,
25443 /* 71154 */ // Label 2048: @71154
25444 /* 71154 */ GIM_Reject,
25445 /* 71155 */ // Label 2039: @71155
25446 /* 71155 */ GIM_Try, /*On fail goto*//*Label 2049*/ GIMT_Encode4(72607),
25447 /* 71160 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25448 /* 71163 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25449 /* 71167 */ GIM_Try, /*On fail goto*//*Label 2050*/ GIMT_Encode4(71271), // Rule ID 813 //
25450 /* 71172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25451 /* 71176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
25452 /* 71180 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25453 /* 71184 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25454 /* 71188 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
25455 /* 71192 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25456 /* 71196 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25457 /* 71200 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25458 /* 71203 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25459 /* 71207 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25460 /* 71211 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25461 /* 71216 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25462 /* 71221 */ // MIs[0] src1
25463 /* 71221 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25464 /* 71226 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25465 /* 71228 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25466 /* 71235 */ // (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)
25467 /* 71235 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25468 /* 71239 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25469 /* 71245 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
25470 /* 71249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32mrCL),
25471 /* 71252 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25472 /* 71256 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25473 /* 71260 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25474 /* 71263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25475 /* 71269 */ GIR_RootConstrainSelectedInstOperands,
25476 /* 71270 */ // GIR_Coverage, 813,
25477 /* 71270 */ GIR_EraseRootFromParent_Done,
25478 /* 71271 */ // Label 2050: @71271
25479 /* 71271 */ GIM_Try, /*On fail goto*//*Label 2051*/ GIMT_Encode4(71375), // Rule ID 837 //
25480 /* 71276 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25481 /* 71280 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
25482 /* 71284 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25483 /* 71288 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25484 /* 71292 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
25485 /* 71296 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25486 /* 71301 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25487 /* 71305 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25488 /* 71309 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25489 /* 71312 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25490 /* 71316 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25491 /* 71320 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25492 /* 71325 */ // MIs[0] src1
25493 /* 71325 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25494 /* 71330 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25495 /* 71332 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25496 /* 71339 */ // (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)
25497 /* 71339 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25498 /* 71343 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25499 /* 71349 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
25500 /* 71353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32mrCL),
25501 /* 71356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25502 /* 71360 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25503 /* 71364 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25504 /* 71367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25505 /* 71373 */ GIR_RootConstrainSelectedInstOperands,
25506 /* 71374 */ // GIR_Coverage, 837,
25507 /* 71374 */ GIR_EraseRootFromParent_Done,
25508 /* 71375 */ // Label 2051: @71375
25509 /* 71375 */ GIM_Try, /*On fail goto*//*Label 2052*/ GIMT_Encode4(71456), // Rule ID 409 //
25510 /* 71380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25511 /* 71384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25512 /* 71388 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25513 /* 71392 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25514 /* 71396 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25515 /* 71400 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25516 /* 71404 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25517 /* 71407 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25518 /* 71411 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25519 /* 71415 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25520 /* 71420 */ // MIs[0] src1
25521 /* 71420 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25522 /* 71425 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25523 /* 71427 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25524 /* 71434 */ // (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)
25525 /* 71434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
25526 /* 71437 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25527 /* 71441 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25528 /* 71445 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25529 /* 71448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25530 /* 71454 */ GIR_RootConstrainSelectedInstOperands,
25531 /* 71455 */ // GIR_Coverage, 409,
25532 /* 71455 */ GIR_EraseRootFromParent_Done,
25533 /* 71456 */ // Label 2052: @71456
25534 /* 71456 */ GIM_Try, /*On fail goto*//*Label 2053*/ GIMT_Encode4(71537), // Rule ID 23464 //
25535 /* 71461 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25536 /* 71465 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25537 /* 71469 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25538 /* 71473 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25539 /* 71477 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25540 /* 71482 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25541 /* 71486 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25542 /* 71490 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25543 /* 71493 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25544 /* 71497 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25545 /* 71501 */ // MIs[0] src1
25546 /* 71501 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25547 /* 71506 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25548 /* 71508 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25549 /* 71515 */ // (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)
25550 /* 71515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
25551 /* 71518 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25552 /* 71522 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25553 /* 71526 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25554 /* 71529 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25555 /* 71535 */ GIR_RootConstrainSelectedInstOperands,
25556 /* 71536 */ // GIR_Coverage, 23464,
25557 /* 71536 */ GIR_EraseRootFromParent_Done,
25558 /* 71537 */ // Label 2053: @71537
25559 /* 71537 */ GIM_Try, /*On fail goto*//*Label 2054*/ GIMT_Encode4(71618), // Rule ID 301 //
25560 /* 71542 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25561 /* 71546 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25562 /* 71550 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25563 /* 71554 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25564 /* 71558 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25565 /* 71562 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25566 /* 71566 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25567 /* 71569 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25568 /* 71573 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25569 /* 71577 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25570 /* 71582 */ // MIs[0] src1
25571 /* 71582 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25572 /* 71587 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25573 /* 71589 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25574 /* 71596 */ // (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)
25575 /* 71596 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
25576 /* 71599 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25577 /* 71603 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25578 /* 71607 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25579 /* 71610 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25580 /* 71616 */ GIR_RootConstrainSelectedInstOperands,
25581 /* 71617 */ // GIR_Coverage, 301,
25582 /* 71617 */ GIR_EraseRootFromParent_Done,
25583 /* 71618 */ // Label 2054: @71618
25584 /* 71618 */ GIM_Try, /*On fail goto*//*Label 2055*/ GIMT_Encode4(71699), // Rule ID 23428 //
25585 /* 71623 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25586 /* 71627 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25587 /* 71631 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25588 /* 71635 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25589 /* 71639 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25590 /* 71644 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25591 /* 71648 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25592 /* 71652 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25593 /* 71655 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25594 /* 71659 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25595 /* 71663 */ // MIs[0] src1
25596 /* 71663 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25597 /* 71668 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25598 /* 71670 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25599 /* 71677 */ // (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)
25600 /* 71677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
25601 /* 71680 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25602 /* 71684 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25603 /* 71688 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25604 /* 71691 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25605 /* 71697 */ GIR_RootConstrainSelectedInstOperands,
25606 /* 71698 */ // GIR_Coverage, 23428,
25607 /* 71698 */ GIR_EraseRootFromParent_Done,
25608 /* 71699 */ // Label 2055: @71699
25609 /* 71699 */ GIM_Try, /*On fail goto*//*Label 2056*/ GIMT_Encode4(71790), // Rule ID 727 //
25610 /* 71704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25611 /* 71708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
25612 /* 71712 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25613 /* 71716 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25614 /* 71720 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25615 /* 71724 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25616 /* 71728 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25617 /* 71731 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25618 /* 71735 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25619 /* 71739 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25620 /* 71744 */ // MIs[0] src1
25621 /* 71744 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25622 /* 71749 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25623 /* 71751 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25624 /* 71758 */ // (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)
25625 /* 71758 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25626 /* 71762 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25627 /* 71768 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
25628 /* 71772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32mCL),
25629 /* 71775 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25630 /* 71779 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25631 /* 71782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25632 /* 71788 */ GIR_RootConstrainSelectedInstOperands,
25633 /* 71789 */ // GIR_Coverage, 727,
25634 /* 71789 */ GIR_EraseRootFromParent_Done,
25635 /* 71790 */ // Label 2056: @71790
25636 /* 71790 */ GIM_Try, /*On fail goto*//*Label 2057*/ GIMT_Encode4(71881), // Rule ID 695 //
25637 /* 71795 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25638 /* 71799 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
25639 /* 71803 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25640 /* 71807 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25641 /* 71811 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25642 /* 71815 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25643 /* 71819 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25644 /* 71822 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25645 /* 71826 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25646 /* 71830 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25647 /* 71835 */ // MIs[0] src1
25648 /* 71835 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25649 /* 71840 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25650 /* 71842 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25651 /* 71849 */ // (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)
25652 /* 71849 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25653 /* 71853 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25654 /* 71859 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
25655 /* 71863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32mCL),
25656 /* 71866 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25657 /* 71870 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25658 /* 71873 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25659 /* 71879 */ GIR_RootConstrainSelectedInstOperands,
25660 /* 71880 */ // GIR_Coverage, 695,
25661 /* 71880 */ GIR_EraseRootFromParent_Done,
25662 /* 71881 */ // Label 2057: @71881
25663 /* 71881 */ GIM_Try, /*On fail goto*//*Label 2058*/ GIMT_Encode4(71962), // Rule ID 337 //
25664 /* 71886 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25665 /* 71890 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25666 /* 71894 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25667 /* 71898 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25668 /* 71902 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25669 /* 71906 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25670 /* 71910 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25671 /* 71913 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25672 /* 71917 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25673 /* 71921 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25674 /* 71926 */ // MIs[0] src1
25675 /* 71926 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25676 /* 71931 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25677 /* 71933 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25678 /* 71940 */ // (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)
25679 /* 71940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
25680 /* 71943 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25681 /* 71947 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25682 /* 71951 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25683 /* 71954 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25684 /* 71960 */ GIR_RootConstrainSelectedInstOperands,
25685 /* 71961 */ // GIR_Coverage, 337,
25686 /* 71961 */ GIR_EraseRootFromParent_Done,
25687 /* 71962 */ // Label 2058: @71962
25688 /* 71962 */ GIM_Try, /*On fail goto*//*Label 2059*/ GIMT_Encode4(72043), // Rule ID 23440 //
25689 /* 71967 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25690 /* 71971 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25691 /* 71975 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25692 /* 71979 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25693 /* 71983 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25694 /* 71988 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25695 /* 71992 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25696 /* 71996 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25697 /* 71999 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25698 /* 72003 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25699 /* 72007 */ // MIs[0] src1
25700 /* 72007 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25701 /* 72012 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25702 /* 72014 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25703 /* 72021 */ // (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)
25704 /* 72021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
25705 /* 72024 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25706 /* 72028 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25707 /* 72032 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25708 /* 72035 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25709 /* 72041 */ GIR_RootConstrainSelectedInstOperands,
25710 /* 72042 */ // GIR_Coverage, 23440,
25711 /* 72042 */ GIR_EraseRootFromParent_Done,
25712 /* 72043 */ // Label 2059: @72043
25713 /* 72043 */ GIM_Try, /*On fail goto*//*Label 2060*/ GIMT_Encode4(72134), // Rule ID 759 //
25714 /* 72048 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25715 /* 72052 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
25716 /* 72056 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25717 /* 72060 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25718 /* 72064 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25719 /* 72068 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25720 /* 72072 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25721 /* 72075 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25722 /* 72079 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25723 /* 72083 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25724 /* 72088 */ // MIs[0] src1
25725 /* 72088 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25726 /* 72093 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25727 /* 72095 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25728 /* 72102 */ // (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)
25729 /* 72102 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25730 /* 72106 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25731 /* 72112 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
25732 /* 72116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32mCL),
25733 /* 72119 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25734 /* 72123 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25735 /* 72126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25736 /* 72132 */ GIR_RootConstrainSelectedInstOperands,
25737 /* 72133 */ // GIR_Coverage, 759,
25738 /* 72133 */ GIR_EraseRootFromParent_Done,
25739 /* 72134 */ // Label 2060: @72134
25740 /* 72134 */ GIM_Try, /*On fail goto*//*Label 2061*/ GIMT_Encode4(72225), // Rule ID 791 //
25741 /* 72139 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25742 /* 72143 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
25743 /* 72147 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25744 /* 72151 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25745 /* 72155 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25746 /* 72159 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25747 /* 72163 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25748 /* 72166 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25749 /* 72170 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25750 /* 72174 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25751 /* 72179 */ // MIs[0] src1
25752 /* 72179 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25753 /* 72184 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25754 /* 72186 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25755 /* 72193 */ // (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)
25756 /* 72193 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25757 /* 72197 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25758 /* 72203 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
25759 /* 72207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32mCL),
25760 /* 72210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25761 /* 72214 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25762 /* 72217 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25763 /* 72223 */ GIR_RootConstrainSelectedInstOperands,
25764 /* 72224 */ // GIR_Coverage, 791,
25765 /* 72224 */ GIR_EraseRootFromParent_Done,
25766 /* 72225 */ // Label 2061: @72225
25767 /* 72225 */ GIM_Try, /*On fail goto*//*Label 2062*/ GIMT_Encode4(72316), // Rule ID 663 //
25768 /* 72230 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25769 /* 72234 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
25770 /* 72238 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25771 /* 72242 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25772 /* 72246 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25773 /* 72250 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25774 /* 72254 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25775 /* 72257 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25776 /* 72261 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25777 /* 72265 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25778 /* 72270 */ // MIs[0] src1
25779 /* 72270 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25780 /* 72275 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25781 /* 72277 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25782 /* 72284 */ // (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)
25783 /* 72284 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25784 /* 72288 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25785 /* 72294 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
25786 /* 72298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32mCL),
25787 /* 72301 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25788 /* 72305 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25789 /* 72308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25790 /* 72314 */ GIR_RootConstrainSelectedInstOperands,
25791 /* 72315 */ // GIR_Coverage, 663,
25792 /* 72315 */ GIR_EraseRootFromParent_Done,
25793 /* 72316 */ // Label 2062: @72316
25794 /* 72316 */ GIM_Try, /*On fail goto*//*Label 2063*/ GIMT_Encode4(72397), // Rule ID 445 //
25795 /* 72321 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25796 /* 72325 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25797 /* 72329 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25798 /* 72333 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25799 /* 72337 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25800 /* 72341 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25801 /* 72345 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25802 /* 72348 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25803 /* 72352 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25804 /* 72356 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25805 /* 72361 */ // MIs[0] src1
25806 /* 72361 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25807 /* 72366 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25808 /* 72368 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25809 /* 72375 */ // (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)
25810 /* 72375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mr),
25811 /* 72378 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25812 /* 72382 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25813 /* 72386 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25814 /* 72389 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25815 /* 72395 */ GIR_RootConstrainSelectedInstOperands,
25816 /* 72396 */ // GIR_Coverage, 445,
25817 /* 72396 */ GIR_EraseRootFromParent_Done,
25818 /* 72397 */ // Label 2063: @72397
25819 /* 72397 */ GIM_Try, /*On fail goto*//*Label 2064*/ GIMT_Encode4(72478), // Rule ID 373 //
25820 /* 72402 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25821 /* 72406 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25822 /* 72410 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25823 /* 72414 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25824 /* 72418 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25825 /* 72422 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25826 /* 72426 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25827 /* 72429 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25828 /* 72433 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25829 /* 72437 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25830 /* 72442 */ // MIs[0] src1
25831 /* 72442 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25832 /* 72447 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25833 /* 72449 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25834 /* 72456 */ // (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)
25835 /* 72456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
25836 /* 72459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25837 /* 72463 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25838 /* 72467 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25839 /* 72470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25840 /* 72476 */ GIR_RootConstrainSelectedInstOperands,
25841 /* 72477 */ // GIR_Coverage, 373,
25842 /* 72477 */ GIR_EraseRootFromParent_Done,
25843 /* 72478 */ // Label 2064: @72478
25844 /* 72478 */ GIM_Try, /*On fail goto*//*Label 2065*/ GIMT_Encode4(72559), // Rule ID 23452 //
25845 /* 72483 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25846 /* 72487 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25847 /* 72491 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25848 /* 72495 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25849 /* 72499 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25850 /* 72504 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25851 /* 72508 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25852 /* 72512 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25853 /* 72515 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25854 /* 72519 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25855 /* 72523 */ // MIs[0] src1
25856 /* 72523 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25857 /* 72528 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25858 /* 72530 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25859 /* 72537 */ // (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)
25860 /* 72537 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
25861 /* 72540 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25862 /* 72544 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25863 /* 72548 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25864 /* 72551 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25865 /* 72557 */ GIR_RootConstrainSelectedInstOperands,
25866 /* 72558 */ // GIR_Coverage, 23452,
25867 /* 72558 */ GIR_EraseRootFromParent_Done,
25868 /* 72559 */ // Label 2065: @72559
25869 /* 72559 */ GIM_Try, /*On fail goto*//*Label 2066*/ GIMT_Encode4(72606), // Rule ID 26 //
25870 /* 72564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25871 /* 72568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25872 /* 72572 */ // MIs[1] Operand 1
25873 /* 72572 */ // No operand predicates
25874 /* 72572 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25875 /* 72576 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25876 /* 72580 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25877 /* 72582 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25878 /* 72589 */ // (st (imm:{ *:[i32] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV32mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
25879 /* 72589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mi),
25880 /* 72592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25881 /* 72596 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
25882 /* 72599 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25883 /* 72604 */ GIR_RootConstrainSelectedInstOperands,
25884 /* 72605 */ // GIR_Coverage, 26,
25885 /* 72605 */ GIR_EraseRootFromParent_Done,
25886 /* 72606 */ // Label 2066: @72606
25887 /* 72606 */ GIM_Reject,
25888 /* 72607 */ // Label 2049: @72607
25889 /* 72607 */ GIM_Try, /*On fail goto*//*Label 2067*/ GIMT_Encode4(72819),
25890 /* 72612 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25891 /* 72615 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25892 /* 72622 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25893 /* 72626 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2068*/ GIMT_Encode4(72677), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22731 //
25894 /* 72633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25895 /* 72637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
25896 /* 72641 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25897 /* 72645 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
25898 /* 72650 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25899 /* 72652 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25900 /* 72659 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
25901 /* 72659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSmr),
25902 /* 72662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25903 /* 72666 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25904 /* 72670 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25905 /* 72675 */ GIR_RootConstrainSelectedInstOperands,
25906 /* 72676 */ // GIR_Coverage, 22731,
25907 /* 72676 */ GIR_EraseRootFromParent_Done,
25908 /* 72677 */ // Label 2068: @72677
25909 /* 72677 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2069*/ GIMT_Encode4(72728), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22732 //
25910 /* 72684 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25911 /* 72688 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
25912 /* 72692 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25913 /* 72696 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
25914 /* 72701 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25915 /* 72703 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25916 /* 72710 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (VMOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
25917 /* 72710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSmr),
25918 /* 72713 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25919 /* 72717 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25920 /* 72721 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25921 /* 72726 */ GIR_RootConstrainSelectedInstOperands,
25922 /* 72727 */ // GIR_Coverage, 22732,
25923 /* 72727 */ GIR_EraseRootFromParent_Done,
25924 /* 72728 */ // Label 2069: @72728
25925 /* 72728 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2070*/ GIMT_Encode4(72779), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22733 //
25926 /* 72735 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25927 /* 72739 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
25928 /* 72743 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25929 /* 72747 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
25930 /* 72752 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25931 /* 72754 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25932 /* 72761 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (VMOVSSZmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
25933 /* 72761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZmr),
25934 /* 72764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25935 /* 72768 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25936 /* 72772 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25937 /* 72777 */ GIR_RootConstrainSelectedInstOperands,
25938 /* 72778 */ // GIR_Coverage, 22733,
25939 /* 72778 */ GIR_EraseRootFromParent_Done,
25940 /* 72779 */ // Label 2070: @72779
25941 /* 72779 */ GIM_Try, /*On fail goto*//*Label 2071*/ GIMT_Encode4(72818), // Rule ID 22709 //
25942 /* 72784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25943 /* 72788 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25944 /* 72792 */ // MIs[1] Operand 1
25945 /* 72792 */ // No operand predicates
25946 /* 72792 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25947 /* 72794 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25948 /* 72801 */ // (atomic_store (imm:{ *:[i32] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOV32mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
25949 /* 72801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mi),
25950 /* 72804 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25951 /* 72808 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
25952 /* 72811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25953 /* 72816 */ GIR_RootConstrainSelectedInstOperands,
25954 /* 72817 */ // GIR_Coverage, 22709,
25955 /* 72817 */ GIR_EraseRootFromParent_Done,
25956 /* 72818 */ // Label 2071: @72818
25957 /* 72818 */ GIM_Reject,
25958 /* 72819 */ // Label 2067: @72819
25959 /* 72819 */ GIM_Try, /*On fail goto*//*Label 2072*/ GIMT_Encode4(72938),
25960 /* 72824 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25961 /* 72827 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25962 /* 72831 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25963 /* 72835 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2073*/ GIMT_Encode4(72886), GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR), // Rule ID 52 //
25964 /* 72842 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25965 /* 72846 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
25966 /* 72850 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25967 /* 72854 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25968 /* 72859 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25969 /* 72861 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25970 /* 72868 */ // (st (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src1)
25971 /* 72868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32mr),
25972 /* 72871 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25973 /* 72875 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
25974 /* 72879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25975 /* 72884 */ GIR_RootConstrainSelectedInstOperands,
25976 /* 72885 */ // GIR_Coverage, 52,
25977 /* 72885 */ GIR_EraseRootFromParent_Done,
25978 /* 72886 */ // Label 2073: @72886
25979 /* 72886 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2074*/ GIMT_Encode4(72937), GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode), // Rule ID 58 //
25980 /* 72893 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25981 /* 72897 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
25982 /* 72901 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25983 /* 72905 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25984 /* 72910 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25985 /* 72912 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25986 /* 72919 */ // (st (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE32mr_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src1)
25987 /* 72919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32mr_EVEX),
25988 /* 72922 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25989 /* 72926 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
25990 /* 72930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25991 /* 72935 */ GIR_RootConstrainSelectedInstOperands,
25992 /* 72936 */ // GIR_Coverage, 58,
25993 /* 72936 */ GIR_EraseRootFromParent_Done,
25994 /* 72937 */ // Label 2074: @72937
25995 /* 72937 */ GIM_Reject,
25996 /* 72938 */ // Label 2072: @72938
25997 /* 72938 */ GIM_Try, /*On fail goto*//*Label 2075*/ GIMT_Encode4(72983), // Rule ID 22713 //
25998 /* 72943 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25999 /* 72946 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26000 /* 72953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26001 /* 72957 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26002 /* 72961 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26003 /* 72968 */ // (atomic_store GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOV32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
26004 /* 72968 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mr),
26005 /* 72971 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26006 /* 72975 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26007 /* 72977 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26008 /* 72981 */ GIR_RootConstrainSelectedInstOperands,
26009 /* 72982 */ // GIR_Coverage, 22713,
26010 /* 72982 */ GIR_EraseRootFromParent_Done,
26011 /* 72983 */ // Label 2075: @72983
26012 /* 72983 */ GIM_Try, /*On fail goto*//*Label 2076*/ GIMT_Encode4(73180),
26013 /* 72988 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26014 /* 72991 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26015 /* 72995 */ GIM_Try, /*On fail goto*//*Label 2077*/ GIMT_Encode4(73030), // Rule ID 34 //
26016 /* 73000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26017 /* 73004 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26018 /* 73008 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26019 /* 73015 */ // (st GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
26020 /* 73015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mr),
26021 /* 73018 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26022 /* 73022 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26023 /* 73024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26024 /* 73028 */ GIR_RootConstrainSelectedInstOperands,
26025 /* 73029 */ // GIR_Coverage, 34,
26026 /* 73029 */ GIR_EraseRootFromParent_Done,
26027 /* 73030 */ // Label 2077: @73030
26028 /* 73030 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2078*/ GIMT_Encode4(73070), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1071 //
26029 /* 73037 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
26030 /* 73041 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26031 /* 73045 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26032 /* 73052 */ // (st RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_Fp32m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
26033 /* 73052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp32m),
26034 /* 73055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
26035 /* 73059 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26036 /* 73061 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
26037 /* 73064 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26038 /* 73068 */ GIR_RootConstrainSelectedInstOperands,
26039 /* 73069 */ // GIR_Coverage, 1071,
26040 /* 73069 */ GIR_EraseRootFromParent_Done,
26041 /* 73070 */ // Label 2078: @73070
26042 /* 73070 */ GIM_Try, /*On fail goto*//*Label 2079*/ GIMT_Encode4(73142),
26043 /* 73075 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26044 /* 73079 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26045 /* 73083 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2080*/ GIMT_Encode4(73112), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1663 //
26046 /* 73090 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26047 /* 73097 */ // (st FR32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26048 /* 73097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSmr),
26049 /* 73100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26050 /* 73104 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26051 /* 73106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26052 /* 73110 */ GIR_RootConstrainSelectedInstOperands,
26053 /* 73111 */ // GIR_Coverage, 1663,
26054 /* 73111 */ GIR_EraseRootFromParent_Done,
26055 /* 73112 */ // Label 2080: @73112
26056 /* 73112 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2081*/ GIMT_Encode4(73141), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1665 //
26057 /* 73119 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26058 /* 73126 */ // (st FR32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26059 /* 73126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSmr),
26060 /* 73129 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26061 /* 73133 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26062 /* 73135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26063 /* 73139 */ GIR_RootConstrainSelectedInstOperands,
26064 /* 73140 */ // GIR_Coverage, 1665,
26065 /* 73140 */ GIR_EraseRootFromParent_Done,
26066 /* 73141 */ // Label 2081: @73141
26067 /* 73141 */ GIM_Reject,
26068 /* 73142 */ // Label 2079: @73142
26069 /* 73142 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2082*/ GIMT_Encode4(73179), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4611 //
26070 /* 73149 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
26071 /* 73153 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26072 /* 73157 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26073 /* 73164 */ // (st FR32X:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSSZmr addr:{ *:[iPTR] }:$dst, FR32X:{ *:[f32] }:$src)
26074 /* 73164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZmr),
26075 /* 73167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26076 /* 73171 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26077 /* 73173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26078 /* 73177 */ GIR_RootConstrainSelectedInstOperands,
26079 /* 73178 */ // GIR_Coverage, 4611,
26080 /* 73178 */ GIR_EraseRootFromParent_Done,
26081 /* 73179 */ // Label 2082: @73179
26082 /* 73179 */ GIM_Reject,
26083 /* 73180 */ // Label 2076: @73180
26084 /* 73180 */ GIM_Reject,
26085 /* 73181 */ // Label 1859: @73181
26086 /* 73181 */ GIM_Try, /*On fail goto*//*Label 2083*/ GIMT_Encode4(73530),
26087 /* 73186 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26088 /* 73189 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26089 /* 73196 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2084*/ GIMT_Encode4(73281), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 22694 //
26090 /* 73203 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26091 /* 73207 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26092 /* 73211 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26093 /* 73215 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26094 /* 73219 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26095 /* 73223 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26096 /* 73227 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26097 /* 73230 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26098 /* 73234 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26099 /* 73241 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26100 /* 73245 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
26101 /* 73249 */ // MIs[0] dst
26102 /* 73249 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26103 /* 73254 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26104 /* 73256 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26105 /* 73263 */ // (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)
26106 /* 73263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64m),
26107 /* 73266 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26108 /* 73270 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26109 /* 73273 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26110 /* 73279 */ GIR_RootConstrainSelectedInstOperands,
26111 /* 73280 */ // GIR_Coverage, 22694,
26112 /* 73280 */ GIR_EraseRootFromParent_Done,
26113 /* 73281 */ // Label 2084: @73281
26114 /* 73281 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2085*/ GIMT_Encode4(73366), GIMT_Encode2(GIFBS_UseIncDec), // Rule ID 22698 //
26115 /* 73288 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26116 /* 73292 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26117 /* 73296 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26118 /* 73300 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26119 /* 73304 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26120 /* 73308 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26121 /* 73312 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26122 /* 73315 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26123 /* 73319 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26124 /* 73326 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26125 /* 73330 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
26126 /* 73334 */ // MIs[0] dst
26127 /* 73334 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26128 /* 73339 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26129 /* 73341 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26130 /* 73348 */ // (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)
26131 /* 73348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64m),
26132 /* 73351 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26133 /* 73355 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26134 /* 73358 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26135 /* 73364 */ GIR_RootConstrainSelectedInstOperands,
26136 /* 73365 */ // GIR_Coverage, 22698,
26137 /* 73365 */ GIR_EraseRootFromParent_Done,
26138 /* 73366 */ // Label 2085: @73366
26139 /* 73366 */ GIM_Try, /*On fail goto*//*Label 2086*/ GIMT_Encode4(73449), // Rule ID 22702 //
26140 /* 73371 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26141 /* 73375 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26142 /* 73379 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26143 /* 73383 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26144 /* 73387 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
26145 /* 73391 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26146 /* 73395 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26147 /* 73399 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26148 /* 73402 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26149 /* 73406 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26150 /* 73413 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26151 /* 73417 */ // MIs[0] dst
26152 /* 73417 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26153 /* 73422 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26154 /* 73424 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26155 /* 73431 */ // (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)
26156 /* 73431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64m),
26157 /* 73434 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26158 /* 73438 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26159 /* 73441 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26160 /* 73447 */ GIR_RootConstrainSelectedInstOperands,
26161 /* 73448 */ // GIR_Coverage, 22702,
26162 /* 73448 */ GIR_EraseRootFromParent_Done,
26163 /* 73449 */ // Label 2086: @73449
26164 /* 73449 */ GIM_Try, /*On fail goto*//*Label 2087*/ GIMT_Encode4(73529), // Rule ID 22706 //
26165 /* 73454 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26166 /* 73458 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26167 /* 73462 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26168 /* 73466 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26169 /* 73470 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26170 /* 73474 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26171 /* 73478 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26172 /* 73481 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26173 /* 73485 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26174 /* 73492 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26175 /* 73496 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
26176 /* 73500 */ // MIs[0] dst
26177 /* 73500 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26178 /* 73505 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26179 /* 73507 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26180 /* 73514 */ // (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)
26181 /* 73514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64m),
26182 /* 73517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26183 /* 73521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26184 /* 73527 */ GIR_RootConstrainSelectedInstOperands,
26185 /* 73528 */ // GIR_Coverage, 22706,
26186 /* 73528 */ GIR_EraseRootFromParent_Done,
26187 /* 73529 */ // Label 2087: @73529
26188 /* 73529 */ GIM_Reject,
26189 /* 73530 */ // Label 2083: @73530
26190 /* 73530 */ GIM_Try, /*On fail goto*//*Label 2088*/ GIMT_Encode4(74187),
26191 /* 73535 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26192 /* 73538 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26193 /* 73542 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2089*/ GIMT_Encode4(73620), GIMT_Encode2(GIFBS_In64BitMode_UseIncDec), // Rule ID 229 //
26194 /* 73549 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26195 /* 73553 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26196 /* 73557 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26197 /* 73561 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26198 /* 73565 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26199 /* 73569 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26200 /* 73573 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26201 /* 73576 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26202 /* 73580 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26203 /* 73584 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
26204 /* 73588 */ // MIs[0] src1
26205 /* 73588 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26206 /* 73593 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26207 /* 73595 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26208 /* 73602 */ // (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)
26209 /* 73602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64m),
26210 /* 73605 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26211 /* 73609 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26212 /* 73612 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26213 /* 73618 */ GIR_RootConstrainSelectedInstOperands,
26214 /* 73619 */ // GIR_Coverage, 229,
26215 /* 73619 */ GIR_EraseRootFromParent_Done,
26216 /* 73620 */ // Label 2089: @73620
26217 /* 73620 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2090*/ GIMT_Encode4(73698), GIMT_Encode2(GIFBS_In64BitMode_UseIncDec), // Rule ID 230 //
26218 /* 73627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26219 /* 73631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26220 /* 73635 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26221 /* 73639 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26222 /* 73643 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26223 /* 73647 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26224 /* 73651 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26225 /* 73654 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26226 /* 73658 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26227 /* 73662 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
26228 /* 73666 */ // MIs[0] src1
26229 /* 73666 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26230 /* 73671 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26231 /* 73673 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26232 /* 73680 */ // (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)
26233 /* 73680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64m),
26234 /* 73683 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26235 /* 73687 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26236 /* 73690 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26237 /* 73696 */ GIR_RootConstrainSelectedInstOperands,
26238 /* 73697 */ // GIR_Coverage, 230,
26239 /* 73697 */ GIR_EraseRootFromParent_Done,
26240 /* 73698 */ // Label 2090: @73698
26241 /* 73698 */ GIM_Try, /*On fail goto*//*Label 2091*/ GIMT_Encode4(73784), // Rule ID 22843 //
26242 /* 73703 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26243 /* 73707 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26244 /* 73711 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26245 /* 73715 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26246 /* 73719 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26247 /* 73723 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26248 /* 73727 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26249 /* 73730 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26250 /* 73734 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26251 /* 73738 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
26252 /* 73749 */ // MIs[0] dst
26253 /* 73749 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26254 /* 73754 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26255 /* 73756 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26256 /* 73763 */ // (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] })
26257 /* 73763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
26258 /* 73766 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26259 /* 73770 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
26260 /* 73773 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26261 /* 73776 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26262 /* 73782 */ GIR_RootConstrainSelectedInstOperands,
26263 /* 73783 */ // GIR_Coverage, 22843,
26264 /* 73783 */ GIR_EraseRootFromParent_Done,
26265 /* 73784 */ // Label 2091: @73784
26266 /* 73784 */ GIM_Try, /*On fail goto*//*Label 2092*/ GIMT_Encode4(73877), // Rule ID 22851 //
26267 /* 73789 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26268 /* 73793 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26269 /* 73797 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26270 /* 73801 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26271 /* 73805 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26272 /* 73809 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26273 /* 73813 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26274 /* 73816 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26275 /* 73820 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26276 /* 73824 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(2147483648),
26277 /* 73835 */ // MIs[0] dst
26278 /* 73835 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26279 /* 73840 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26280 /* 73842 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26281 /* 73849 */ // (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] })
26282 /* 73849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
26283 /* 73852 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26284 /* 73856 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
26285 /* 73866 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26286 /* 73869 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26287 /* 73875 */ GIR_RootConstrainSelectedInstOperands,
26288 /* 73876 */ // GIR_Coverage, 22851,
26289 /* 73876 */ GIR_EraseRootFromParent_Done,
26290 /* 73877 */ // Label 2092: @73877
26291 /* 73877 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2093*/ GIMT_Encode4(73955), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 17672 //
26292 /* 73884 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26293 /* 73888 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
26294 /* 73892 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26295 /* 73896 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26296 /* 73900 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26297 /* 73904 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26298 /* 73908 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26299 /* 73911 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26300 /* 73915 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26301 /* 73919 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 63,
26302 /* 73923 */ // MIs[0] dst
26303 /* 73923 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26304 /* 73928 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26305 /* 73930 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26306 /* 73937 */ // (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)
26307 /* 73937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64m1),
26308 /* 73940 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26309 /* 73944 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26310 /* 73947 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26311 /* 73953 */ GIR_RootConstrainSelectedInstOperands,
26312 /* 73954 */ // GIR_Coverage, 17672,
26313 /* 73954 */ GIR_EraseRootFromParent_Done,
26314 /* 73955 */ // Label 2093: @73955
26315 /* 73955 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2094*/ GIMT_Encode4(74033), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 17676 //
26316 /* 73962 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26317 /* 73966 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
26318 /* 73970 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26319 /* 73974 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26320 /* 73978 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26321 /* 73982 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26322 /* 73986 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26323 /* 73989 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26324 /* 73993 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26325 /* 73997 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 63,
26326 /* 74001 */ // MIs[0] dst
26327 /* 74001 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26328 /* 74006 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26329 /* 74008 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26330 /* 74015 */ // (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)
26331 /* 74015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64m1),
26332 /* 74018 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26333 /* 74022 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26334 /* 74025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26335 /* 74031 */ GIR_RootConstrainSelectedInstOperands,
26336 /* 74032 */ // GIR_Coverage, 17676,
26337 /* 74032 */ GIR_EraseRootFromParent_Done,
26338 /* 74033 */ // Label 2094: @74033
26339 /* 74033 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2095*/ GIMT_Encode4(74111), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 262 //
26340 /* 74040 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26341 /* 74044 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26342 /* 74048 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26343 /* 74052 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26344 /* 74056 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
26345 /* 74060 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26346 /* 74064 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26347 /* 74068 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26348 /* 74071 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26349 /* 74075 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26350 /* 74079 */ // MIs[0] src1
26351 /* 74079 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26352 /* 74084 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26353 /* 74086 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26354 /* 74093 */ // (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)
26355 /* 74093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64m),
26356 /* 74096 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26357 /* 74100 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26358 /* 74103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26359 /* 74109 */ GIR_RootConstrainSelectedInstOperands,
26360 /* 74110 */ // GIR_Coverage, 262,
26361 /* 74110 */ GIR_EraseRootFromParent_Done,
26362 /* 74111 */ // Label 2095: @74111
26363 /* 74111 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2096*/ GIMT_Encode4(74186), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 270 //
26364 /* 74118 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26365 /* 74122 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26366 /* 74126 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26367 /* 74130 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26368 /* 74134 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26369 /* 74138 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26370 /* 74142 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26371 /* 74145 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26372 /* 74149 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26373 /* 74153 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
26374 /* 74157 */ // MIs[0] src1
26375 /* 74157 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26376 /* 74162 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26377 /* 74164 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26378 /* 74171 */ // (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)
26379 /* 74171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64m),
26380 /* 74174 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26381 /* 74178 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26382 /* 74184 */ GIR_RootConstrainSelectedInstOperands,
26383 /* 74185 */ // GIR_Coverage, 270,
26384 /* 74185 */ GIR_EraseRootFromParent_Done,
26385 /* 74186 */ // Label 2096: @74186
26386 /* 74186 */ GIM_Reject,
26387 /* 74187 */ // Label 2088: @74187
26388 /* 74187 */ GIM_Try, /*On fail goto*//*Label 2097*/ GIMT_Encode4(74678),
26389 /* 74192 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26390 /* 74195 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26391 /* 74202 */ GIM_Try, /*On fail goto*//*Label 2098*/ GIMT_Encode4(74297), // Rule ID 22630 //
26392 /* 74207 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26393 /* 74211 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26394 /* 74215 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26395 /* 74219 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26396 /* 74223 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26397 /* 74227 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26398 /* 74231 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26399 /* 74234 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26400 /* 74238 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26401 /* 74245 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26402 /* 74249 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26403 /* 74253 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26404 /* 74257 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
26405 /* 74261 */ // MIs[3] Operand 1
26406 /* 74261 */ // No operand predicates
26407 /* 74261 */ // MIs[0] dst
26408 /* 74261 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26409 /* 74266 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26410 /* 74268 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26411 /* 74275 */ // (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)
26412 /* 74275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mi32),
26413 /* 74278 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26414 /* 74282 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
26415 /* 74285 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26416 /* 74288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26417 /* 74295 */ GIR_RootConstrainSelectedInstOperands,
26418 /* 74296 */ // GIR_Coverage, 22630,
26419 /* 74296 */ GIR_EraseRootFromParent_Done,
26420 /* 74297 */ // Label 2098: @74297
26421 /* 74297 */ GIM_Try, /*On fail goto*//*Label 2099*/ GIMT_Encode4(74392), // Rule ID 22638 //
26422 /* 74302 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26423 /* 74306 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26424 /* 74310 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26425 /* 74314 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26426 /* 74318 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26427 /* 74322 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26428 /* 74326 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26429 /* 74329 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26430 /* 74333 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26431 /* 74340 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26432 /* 74344 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26433 /* 74348 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26434 /* 74352 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
26435 /* 74356 */ // MIs[3] Operand 1
26436 /* 74356 */ // No operand predicates
26437 /* 74356 */ // MIs[0] dst
26438 /* 74356 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26439 /* 74361 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26440 /* 74363 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26441 /* 74370 */ // (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)
26442 /* 74370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mi32),
26443 /* 74373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26444 /* 74377 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
26445 /* 74380 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26446 /* 74383 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26447 /* 74390 */ GIR_RootConstrainSelectedInstOperands,
26448 /* 74391 */ // GIR_Coverage, 22638,
26449 /* 74391 */ GIR_EraseRootFromParent_Done,
26450 /* 74392 */ // Label 2099: @74392
26451 /* 74392 */ GIM_Try, /*On fail goto*//*Label 2100*/ GIMT_Encode4(74487), // Rule ID 22646 //
26452 /* 74397 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26453 /* 74401 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26454 /* 74405 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26455 /* 74409 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26456 /* 74413 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26457 /* 74417 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26458 /* 74421 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26459 /* 74424 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26460 /* 74428 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26461 /* 74435 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26462 /* 74439 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26463 /* 74443 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26464 /* 74447 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
26465 /* 74451 */ // MIs[3] Operand 1
26466 /* 74451 */ // No operand predicates
26467 /* 74451 */ // MIs[0] dst
26468 /* 74451 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26469 /* 74456 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26470 /* 74458 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26471 /* 74465 */ // (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)
26472 /* 74465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mi32),
26473 /* 74468 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26474 /* 74472 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
26475 /* 74475 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26476 /* 74478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26477 /* 74485 */ GIR_RootConstrainSelectedInstOperands,
26478 /* 74486 */ // GIR_Coverage, 22646,
26479 /* 74486 */ GIR_EraseRootFromParent_Done,
26480 /* 74487 */ // Label 2100: @74487
26481 /* 74487 */ GIM_Try, /*On fail goto*//*Label 2101*/ GIMT_Encode4(74582), // Rule ID 22662 //
26482 /* 74492 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26483 /* 74496 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26484 /* 74500 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26485 /* 74504 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26486 /* 74508 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26487 /* 74512 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26488 /* 74516 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26489 /* 74519 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26490 /* 74523 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26491 /* 74530 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26492 /* 74534 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26493 /* 74538 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26494 /* 74542 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
26495 /* 74546 */ // MIs[3] Operand 1
26496 /* 74546 */ // No operand predicates
26497 /* 74546 */ // MIs[0] dst
26498 /* 74546 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26499 /* 74551 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26500 /* 74553 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26501 /* 74560 */ // (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)
26502 /* 74560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
26503 /* 74563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26504 /* 74567 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
26505 /* 74570 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26506 /* 74573 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26507 /* 74580 */ GIR_RootConstrainSelectedInstOperands,
26508 /* 74581 */ // GIR_Coverage, 22662,
26509 /* 74581 */ GIR_EraseRootFromParent_Done,
26510 /* 74582 */ // Label 2101: @74582
26511 /* 74582 */ GIM_Try, /*On fail goto*//*Label 2102*/ GIMT_Encode4(74677), // Rule ID 22654 //
26512 /* 74587 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26513 /* 74591 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26514 /* 74595 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26515 /* 74599 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26516 /* 74603 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26517 /* 74607 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26518 /* 74611 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26519 /* 74614 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26520 /* 74618 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26521 /* 74625 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26522 /* 74629 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26523 /* 74633 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26524 /* 74637 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
26525 /* 74641 */ // MIs[3] Operand 1
26526 /* 74641 */ // No operand predicates
26527 /* 74641 */ // MIs[0] dst
26528 /* 74641 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26529 /* 74646 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26530 /* 74648 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26531 /* 74655 */ // (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)
26532 /* 74655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mi32),
26533 /* 74658 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26534 /* 74662 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
26535 /* 74665 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26536 /* 74668 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26537 /* 74675 */ GIR_RootConstrainSelectedInstOperands,
26538 /* 74676 */ // GIR_Coverage, 22654,
26539 /* 74676 */ GIR_EraseRootFromParent_Done,
26540 /* 74677 */ // Label 2102: @74677
26541 /* 74677 */ GIM_Reject,
26542 /* 74678 */ // Label 2097: @74678
26543 /* 74678 */ GIM_Try, /*On fail goto*//*Label 2103*/ GIMT_Encode4(75315),
26544 /* 74683 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26545 /* 74686 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26546 /* 74690 */ GIM_Try, /*On fail goto*//*Label 2104*/ GIMT_Encode4(74787), // Rule ID 811 //
26547 /* 74695 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26548 /* 74699 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
26549 /* 74703 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26550 /* 74707 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26551 /* 74711 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
26552 /* 74715 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26553 /* 74719 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26554 /* 74723 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26555 /* 74726 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26556 /* 74730 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26557 /* 74734 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26558 /* 74739 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
26559 /* 74743 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26560 /* 74747 */ // MIs[3] Operand 1
26561 /* 74747 */ // No operand predicates
26562 /* 74747 */ // MIs[0] src1
26563 /* 74747 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26564 /* 74752 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26565 /* 74754 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26566 /* 74761 */ // (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)
26567 /* 74761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64mri8),
26568 /* 74764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26569 /* 74768 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26570 /* 74772 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
26571 /* 74775 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26572 /* 74778 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26573 /* 74785 */ GIR_RootConstrainSelectedInstOperands,
26574 /* 74786 */ // GIR_Coverage, 811,
26575 /* 74786 */ GIR_EraseRootFromParent_Done,
26576 /* 74787 */ // Label 2104: @74787
26577 /* 74787 */ GIM_Try, /*On fail goto*//*Label 2105*/ GIMT_Encode4(74884), // Rule ID 835 //
26578 /* 74792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26579 /* 74796 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
26580 /* 74800 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26581 /* 74804 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26582 /* 74808 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
26583 /* 74812 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26584 /* 74817 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26585 /* 74821 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26586 /* 74825 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26587 /* 74828 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26588 /* 74832 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26589 /* 74836 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
26590 /* 74840 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26591 /* 74844 */ // MIs[3] Operand 1
26592 /* 74844 */ // No operand predicates
26593 /* 74844 */ // MIs[0] src1
26594 /* 74844 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26595 /* 74849 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26596 /* 74851 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26597 /* 74858 */ // (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)
26598 /* 74858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64mri8),
26599 /* 74861 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26600 /* 74865 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26601 /* 74869 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
26602 /* 74872 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26603 /* 74875 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26604 /* 74882 */ GIR_RootConstrainSelectedInstOperands,
26605 /* 74883 */ // GIR_Coverage, 835,
26606 /* 74883 */ GIR_EraseRootFromParent_Done,
26607 /* 74884 */ // Label 2105: @74884
26608 /* 74884 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2106*/ GIMT_Encode4(74970), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 712 //
26609 /* 74891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26610 /* 74895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
26611 /* 74899 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26612 /* 74903 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26613 /* 74907 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26614 /* 74911 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26615 /* 74915 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26616 /* 74918 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26617 /* 74922 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26618 /* 74926 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26619 /* 74930 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26620 /* 74934 */ // MIs[3] Operand 1
26621 /* 74934 */ // No operand predicates
26622 /* 74934 */ // MIs[0] src1
26623 /* 74934 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26624 /* 74939 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26625 /* 74941 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26626 /* 74948 */ // (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)
26627 /* 74948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64mi),
26628 /* 74951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26629 /* 74955 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26630 /* 74958 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26631 /* 74961 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26632 /* 74968 */ GIR_RootConstrainSelectedInstOperands,
26633 /* 74969 */ // GIR_Coverage, 712,
26634 /* 74969 */ GIR_EraseRootFromParent_Done,
26635 /* 74970 */ // Label 2106: @74970
26636 /* 74970 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2107*/ GIMT_Encode4(75056), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 680 //
26637 /* 74977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26638 /* 74981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
26639 /* 74985 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26640 /* 74989 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26641 /* 74993 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26642 /* 74997 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26643 /* 75001 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26644 /* 75004 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26645 /* 75008 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26646 /* 75012 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26647 /* 75016 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26648 /* 75020 */ // MIs[3] Operand 1
26649 /* 75020 */ // No operand predicates
26650 /* 75020 */ // MIs[0] src1
26651 /* 75020 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26652 /* 75025 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26653 /* 75027 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26654 /* 75034 */ // (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)
26655 /* 75034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64mi),
26656 /* 75037 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26657 /* 75041 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26658 /* 75044 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26659 /* 75047 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26660 /* 75054 */ GIR_RootConstrainSelectedInstOperands,
26661 /* 75055 */ // GIR_Coverage, 680,
26662 /* 75055 */ GIR_EraseRootFromParent_Done,
26663 /* 75056 */ // Label 2107: @75056
26664 /* 75056 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2108*/ GIMT_Encode4(75142), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 744 //
26665 /* 75063 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26666 /* 75067 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
26667 /* 75071 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26668 /* 75075 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26669 /* 75079 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26670 /* 75083 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26671 /* 75087 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26672 /* 75090 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26673 /* 75094 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26674 /* 75098 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26675 /* 75102 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26676 /* 75106 */ // MIs[3] Operand 1
26677 /* 75106 */ // No operand predicates
26678 /* 75106 */ // MIs[0] src1
26679 /* 75106 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26680 /* 75111 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26681 /* 75113 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26682 /* 75120 */ // (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)
26683 /* 75120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64mi),
26684 /* 75123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26685 /* 75127 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26686 /* 75130 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26687 /* 75133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26688 /* 75140 */ GIR_RootConstrainSelectedInstOperands,
26689 /* 75141 */ // GIR_Coverage, 744,
26690 /* 75141 */ GIR_EraseRootFromParent_Done,
26691 /* 75142 */ // Label 2108: @75142
26692 /* 75142 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2109*/ GIMT_Encode4(75228), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 776 //
26693 /* 75149 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26694 /* 75153 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
26695 /* 75157 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26696 /* 75161 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26697 /* 75165 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26698 /* 75169 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26699 /* 75173 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26700 /* 75176 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26701 /* 75180 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26702 /* 75184 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26703 /* 75188 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26704 /* 75192 */ // MIs[3] Operand 1
26705 /* 75192 */ // No operand predicates
26706 /* 75192 */ // MIs[0] src1
26707 /* 75192 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26708 /* 75197 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26709 /* 75199 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26710 /* 75206 */ // (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)
26711 /* 75206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64mi),
26712 /* 75209 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26713 /* 75213 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26714 /* 75216 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26715 /* 75219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26716 /* 75226 */ GIR_RootConstrainSelectedInstOperands,
26717 /* 75227 */ // GIR_Coverage, 776,
26718 /* 75227 */ GIR_EraseRootFromParent_Done,
26719 /* 75228 */ // Label 2109: @75228
26720 /* 75228 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2110*/ GIMT_Encode4(75314), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 648 //
26721 /* 75235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26722 /* 75239 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
26723 /* 75243 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26724 /* 75247 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26725 /* 75251 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26726 /* 75255 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26727 /* 75259 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26728 /* 75262 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26729 /* 75266 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26730 /* 75270 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26731 /* 75274 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26732 /* 75278 */ // MIs[3] Operand 1
26733 /* 75278 */ // No operand predicates
26734 /* 75278 */ // MIs[0] src1
26735 /* 75278 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26736 /* 75283 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26737 /* 75285 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26738 /* 75292 */ // (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)
26739 /* 75292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64mi),
26740 /* 75295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26741 /* 75299 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26742 /* 75302 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26743 /* 75305 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26744 /* 75312 */ GIR_RootConstrainSelectedInstOperands,
26745 /* 75313 */ // GIR_Coverage, 648,
26746 /* 75313 */ GIR_EraseRootFromParent_Done,
26747 /* 75314 */ // Label 2110: @75314
26748 /* 75314 */ GIM_Reject,
26749 /* 75315 */ // Label 2103: @75315
26750 /* 75315 */ GIM_Try, /*On fail goto*//*Label 2111*/ GIMT_Encode4(76123),
26751 /* 75320 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26752 /* 75323 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26753 /* 75330 */ GIM_Try, /*On fail goto*//*Label 2112*/ GIMT_Encode4(75418), // Rule ID 22634 //
26754 /* 75335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26755 /* 75339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26756 /* 75343 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26757 /* 75347 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26758 /* 75351 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26759 /* 75355 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26760 /* 75359 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26761 /* 75362 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26762 /* 75366 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26763 /* 75373 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26764 /* 75377 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26765 /* 75382 */ // MIs[0] dst
26766 /* 75382 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26767 /* 75387 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26768 /* 75389 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26769 /* 75396 */ // (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)
26770 /* 75396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
26771 /* 75399 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26772 /* 75403 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26773 /* 75407 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26774 /* 75410 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26775 /* 75416 */ GIR_RootConstrainSelectedInstOperands,
26776 /* 75417 */ // GIR_Coverage, 22634,
26777 /* 75417 */ GIR_EraseRootFromParent_Done,
26778 /* 75418 */ // Label 2112: @75418
26779 /* 75418 */ GIM_Try, /*On fail goto*//*Label 2113*/ GIMT_Encode4(75506), // Rule ID 26249 //
26780 /* 75423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26781 /* 75427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26782 /* 75431 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26783 /* 75435 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26784 /* 75439 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26785 /* 75444 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26786 /* 75448 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26787 /* 75452 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26788 /* 75455 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26789 /* 75459 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26790 /* 75466 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26791 /* 75470 */ // MIs[0] dst
26792 /* 75470 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26793 /* 75475 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26794 /* 75477 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26795 /* 75484 */ // (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)
26796 /* 75484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
26797 /* 75487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26798 /* 75491 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26799 /* 75495 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26800 /* 75498 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26801 /* 75504 */ GIR_RootConstrainSelectedInstOperands,
26802 /* 75505 */ // GIR_Coverage, 26249,
26803 /* 75505 */ GIR_EraseRootFromParent_Done,
26804 /* 75506 */ // Label 2113: @75506
26805 /* 75506 */ GIM_Try, /*On fail goto*//*Label 2114*/ GIMT_Encode4(75594), // Rule ID 22642 //
26806 /* 75511 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26807 /* 75515 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26808 /* 75519 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26809 /* 75523 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26810 /* 75527 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26811 /* 75531 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26812 /* 75535 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26813 /* 75538 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26814 /* 75542 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26815 /* 75549 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26816 /* 75553 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26817 /* 75558 */ // MIs[0] dst
26818 /* 75558 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26819 /* 75563 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26820 /* 75565 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26821 /* 75572 */ // (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)
26822 /* 75572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
26823 /* 75575 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26824 /* 75579 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26825 /* 75583 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26826 /* 75586 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26827 /* 75592 */ GIR_RootConstrainSelectedInstOperands,
26828 /* 75593 */ // GIR_Coverage, 22642,
26829 /* 75593 */ GIR_EraseRootFromParent_Done,
26830 /* 75594 */ // Label 2114: @75594
26831 /* 75594 */ GIM_Try, /*On fail goto*//*Label 2115*/ GIMT_Encode4(75682), // Rule ID 26253 //
26832 /* 75599 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26833 /* 75603 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26834 /* 75607 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26835 /* 75611 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26836 /* 75615 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26837 /* 75620 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26838 /* 75624 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26839 /* 75628 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26840 /* 75631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26841 /* 75635 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26842 /* 75642 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26843 /* 75646 */ // MIs[0] dst
26844 /* 75646 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26845 /* 75651 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26846 /* 75653 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26847 /* 75660 */ // (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)
26848 /* 75660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
26849 /* 75663 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26850 /* 75667 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26851 /* 75671 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26852 /* 75674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26853 /* 75680 */ GIR_RootConstrainSelectedInstOperands,
26854 /* 75681 */ // GIR_Coverage, 26253,
26855 /* 75681 */ GIR_EraseRootFromParent_Done,
26856 /* 75682 */ // Label 2115: @75682
26857 /* 75682 */ GIM_Try, /*On fail goto*//*Label 2116*/ GIMT_Encode4(75770), // Rule ID 22650 //
26858 /* 75687 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26859 /* 75691 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26860 /* 75695 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26861 /* 75699 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26862 /* 75703 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26863 /* 75707 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26864 /* 75711 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26865 /* 75714 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26866 /* 75718 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26867 /* 75725 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26868 /* 75729 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26869 /* 75734 */ // MIs[0] dst
26870 /* 75734 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26871 /* 75739 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26872 /* 75741 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26873 /* 75748 */ // (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)
26874 /* 75748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
26875 /* 75751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26876 /* 75755 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26877 /* 75759 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26878 /* 75762 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26879 /* 75768 */ GIR_RootConstrainSelectedInstOperands,
26880 /* 75769 */ // GIR_Coverage, 22650,
26881 /* 75769 */ GIR_EraseRootFromParent_Done,
26882 /* 75770 */ // Label 2116: @75770
26883 /* 75770 */ GIM_Try, /*On fail goto*//*Label 2117*/ GIMT_Encode4(75858), // Rule ID 26257 //
26884 /* 75775 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26885 /* 75779 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26886 /* 75783 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26887 /* 75787 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26888 /* 75791 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26889 /* 75796 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26890 /* 75800 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26891 /* 75804 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26892 /* 75807 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26893 /* 75811 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26894 /* 75818 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26895 /* 75822 */ // MIs[0] dst
26896 /* 75822 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26897 /* 75827 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26898 /* 75829 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26899 /* 75836 */ // (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)
26900 /* 75836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
26901 /* 75839 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26902 /* 75843 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26903 /* 75847 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26904 /* 75850 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26905 /* 75856 */ GIR_RootConstrainSelectedInstOperands,
26906 /* 75857 */ // GIR_Coverage, 26257,
26907 /* 75857 */ GIR_EraseRootFromParent_Done,
26908 /* 75858 */ // Label 2117: @75858
26909 /* 75858 */ GIM_Try, /*On fail goto*//*Label 2118*/ GIMT_Encode4(75946), // Rule ID 22666 //
26910 /* 75863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26911 /* 75867 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26912 /* 75871 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26913 /* 75875 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26914 /* 75879 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26915 /* 75883 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26916 /* 75887 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26917 /* 75890 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26918 /* 75894 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26919 /* 75901 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26920 /* 75905 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26921 /* 75910 */ // MIs[0] dst
26922 /* 75910 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26923 /* 75915 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26924 /* 75917 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26925 /* 75924 */ // (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)
26926 /* 75924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mr),
26927 /* 75927 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26928 /* 75931 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26929 /* 75935 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26930 /* 75938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26931 /* 75944 */ GIR_RootConstrainSelectedInstOperands,
26932 /* 75945 */ // GIR_Coverage, 22666,
26933 /* 75945 */ GIR_EraseRootFromParent_Done,
26934 /* 75946 */ // Label 2118: @75946
26935 /* 75946 */ GIM_Try, /*On fail goto*//*Label 2119*/ GIMT_Encode4(76034), // Rule ID 22658 //
26936 /* 75951 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26937 /* 75955 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26938 /* 75959 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26939 /* 75963 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26940 /* 75967 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26941 /* 75971 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26942 /* 75975 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26943 /* 75978 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26944 /* 75982 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26945 /* 75989 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26946 /* 75993 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26947 /* 75998 */ // MIs[0] dst
26948 /* 75998 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26949 /* 76003 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26950 /* 76005 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26951 /* 76012 */ // (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)
26952 /* 76012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
26953 /* 76015 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26954 /* 76019 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26955 /* 76023 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26956 /* 76026 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26957 /* 76032 */ GIR_RootConstrainSelectedInstOperands,
26958 /* 76033 */ // GIR_Coverage, 22658,
26959 /* 76033 */ GIR_EraseRootFromParent_Done,
26960 /* 76034 */ // Label 2119: @76034
26961 /* 76034 */ GIM_Try, /*On fail goto*//*Label 2120*/ GIMT_Encode4(76122), // Rule ID 26261 //
26962 /* 76039 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26963 /* 76043 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26964 /* 76047 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26965 /* 76051 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26966 /* 76055 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
26967 /* 76060 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26968 /* 76064 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26969 /* 76068 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26970 /* 76071 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26971 /* 76075 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26972 /* 76082 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26973 /* 76086 */ // MIs[0] dst
26974 /* 76086 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26975 /* 76091 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26976 /* 76093 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26977 /* 76100 */ // (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)
26978 /* 76100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
26979 /* 76103 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26980 /* 76107 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26981 /* 76111 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26982 /* 76114 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26983 /* 76120 */ GIR_RootConstrainSelectedInstOperands,
26984 /* 76121 */ // GIR_Coverage, 26261,
26985 /* 76121 */ GIR_EraseRootFromParent_Done,
26986 /* 76122 */ // Label 2120: @76122
26987 /* 76122 */ GIM_Reject,
26988 /* 76123 */ // Label 2111: @76123
26989 /* 76123 */ GIM_Try, /*On fail goto*//*Label 2121*/ GIMT_Encode4(77538),
26990 /* 76128 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26991 /* 76131 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26992 /* 76135 */ GIM_Try, /*On fail goto*//*Label 2122*/ GIMT_Encode4(76239), // Rule ID 814 //
26993 /* 76140 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26994 /* 76144 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
26995 /* 76148 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26996 /* 76152 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26997 /* 76156 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
26998 /* 76160 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26999 /* 76164 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27000 /* 76168 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27001 /* 76171 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27002 /* 76175 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27003 /* 76179 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27004 /* 76184 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27005 /* 76189 */ // MIs[0] src1
27006 /* 76189 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27007 /* 76194 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27008 /* 76196 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27009 /* 76203 */ // (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)
27010 /* 76203 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27011 /* 76207 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27012 /* 76213 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
27013 /* 76217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64mrCL),
27014 /* 76220 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27015 /* 76224 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27016 /* 76228 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27017 /* 76231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27018 /* 76237 */ GIR_RootConstrainSelectedInstOperands,
27019 /* 76238 */ // GIR_Coverage, 814,
27020 /* 76238 */ GIR_EraseRootFromParent_Done,
27021 /* 76239 */ // Label 2122: @76239
27022 /* 76239 */ GIM_Try, /*On fail goto*//*Label 2123*/ GIMT_Encode4(76343), // Rule ID 838 //
27023 /* 76244 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27024 /* 76248 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
27025 /* 76252 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27026 /* 76256 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27027 /* 76260 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
27028 /* 76264 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27029 /* 76269 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27030 /* 76273 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27031 /* 76277 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27032 /* 76280 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27033 /* 76284 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27034 /* 76288 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27035 /* 76293 */ // MIs[0] src1
27036 /* 76293 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27037 /* 76298 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27038 /* 76300 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27039 /* 76307 */ // (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)
27040 /* 76307 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27041 /* 76311 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27042 /* 76317 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
27043 /* 76321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64mrCL),
27044 /* 76324 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27045 /* 76328 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27046 /* 76332 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27047 /* 76335 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27048 /* 76341 */ GIR_RootConstrainSelectedInstOperands,
27049 /* 76342 */ // GIR_Coverage, 838,
27050 /* 76342 */ GIR_EraseRootFromParent_Done,
27051 /* 76343 */ // Label 2123: @76343
27052 /* 76343 */ GIM_Try, /*On fail goto*//*Label 2124*/ GIMT_Encode4(76424), // Rule ID 410 //
27053 /* 76348 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27054 /* 76352 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27055 /* 76356 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27056 /* 76360 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27057 /* 76364 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27058 /* 76368 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27059 /* 76372 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27060 /* 76375 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27061 /* 76379 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27062 /* 76383 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27063 /* 76388 */ // MIs[0] src1
27064 /* 76388 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27065 /* 76393 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27066 /* 76395 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27067 /* 76402 */ // (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)
27068 /* 76402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
27069 /* 76405 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27070 /* 76409 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27071 /* 76413 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27072 /* 76416 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27073 /* 76422 */ GIR_RootConstrainSelectedInstOperands,
27074 /* 76423 */ // GIR_Coverage, 410,
27075 /* 76423 */ GIR_EraseRootFromParent_Done,
27076 /* 76424 */ // Label 2124: @76424
27077 /* 76424 */ GIM_Try, /*On fail goto*//*Label 2125*/ GIMT_Encode4(76505), // Rule ID 23465 //
27078 /* 76429 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27079 /* 76433 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27080 /* 76437 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27081 /* 76441 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27082 /* 76445 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27083 /* 76450 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27084 /* 76454 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27085 /* 76458 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27086 /* 76461 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27087 /* 76465 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27088 /* 76469 */ // MIs[0] src1
27089 /* 76469 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27090 /* 76474 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27091 /* 76476 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27092 /* 76483 */ // (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)
27093 /* 76483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
27094 /* 76486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27095 /* 76490 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27096 /* 76494 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27097 /* 76497 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27098 /* 76503 */ GIR_RootConstrainSelectedInstOperands,
27099 /* 76504 */ // GIR_Coverage, 23465,
27100 /* 76504 */ GIR_EraseRootFromParent_Done,
27101 /* 76505 */ // Label 2125: @76505
27102 /* 76505 */ GIM_Try, /*On fail goto*//*Label 2126*/ GIMT_Encode4(76586), // Rule ID 302 //
27103 /* 76510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27104 /* 76514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27105 /* 76518 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27106 /* 76522 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27107 /* 76526 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27108 /* 76530 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27109 /* 76534 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27110 /* 76537 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27111 /* 76541 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27112 /* 76545 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27113 /* 76550 */ // MIs[0] src1
27114 /* 76550 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27115 /* 76555 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27116 /* 76557 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27117 /* 76564 */ // (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)
27118 /* 76564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
27119 /* 76567 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27120 /* 76571 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27121 /* 76575 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27122 /* 76578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27123 /* 76584 */ GIR_RootConstrainSelectedInstOperands,
27124 /* 76585 */ // GIR_Coverage, 302,
27125 /* 76585 */ GIR_EraseRootFromParent_Done,
27126 /* 76586 */ // Label 2126: @76586
27127 /* 76586 */ GIM_Try, /*On fail goto*//*Label 2127*/ GIMT_Encode4(76667), // Rule ID 23429 //
27128 /* 76591 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27129 /* 76595 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27130 /* 76599 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27131 /* 76603 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27132 /* 76607 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27133 /* 76612 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27134 /* 76616 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27135 /* 76620 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27136 /* 76623 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27137 /* 76627 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27138 /* 76631 */ // MIs[0] src1
27139 /* 76631 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27140 /* 76636 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27141 /* 76638 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27142 /* 76645 */ // (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)
27143 /* 76645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
27144 /* 76648 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27145 /* 76652 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27146 /* 76656 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27147 /* 76659 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27148 /* 76665 */ GIR_RootConstrainSelectedInstOperands,
27149 /* 76666 */ // GIR_Coverage, 23429,
27150 /* 76666 */ GIR_EraseRootFromParent_Done,
27151 /* 76667 */ // Label 2127: @76667
27152 /* 76667 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2128*/ GIMT_Encode4(76760), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 728 //
27153 /* 76674 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27154 /* 76678 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
27155 /* 76682 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27156 /* 76686 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27157 /* 76690 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27158 /* 76694 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27159 /* 76698 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27160 /* 76701 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27161 /* 76705 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27162 /* 76709 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27163 /* 76714 */ // MIs[0] src1
27164 /* 76714 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27165 /* 76719 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27166 /* 76721 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27167 /* 76728 */ // (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)
27168 /* 76728 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27169 /* 76732 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27170 /* 76738 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27171 /* 76742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64mCL),
27172 /* 76745 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27173 /* 76749 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27174 /* 76752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27175 /* 76758 */ GIR_RootConstrainSelectedInstOperands,
27176 /* 76759 */ // GIR_Coverage, 728,
27177 /* 76759 */ GIR_EraseRootFromParent_Done,
27178 /* 76760 */ // Label 2128: @76760
27179 /* 76760 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2129*/ GIMT_Encode4(76853), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 696 //
27180 /* 76767 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27181 /* 76771 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
27182 /* 76775 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27183 /* 76779 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27184 /* 76783 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27185 /* 76787 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27186 /* 76791 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27187 /* 76794 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27188 /* 76798 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27189 /* 76802 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27190 /* 76807 */ // MIs[0] src1
27191 /* 76807 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27192 /* 76812 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27193 /* 76814 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27194 /* 76821 */ // (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)
27195 /* 76821 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27196 /* 76825 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27197 /* 76831 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27198 /* 76835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64mCL),
27199 /* 76838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27200 /* 76842 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27201 /* 76845 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27202 /* 76851 */ GIR_RootConstrainSelectedInstOperands,
27203 /* 76852 */ // GIR_Coverage, 696,
27204 /* 76852 */ GIR_EraseRootFromParent_Done,
27205 /* 76853 */ // Label 2129: @76853
27206 /* 76853 */ GIM_Try, /*On fail goto*//*Label 2130*/ GIMT_Encode4(76934), // Rule ID 338 //
27207 /* 76858 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27208 /* 76862 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27209 /* 76866 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27210 /* 76870 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27211 /* 76874 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27212 /* 76878 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27213 /* 76882 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27214 /* 76885 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27215 /* 76889 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27216 /* 76893 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27217 /* 76898 */ // MIs[0] src1
27218 /* 76898 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27219 /* 76903 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27220 /* 76905 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27221 /* 76912 */ // (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)
27222 /* 76912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
27223 /* 76915 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27224 /* 76919 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27225 /* 76923 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27226 /* 76926 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27227 /* 76932 */ GIR_RootConstrainSelectedInstOperands,
27228 /* 76933 */ // GIR_Coverage, 338,
27229 /* 76933 */ GIR_EraseRootFromParent_Done,
27230 /* 76934 */ // Label 2130: @76934
27231 /* 76934 */ GIM_Try, /*On fail goto*//*Label 2131*/ GIMT_Encode4(77015), // Rule ID 23441 //
27232 /* 76939 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27233 /* 76943 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27234 /* 76947 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27235 /* 76951 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27236 /* 76955 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27237 /* 76960 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27238 /* 76964 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27239 /* 76968 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27240 /* 76971 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27241 /* 76975 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27242 /* 76979 */ // MIs[0] src1
27243 /* 76979 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27244 /* 76984 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27245 /* 76986 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27246 /* 76993 */ // (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)
27247 /* 76993 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
27248 /* 76996 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27249 /* 77000 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27250 /* 77004 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27251 /* 77007 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27252 /* 77013 */ GIR_RootConstrainSelectedInstOperands,
27253 /* 77014 */ // GIR_Coverage, 23441,
27254 /* 77014 */ GIR_EraseRootFromParent_Done,
27255 /* 77015 */ // Label 2131: @77015
27256 /* 77015 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2132*/ GIMT_Encode4(77108), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 760 //
27257 /* 77022 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27258 /* 77026 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
27259 /* 77030 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27260 /* 77034 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27261 /* 77038 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27262 /* 77042 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27263 /* 77046 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27264 /* 77049 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27265 /* 77053 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27266 /* 77057 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27267 /* 77062 */ // MIs[0] src1
27268 /* 77062 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27269 /* 77067 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27270 /* 77069 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27271 /* 77076 */ // (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)
27272 /* 77076 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27273 /* 77080 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27274 /* 77086 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27275 /* 77090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64mCL),
27276 /* 77093 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27277 /* 77097 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27278 /* 77100 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27279 /* 77106 */ GIR_RootConstrainSelectedInstOperands,
27280 /* 77107 */ // GIR_Coverage, 760,
27281 /* 77107 */ GIR_EraseRootFromParent_Done,
27282 /* 77108 */ // Label 2132: @77108
27283 /* 77108 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2133*/ GIMT_Encode4(77201), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 792 //
27284 /* 77115 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27285 /* 77119 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
27286 /* 77123 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27287 /* 77127 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27288 /* 77131 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27289 /* 77135 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27290 /* 77139 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27291 /* 77142 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27292 /* 77146 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27293 /* 77150 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27294 /* 77155 */ // MIs[0] src1
27295 /* 77155 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27296 /* 77160 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27297 /* 77162 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27298 /* 77169 */ // (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)
27299 /* 77169 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27300 /* 77173 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27301 /* 77179 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27302 /* 77183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64mCL),
27303 /* 77186 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27304 /* 77190 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27305 /* 77193 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27306 /* 77199 */ GIR_RootConstrainSelectedInstOperands,
27307 /* 77200 */ // GIR_Coverage, 792,
27308 /* 77200 */ GIR_EraseRootFromParent_Done,
27309 /* 77201 */ // Label 2133: @77201
27310 /* 77201 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2134*/ GIMT_Encode4(77294), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 664 //
27311 /* 77208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27312 /* 77212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
27313 /* 77216 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27314 /* 77220 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27315 /* 77224 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27316 /* 77228 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27317 /* 77232 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27318 /* 77235 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27319 /* 77239 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27320 /* 77243 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27321 /* 77248 */ // MIs[0] src1
27322 /* 77248 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27323 /* 77253 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27324 /* 77255 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27325 /* 77262 */ // (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)
27326 /* 77262 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27327 /* 77266 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27328 /* 77272 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27329 /* 77276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64mCL),
27330 /* 77279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27331 /* 77283 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27332 /* 77286 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27333 /* 77292 */ GIR_RootConstrainSelectedInstOperands,
27334 /* 77293 */ // GIR_Coverage, 664,
27335 /* 77293 */ GIR_EraseRootFromParent_Done,
27336 /* 77294 */ // Label 2134: @77294
27337 /* 77294 */ GIM_Try, /*On fail goto*//*Label 2135*/ GIMT_Encode4(77375), // Rule ID 446 //
27338 /* 77299 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27339 /* 77303 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
27340 /* 77307 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27341 /* 77311 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27342 /* 77315 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27343 /* 77319 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27344 /* 77323 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27345 /* 77326 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27346 /* 77330 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27347 /* 77334 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27348 /* 77339 */ // MIs[0] src1
27349 /* 77339 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27350 /* 77344 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27351 /* 77346 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27352 /* 77353 */ // (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)
27353 /* 77353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mr),
27354 /* 77356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27355 /* 77360 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27356 /* 77364 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27357 /* 77367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27358 /* 77373 */ GIR_RootConstrainSelectedInstOperands,
27359 /* 77374 */ // GIR_Coverage, 446,
27360 /* 77374 */ GIR_EraseRootFromParent_Done,
27361 /* 77375 */ // Label 2135: @77375
27362 /* 77375 */ GIM_Try, /*On fail goto*//*Label 2136*/ GIMT_Encode4(77456), // Rule ID 374 //
27363 /* 77380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27364 /* 77384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27365 /* 77388 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27366 /* 77392 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27367 /* 77396 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27368 /* 77400 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27369 /* 77404 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27370 /* 77407 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27371 /* 77411 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27372 /* 77415 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27373 /* 77420 */ // MIs[0] src1
27374 /* 77420 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27375 /* 77425 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27376 /* 77427 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27377 /* 77434 */ // (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)
27378 /* 77434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
27379 /* 77437 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27380 /* 77441 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27381 /* 77445 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27382 /* 77448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27383 /* 77454 */ GIR_RootConstrainSelectedInstOperands,
27384 /* 77455 */ // GIR_Coverage, 374,
27385 /* 77455 */ GIR_EraseRootFromParent_Done,
27386 /* 77456 */ // Label 2136: @77456
27387 /* 77456 */ GIM_Try, /*On fail goto*//*Label 2137*/ GIMT_Encode4(77537), // Rule ID 23453 //
27388 /* 77461 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27389 /* 77465 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27390 /* 77469 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27391 /* 77473 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27392 /* 77477 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27393 /* 77482 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27394 /* 77486 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27395 /* 77490 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27396 /* 77493 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27397 /* 77497 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27398 /* 77501 */ // MIs[0] src1
27399 /* 77501 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27400 /* 77506 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27401 /* 77508 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27402 /* 77515 */ // (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)
27403 /* 77515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
27404 /* 77518 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27405 /* 77522 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27406 /* 77526 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27407 /* 77529 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27408 /* 77535 */ GIR_RootConstrainSelectedInstOperands,
27409 /* 77536 */ // GIR_Coverage, 23453,
27410 /* 77536 */ GIR_EraseRootFromParent_Done,
27411 /* 77537 */ // Label 2137: @77537
27412 /* 77537 */ GIM_Reject,
27413 /* 77538 */ // Label 2121: @77538
27414 /* 77538 */ GIM_Try, /*On fail goto*//*Label 2138*/ GIMT_Encode4(77754),
27415 /* 77543 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27416 /* 77546 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27417 /* 77553 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27418 /* 77557 */ GIM_Try, /*On fail goto*//*Label 2139*/ GIMT_Encode4(77600), // Rule ID 22710 //
27419 /* 77562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27420 /* 77566 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27421 /* 77570 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27422 /* 77574 */ // MIs[1] Operand 1
27423 /* 77574 */ // No operand predicates
27424 /* 77574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27425 /* 77576 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27426 /* 77583 */ // (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)
27427 /* 77583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mi32),
27428 /* 77586 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27429 /* 77590 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
27430 /* 77593 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27431 /* 77598 */ GIR_RootConstrainSelectedInstOperands,
27432 /* 77599 */ // GIR_Coverage, 22710,
27433 /* 77599 */ GIR_EraseRootFromParent_Done,
27434 /* 77600 */ // Label 2139: @77600
27435 /* 77600 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2140*/ GIMT_Encode4(77651), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 22734 //
27436 /* 77607 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27437 /* 77611 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
27438 /* 77615 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27439 /* 77619 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
27440 /* 77624 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27441 /* 77626 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27442 /* 77633 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (MOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
27443 /* 77633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDmr),
27444 /* 77636 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27445 /* 77640 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27446 /* 77644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27447 /* 77649 */ GIR_RootConstrainSelectedInstOperands,
27448 /* 77650 */ // GIR_Coverage, 22734,
27449 /* 77650 */ GIR_EraseRootFromParent_Done,
27450 /* 77651 */ // Label 2140: @77651
27451 /* 77651 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2141*/ GIMT_Encode4(77702), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22735 //
27452 /* 77658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27453 /* 77662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
27454 /* 77666 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27455 /* 77670 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
27456 /* 77675 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27457 /* 77677 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27458 /* 77684 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
27459 /* 77684 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
27460 /* 77687 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27461 /* 77691 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27462 /* 77695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27463 /* 77700 */ GIR_RootConstrainSelectedInstOperands,
27464 /* 77701 */ // GIR_Coverage, 22735,
27465 /* 77701 */ GIR_EraseRootFromParent_Done,
27466 /* 77702 */ // Label 2141: @77702
27467 /* 77702 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2142*/ GIMT_Encode4(77753), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22736 //
27468 /* 77709 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27469 /* 77713 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
27470 /* 77717 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27471 /* 77721 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
27472 /* 77726 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27473 /* 77728 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27474 /* 77735 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
27475 /* 77735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
27476 /* 77738 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27477 /* 77742 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27478 /* 77746 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27479 /* 77751 */ GIR_RootConstrainSelectedInstOperands,
27480 /* 77752 */ // GIR_Coverage, 22736,
27481 /* 77752 */ GIR_EraseRootFromParent_Done,
27482 /* 77753 */ // Label 2142: @77753
27483 /* 77753 */ GIM_Reject,
27484 /* 77754 */ // Label 2138: @77754
27485 /* 77754 */ GIM_Try, /*On fail goto*//*Label 2143*/ GIMT_Encode4(77873),
27486 /* 77759 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27487 /* 77762 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27488 /* 77766 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27489 /* 77770 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2144*/ GIMT_Encode4(77821), GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR), // Rule ID 54 //
27490 /* 77777 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27491 /* 77781 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
27492 /* 77785 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27493 /* 77789 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27494 /* 77794 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27495 /* 77796 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27496 /* 77803 */ // (st (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src1)
27497 /* 77803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64mr),
27498 /* 77806 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27499 /* 77810 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
27500 /* 77814 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27501 /* 77819 */ GIR_RootConstrainSelectedInstOperands,
27502 /* 77820 */ // GIR_Coverage, 54,
27503 /* 77820 */ GIR_EraseRootFromParent_Done,
27504 /* 77821 */ // Label 2144: @77821
27505 /* 77821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2145*/ GIMT_Encode4(77872), GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode), // Rule ID 60 //
27506 /* 77828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27507 /* 77832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
27508 /* 77836 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27509 /* 77840 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27510 /* 77845 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27511 /* 77847 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27512 /* 77854 */ // (st (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE64mr_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src1)
27513 /* 77854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64mr_EVEX),
27514 /* 77857 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27515 /* 77861 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
27516 /* 77865 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27517 /* 77870 */ GIR_RootConstrainSelectedInstOperands,
27518 /* 77871 */ // GIR_Coverage, 60,
27519 /* 77871 */ GIR_EraseRootFromParent_Done,
27520 /* 77872 */ // Label 2145: @77872
27521 /* 77872 */ GIM_Reject,
27522 /* 77873 */ // Label 2143: @77873
27523 /* 77873 */ GIM_Try, /*On fail goto*//*Label 2146*/ GIMT_Encode4(77918), // Rule ID 22714 //
27524 /* 77878 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27525 /* 77881 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27526 /* 77888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27527 /* 77892 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27528 /* 77896 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27529 /* 77903 */ // (atomic_store GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (MOV64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
27530 /* 77903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mr),
27531 /* 77906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27532 /* 77910 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27533 /* 77912 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27534 /* 77916 */ GIR_RootConstrainSelectedInstOperands,
27535 /* 77917 */ // GIR_Coverage, 22714,
27536 /* 77917 */ GIR_EraseRootFromParent_Done,
27537 /* 77918 */ // Label 2146: @77918
27538 /* 77918 */ GIM_Try, /*On fail goto*//*Label 2147*/ GIMT_Encode4(78115),
27539 /* 77923 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27540 /* 77926 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27541 /* 77930 */ GIM_Try, /*On fail goto*//*Label 2148*/ GIMT_Encode4(77965), // Rule ID 35 //
27542 /* 77935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27543 /* 77939 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27544 /* 77943 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27545 /* 77950 */ // (st GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
27546 /* 77950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mr),
27547 /* 77953 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27548 /* 77957 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27549 /* 77959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27550 /* 77963 */ GIR_RootConstrainSelectedInstOperands,
27551 /* 77964 */ // GIR_Coverage, 35,
27552 /* 77964 */ GIR_EraseRootFromParent_Done,
27553 /* 77965 */ // Label 2148: @77965
27554 /* 77965 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2149*/ GIMT_Encode4(78005), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1073 //
27555 /* 77972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
27556 /* 77976 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27557 /* 77980 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27558 /* 77987 */ // (st RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_Fp64m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
27559 /* 77987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp64m),
27560 /* 77990 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
27561 /* 77994 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27562 /* 77996 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
27563 /* 77999 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27564 /* 78003 */ GIR_RootConstrainSelectedInstOperands,
27565 /* 78004 */ // GIR_Coverage, 1073,
27566 /* 78004 */ GIR_EraseRootFromParent_Done,
27567 /* 78005 */ // Label 2149: @78005
27568 /* 78005 */ GIM_Try, /*On fail goto*//*Label 2150*/ GIMT_Encode4(78077),
27569 /* 78010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
27570 /* 78014 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27571 /* 78018 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2151*/ GIMT_Encode4(78047), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1667 //
27572 /* 78025 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27573 /* 78032 */ // (st FR64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
27574 /* 78032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
27575 /* 78035 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27576 /* 78039 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27577 /* 78041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27578 /* 78045 */ GIR_RootConstrainSelectedInstOperands,
27579 /* 78046 */ // GIR_Coverage, 1667,
27580 /* 78046 */ GIR_EraseRootFromParent_Done,
27581 /* 78047 */ // Label 2151: @78047
27582 /* 78047 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2152*/ GIMT_Encode4(78076), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1669 //
27583 /* 78054 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27584 /* 78061 */ // (st FR64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
27585 /* 78061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDmr),
27586 /* 78064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27587 /* 78068 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27588 /* 78070 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27589 /* 78074 */ GIR_RootConstrainSelectedInstOperands,
27590 /* 78075 */ // GIR_Coverage, 1669,
27591 /* 78075 */ GIR_EraseRootFromParent_Done,
27592 /* 78076 */ // Label 2152: @78076
27593 /* 78076 */ GIM_Reject,
27594 /* 78077 */ // Label 2150: @78077
27595 /* 78077 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2153*/ GIMT_Encode4(78114), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4617 //
27596 /* 78084 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
27597 /* 78088 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27598 /* 78092 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27599 /* 78099 */ // (st FR64X:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSDZmr addr:{ *:[iPTR] }:$dst, FR64X:{ *:[f64] }:$src)
27600 /* 78099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZmr),
27601 /* 78102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27602 /* 78106 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27603 /* 78108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27604 /* 78112 */ GIR_RootConstrainSelectedInstOperands,
27605 /* 78113 */ // GIR_Coverage, 4617,
27606 /* 78113 */ GIR_EraseRootFromParent_Done,
27607 /* 78114 */ // Label 2153: @78114
27608 /* 78114 */ GIM_Reject,
27609 /* 78115 */ // Label 2147: @78115
27610 /* 78115 */ GIM_Reject,
27611 /* 78116 */ // Label 1860: @78116
27612 /* 78116 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2154*/ GIMT_Encode4(78163), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1076 //
27613 /* 78123 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27614 /* 78126 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27615 /* 78130 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
27616 /* 78134 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27617 /* 78138 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27618 /* 78145 */ // (st RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_FpP80m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
27619 /* 78145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_FpP80m),
27620 /* 78148 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
27621 /* 78152 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27622 /* 78154 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
27623 /* 78157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27624 /* 78161 */ GIR_RootConstrainSelectedInstOperands,
27625 /* 78162 */ // GIR_Coverage, 1076,
27626 /* 78162 */ GIR_EraseRootFromParent_Done,
27627 /* 78163 */ // Label 2154: @78163
27628 /* 78163 */ GIM_Reject,
27629 /* 78164 */ // Label 1861: @78164
27630 /* 78164 */ GIM_Try, /*On fail goto*//*Label 2155*/ GIMT_Encode4(78405),
27631 /* 78169 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27632 /* 78172 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27633 /* 78176 */ GIM_Try, /*On fail goto*//*Label 2156*/ GIMT_Encode4(78295),
27634 /* 78181 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
27635 /* 78185 */ GIM_Try, /*On fail goto*//*Label 2157*/ GIMT_Encode4(78257),
27636 /* 78190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
27637 /* 78194 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27638 /* 78198 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2158*/ GIMT_Encode4(78227), GIMT_Encode2(GIFBS_NoAVX), // Rule ID 23379 //
27639 /* 78205 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27640 /* 78212 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
27641 /* 78212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
27642 /* 78215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27643 /* 78219 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27644 /* 78221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27645 /* 78225 */ GIR_RootConstrainSelectedInstOperands,
27646 /* 78226 */ // GIR_Coverage, 23379,
27647 /* 78226 */ GIR_EraseRootFromParent_Done,
27648 /* 78227 */ // Label 2158: @78227
27649 /* 78227 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2159*/ GIMT_Encode4(78256), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23384 //
27650 /* 78234 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27651 /* 78241 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
27652 /* 78241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
27653 /* 78244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27654 /* 78248 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27655 /* 78250 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27656 /* 78254 */ GIR_RootConstrainSelectedInstOperands,
27657 /* 78255 */ // GIR_Coverage, 23384,
27658 /* 78255 */ GIR_EraseRootFromParent_Done,
27659 /* 78256 */ // Label 2159: @78256
27660 /* 78256 */ GIM_Reject,
27661 /* 78257 */ // Label 2157: @78257
27662 /* 78257 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2160*/ GIMT_Encode4(78294), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 23389 //
27663 /* 78264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
27664 /* 78268 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27665 /* 78272 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27666 /* 78279 */ // (st VR128X:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[f128] }:$src)
27667 /* 78279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
27668 /* 78282 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27669 /* 78286 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27670 /* 78288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27671 /* 78292 */ GIR_RootConstrainSelectedInstOperands,
27672 /* 78293 */ // GIR_Coverage, 23389,
27673 /* 78293 */ GIR_EraseRootFromParent_Done,
27674 /* 78294 */ // Label 2160: @78294
27675 /* 78294 */ GIM_Reject,
27676 /* 78295 */ // Label 2156: @78295
27677 /* 78295 */ GIM_Try, /*On fail goto*//*Label 2161*/ GIMT_Encode4(78367),
27678 /* 78300 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
27679 /* 78304 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27680 /* 78308 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2162*/ GIMT_Encode4(78337), GIMT_Encode2(GIFBS_NoAVX), // Rule ID 23381 //
27681 /* 78315 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27682 /* 78322 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
27683 /* 78322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
27684 /* 78325 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27685 /* 78329 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27686 /* 78331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27687 /* 78335 */ GIR_RootConstrainSelectedInstOperands,
27688 /* 78336 */ // GIR_Coverage, 23381,
27689 /* 78336 */ GIR_EraseRootFromParent_Done,
27690 /* 78337 */ // Label 2162: @78337
27691 /* 78337 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2163*/ GIMT_Encode4(78366), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23386 //
27692 /* 78344 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27693 /* 78351 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
27694 /* 78351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
27695 /* 78354 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27696 /* 78358 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27697 /* 78360 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27698 /* 78364 */ GIR_RootConstrainSelectedInstOperands,
27699 /* 78365 */ // GIR_Coverage, 23386,
27700 /* 78365 */ GIR_EraseRootFromParent_Done,
27701 /* 78366 */ // Label 2163: @78366
27702 /* 78366 */ GIM_Reject,
27703 /* 78367 */ // Label 2161: @78367
27704 /* 78367 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2164*/ GIMT_Encode4(78404), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 23391 //
27705 /* 78374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
27706 /* 78378 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27707 /* 78382 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27708 /* 78389 */ // (st VR128X:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[f128] }:$src)
27709 /* 78389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
27710 /* 78392 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27711 /* 78396 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27712 /* 78398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27713 /* 78402 */ GIR_RootConstrainSelectedInstOperands,
27714 /* 78403 */ // GIR_Coverage, 23391,
27715 /* 78403 */ GIR_EraseRootFromParent_Done,
27716 /* 78404 */ // Label 2164: @78404
27717 /* 78404 */ GIM_Reject,
27718 /* 78405 */ // Label 2155: @78405
27719 /* 78405 */ GIM_Try, /*On fail goto*//*Label 2165*/ GIMT_Encode4(78527),
27720 /* 78410 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27721 /* 78413 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
27722 /* 78417 */ GIM_Try, /*On fail goto*//*Label 2166*/ GIMT_Encode4(78489),
27723 /* 78422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
27724 /* 78426 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27725 /* 78430 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2167*/ GIMT_Encode4(78459), GIMT_Encode2(GIFBS_NoAVX), // Rule ID 23380 //
27726 /* 78437 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27727 /* 78444 */ // (atomic_store VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
27728 /* 78444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
27729 /* 78447 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27730 /* 78451 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27731 /* 78453 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27732 /* 78457 */ GIR_RootConstrainSelectedInstOperands,
27733 /* 78458 */ // GIR_Coverage, 23380,
27734 /* 78458 */ GIR_EraseRootFromParent_Done,
27735 /* 78459 */ // Label 2167: @78459
27736 /* 78459 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2168*/ GIMT_Encode4(78488), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23385 //
27737 /* 78466 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27738 /* 78473 */ // (atomic_store VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
27739 /* 78473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
27740 /* 78476 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27741 /* 78480 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27742 /* 78482 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27743 /* 78486 */ GIR_RootConstrainSelectedInstOperands,
27744 /* 78487 */ // GIR_Coverage, 23385,
27745 /* 78487 */ GIR_EraseRootFromParent_Done,
27746 /* 78488 */ // Label 2168: @78488
27747 /* 78488 */ GIM_Reject,
27748 /* 78489 */ // Label 2166: @78489
27749 /* 78489 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2169*/ GIMT_Encode4(78526), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 23390 //
27750 /* 78496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
27751 /* 78500 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27752 /* 78504 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27753 /* 78511 */ // (atomic_store VR128X:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[f128] }:$src)
27754 /* 78511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
27755 /* 78514 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27756 /* 78518 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27757 /* 78520 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27758 /* 78524 */ GIR_RootConstrainSelectedInstOperands,
27759 /* 78525 */ // GIR_Coverage, 23390,
27760 /* 78525 */ GIR_EraseRootFromParent_Done,
27761 /* 78526 */ // Label 2169: @78526
27762 /* 78526 */ GIM_Reject,
27763 /* 78527 */ // Label 2165: @78527
27764 /* 78527 */ GIM_Reject,
27765 /* 78528 */ // Label 1862: @78528
27766 /* 78528 */ GIM_Try, /*On fail goto*//*Label 2170*/ GIMT_Encode4(78607),
27767 /* 78533 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27768 /* 78536 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27769 /* 78540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
27770 /* 78544 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27771 /* 78548 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2171*/ GIMT_Encode4(78577), GIMT_Encode2(GIFBS_HasDQI_NoEGPR), // Rule ID 4384 //
27772 /* 78555 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27773 /* 78562 */ // (st VK8:{ *:[v8i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVBmk addr:{ *:[iPTR] }:$dst, VK8:{ *:[v8i1] }:$src)
27774 /* 78562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBmk),
27775 /* 78565 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27776 /* 78569 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27777 /* 78571 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27778 /* 78575 */ GIR_RootConstrainSelectedInstOperands,
27779 /* 78576 */ // GIR_Coverage, 4384,
27780 /* 78576 */ GIR_EraseRootFromParent_Done,
27781 /* 78577 */ // Label 2171: @78577
27782 /* 78577 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2172*/ GIMT_Encode4(78606), GIMT_Encode2(GIFBS_HasDQI_HasEGPR_In64BitMode), // Rule ID 4386 //
27783 /* 78584 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27784 /* 78591 */ // (st VK8:{ *:[v8i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVBmk_EVEX addr:{ *:[iPTR] }:$dst, VK8:{ *:[v8i1] }:$src)
27785 /* 78591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBmk_EVEX),
27786 /* 78594 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27787 /* 78598 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27788 /* 78600 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27789 /* 78604 */ GIR_RootConstrainSelectedInstOperands,
27790 /* 78605 */ // GIR_Coverage, 4386,
27791 /* 78605 */ GIR_EraseRootFromParent_Done,
27792 /* 78606 */ // Label 2172: @78606
27793 /* 78606 */ GIM_Reject,
27794 /* 78607 */ // Label 2170: @78607
27795 /* 78607 */ GIM_Reject,
27796 /* 78608 */ // Label 1863: @78608
27797 /* 78608 */ GIM_Try, /*On fail goto*//*Label 2173*/ GIMT_Encode4(78687),
27798 /* 78613 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27799 /* 78616 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27800 /* 78620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
27801 /* 78624 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27802 /* 78628 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2174*/ GIMT_Encode4(78657), GIMT_Encode2(GIFBS_HasAVX512_NoEGPR), // Rule ID 4388 //
27803 /* 78635 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27804 /* 78642 */ // (st VK16:{ *:[v16i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVWmk addr:{ *:[iPTR] }:$dst, VK16:{ *:[v16i1] }:$src)
27805 /* 78642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWmk),
27806 /* 78645 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27807 /* 78649 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27808 /* 78651 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27809 /* 78655 */ GIR_RootConstrainSelectedInstOperands,
27810 /* 78656 */ // GIR_Coverage, 4388,
27811 /* 78656 */ GIR_EraseRootFromParent_Done,
27812 /* 78657 */ // Label 2174: @78657
27813 /* 78657 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2175*/ GIMT_Encode4(78686), GIMT_Encode2(GIFBS_HasAVX512_HasEGPR_In64BitMode), // Rule ID 4390 //
27814 /* 78664 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27815 /* 78671 */ // (st VK16:{ *:[v16i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVWmk_EVEX addr:{ *:[iPTR] }:$dst, VK16:{ *:[v16i1] }:$src)
27816 /* 78671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWmk_EVEX),
27817 /* 78674 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27818 /* 78678 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27819 /* 78680 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27820 /* 78684 */ GIR_RootConstrainSelectedInstOperands,
27821 /* 78685 */ // GIR_Coverage, 4390,
27822 /* 78685 */ GIR_EraseRootFromParent_Done,
27823 /* 78686 */ // Label 2175: @78686
27824 /* 78686 */ GIM_Reject,
27825 /* 78687 */ // Label 2173: @78687
27826 /* 78687 */ GIM_Reject,
27827 /* 78688 */ // Label 1864: @78688
27828 /* 78688 */ GIM_Try, /*On fail goto*//*Label 2176*/ GIMT_Encode4(78767),
27829 /* 78693 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27830 /* 78696 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27831 /* 78700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
27832 /* 78704 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27833 /* 78708 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2177*/ GIMT_Encode4(78737), GIMT_Encode2(GIFBS_HasBWI_NoEGPR), // Rule ID 4392 //
27834 /* 78715 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27835 /* 78722 */ // (st VK32:{ *:[v32i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVDmk addr:{ *:[iPTR] }:$dst, VK32:{ *:[v32i1] }:$src)
27836 /* 78722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDmk),
27837 /* 78725 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27838 /* 78729 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27839 /* 78731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27840 /* 78735 */ GIR_RootConstrainSelectedInstOperands,
27841 /* 78736 */ // GIR_Coverage, 4392,
27842 /* 78736 */ GIR_EraseRootFromParent_Done,
27843 /* 78737 */ // Label 2177: @78737
27844 /* 78737 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2178*/ GIMT_Encode4(78766), GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode), // Rule ID 4396 //
27845 /* 78744 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27846 /* 78751 */ // (st VK32:{ *:[v32i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVDmk_EVEX addr:{ *:[iPTR] }:$dst, VK32:{ *:[v32i1] }:$src)
27847 /* 78751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDmk_EVEX),
27848 /* 78754 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27849 /* 78758 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27850 /* 78760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27851 /* 78764 */ GIR_RootConstrainSelectedInstOperands,
27852 /* 78765 */ // GIR_Coverage, 4396,
27853 /* 78765 */ GIR_EraseRootFromParent_Done,
27854 /* 78766 */ // Label 2178: @78766
27855 /* 78766 */ GIM_Reject,
27856 /* 78767 */ // Label 2176: @78767
27857 /* 78767 */ GIM_Reject,
27858 /* 78768 */ // Label 1865: @78768
27859 /* 78768 */ GIM_Try, /*On fail goto*//*Label 2179*/ GIMT_Encode4(78847),
27860 /* 78773 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27861 /* 78776 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27862 /* 78780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
27863 /* 78784 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27864 /* 78788 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2180*/ GIMT_Encode4(78817), GIMT_Encode2(GIFBS_HasBWI_NoEGPR), // Rule ID 4394 //
27865 /* 78795 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27866 /* 78802 */ // (st VK64:{ *:[v64i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVQmk addr:{ *:[iPTR] }:$dst, VK64:{ *:[v64i1] }:$src)
27867 /* 78802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQmk),
27868 /* 78805 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27869 /* 78809 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27870 /* 78811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27871 /* 78815 */ GIR_RootConstrainSelectedInstOperands,
27872 /* 78816 */ // GIR_Coverage, 4394,
27873 /* 78816 */ GIR_EraseRootFromParent_Done,
27874 /* 78817 */ // Label 2180: @78817
27875 /* 78817 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2181*/ GIMT_Encode4(78846), GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode), // Rule ID 4398 //
27876 /* 78824 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27877 /* 78831 */ // (st VK64:{ *:[v64i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVQmk_EVEX addr:{ *:[iPTR] }:$dst, VK64:{ *:[v64i1] }:$src)
27878 /* 78831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQmk_EVEX),
27879 /* 78834 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27880 /* 78838 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27881 /* 78840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27882 /* 78844 */ GIR_RootConstrainSelectedInstOperands,
27883 /* 78845 */ // GIR_Coverage, 4398,
27884 /* 78845 */ GIR_EraseRootFromParent_Done,
27885 /* 78846 */ // Label 2181: @78846
27886 /* 78846 */ GIM_Reject,
27887 /* 78847 */ // Label 2179: @78847
27888 /* 78847 */ GIM_Reject,
27889 /* 78848 */ // Label 1866: @78848
27890 /* 78848 */ GIM_Try, /*On fail goto*//*Label 2182*/ GIMT_Encode4(79089),
27891 /* 78853 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27892 /* 78856 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27893 /* 78860 */ GIM_Try, /*On fail goto*//*Label 2183*/ GIMT_Encode4(78979),
27894 /* 78865 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
27895 /* 78869 */ GIM_Try, /*On fail goto*//*Label 2184*/ GIMT_Encode4(78941),
27896 /* 78874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
27897 /* 78878 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27898 /* 78882 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2185*/ GIMT_Encode4(78911), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18017 //
27899 /* 78889 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27900 /* 78896 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
27901 /* 78896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
27902 /* 78899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27903 /* 78903 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27904 /* 78905 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27905 /* 78909 */ GIR_RootConstrainSelectedInstOperands,
27906 /* 78910 */ // GIR_Coverage, 18017,
27907 /* 78910 */ GIR_EraseRootFromParent_Done,
27908 /* 78911 */ // Label 2185: @78911
27909 /* 78911 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2186*/ GIMT_Encode4(78940), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18426 //
27910 /* 78918 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27911 /* 78925 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
27912 /* 78925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
27913 /* 78928 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27914 /* 78932 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27915 /* 78934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27916 /* 78938 */ GIR_RootConstrainSelectedInstOperands,
27917 /* 78939 */ // GIR_Coverage, 18426,
27918 /* 78939 */ GIR_EraseRootFromParent_Done,
27919 /* 78940 */ // Label 2186: @78940
27920 /* 78940 */ GIM_Reject,
27921 /* 78941 */ // Label 2184: @78941
27922 /* 78941 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2187*/ GIMT_Encode4(78978), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19941 //
27923 /* 78948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
27924 /* 78952 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27925 /* 78956 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27926 /* 78963 */ // (st VR128X:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v16i8] }:$src)
27927 /* 78963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
27928 /* 78966 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27929 /* 78970 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27930 /* 78972 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27931 /* 78976 */ GIR_RootConstrainSelectedInstOperands,
27932 /* 78977 */ // GIR_Coverage, 19941,
27933 /* 78977 */ GIR_EraseRootFromParent_Done,
27934 /* 78978 */ // Label 2187: @78978
27935 /* 78978 */ GIM_Reject,
27936 /* 78979 */ // Label 2183: @78979
27937 /* 78979 */ GIM_Try, /*On fail goto*//*Label 2188*/ GIMT_Encode4(79051),
27938 /* 78984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
27939 /* 78988 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27940 /* 78992 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2189*/ GIMT_Encode4(79021), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18022 //
27941 /* 78999 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27942 /* 79006 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
27943 /* 79006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
27944 /* 79009 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27945 /* 79013 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27946 /* 79015 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27947 /* 79019 */ GIR_RootConstrainSelectedInstOperands,
27948 /* 79020 */ // GIR_Coverage, 18022,
27949 /* 79020 */ GIR_EraseRootFromParent_Done,
27950 /* 79021 */ // Label 2189: @79021
27951 /* 79021 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2190*/ GIMT_Encode4(79050), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18431 //
27952 /* 79028 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27953 /* 79035 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
27954 /* 79035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
27955 /* 79038 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27956 /* 79042 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27957 /* 79044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27958 /* 79048 */ GIR_RootConstrainSelectedInstOperands,
27959 /* 79049 */ // GIR_Coverage, 18431,
27960 /* 79049 */ GIR_EraseRootFromParent_Done,
27961 /* 79050 */ // Label 2190: @79050
27962 /* 79050 */ GIM_Reject,
27963 /* 79051 */ // Label 2188: @79051
27964 /* 79051 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2191*/ GIMT_Encode4(79088), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19946 //
27965 /* 79058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
27966 /* 79062 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27967 /* 79066 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27968 /* 79073 */ // (st VR128X:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v16i8] }:$src)
27969 /* 79073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
27970 /* 79076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27971 /* 79080 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27972 /* 79082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27973 /* 79086 */ GIR_RootConstrainSelectedInstOperands,
27974 /* 79087 */ // GIR_Coverage, 19946,
27975 /* 79087 */ GIR_EraseRootFromParent_Done,
27976 /* 79088 */ // Label 2191: @79088
27977 /* 79088 */ GIM_Reject,
27978 /* 79089 */ // Label 2182: @79089
27979 /* 79089 */ GIM_Try, /*On fail goto*//*Label 2192*/ GIMT_Encode4(79211),
27980 /* 79094 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27981 /* 79097 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
27982 /* 79101 */ GIM_Try, /*On fail goto*//*Label 2193*/ GIMT_Encode4(79173),
27983 /* 79106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
27984 /* 79110 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27985 /* 79114 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2194*/ GIMT_Encode4(79143), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18018 //
27986 /* 79121 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27987 /* 79128 */ // (atomic_store VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
27988 /* 79128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
27989 /* 79131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27990 /* 79135 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27991 /* 79137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27992 /* 79141 */ GIR_RootConstrainSelectedInstOperands,
27993 /* 79142 */ // GIR_Coverage, 18018,
27994 /* 79142 */ GIR_EraseRootFromParent_Done,
27995 /* 79143 */ // Label 2194: @79143
27996 /* 79143 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2195*/ GIMT_Encode4(79172), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18427 //
27997 /* 79150 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27998 /* 79157 */ // (atomic_store VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
27999 /* 79157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28000 /* 79160 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28001 /* 79164 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28002 /* 79166 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28003 /* 79170 */ GIR_RootConstrainSelectedInstOperands,
28004 /* 79171 */ // GIR_Coverage, 18427,
28005 /* 79171 */ GIR_EraseRootFromParent_Done,
28006 /* 79172 */ // Label 2195: @79172
28007 /* 79172 */ GIM_Reject,
28008 /* 79173 */ // Label 2193: @79173
28009 /* 79173 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2196*/ GIMT_Encode4(79210), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19942 //
28010 /* 79180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28011 /* 79184 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28012 /* 79188 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28013 /* 79195 */ // (atomic_store VR128X:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v16i8] }:$src)
28014 /* 79195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
28015 /* 79198 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28016 /* 79202 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28017 /* 79204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28018 /* 79208 */ GIR_RootConstrainSelectedInstOperands,
28019 /* 79209 */ // GIR_Coverage, 19942,
28020 /* 79209 */ GIR_EraseRootFromParent_Done,
28021 /* 79210 */ // Label 2196: @79210
28022 /* 79210 */ GIM_Reject,
28023 /* 79211 */ // Label 2192: @79211
28024 /* 79211 */ GIM_Reject,
28025 /* 79212 */ // Label 1867: @79212
28026 /* 79212 */ GIM_Try, /*On fail goto*//*Label 2197*/ GIMT_Encode4(79383),
28027 /* 79217 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28028 /* 79220 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28029 /* 79224 */ GIM_Try, /*On fail goto*//*Label 2198*/ GIMT_Encode4(79308),
28030 /* 79229 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
28031 /* 79233 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2199*/ GIMT_Encode4(79270), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17987 //
28032 /* 79240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28033 /* 79244 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28034 /* 79248 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28035 /* 79255 */ // (st VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
28036 /* 79255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
28037 /* 79258 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28038 /* 79262 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28039 /* 79264 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28040 /* 79268 */ GIR_RootConstrainSelectedInstOperands,
28041 /* 79269 */ // GIR_Coverage, 17987,
28042 /* 79269 */ GIR_EraseRootFromParent_Done,
28043 /* 79270 */ // Label 2199: @79270
28044 /* 79270 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2200*/ GIMT_Encode4(79307), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19961 //
28045 /* 79277 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28046 /* 79281 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28047 /* 79285 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28048 /* 79292 */ // (st VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
28049 /* 79292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
28050 /* 79295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28051 /* 79299 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28052 /* 79301 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28053 /* 79305 */ GIR_RootConstrainSelectedInstOperands,
28054 /* 79306 */ // GIR_Coverage, 19961,
28055 /* 79306 */ GIR_EraseRootFromParent_Done,
28056 /* 79307 */ // Label 2200: @79307
28057 /* 79307 */ GIM_Reject,
28058 /* 79308 */ // Label 2198: @79308
28059 /* 79308 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2201*/ GIMT_Encode4(79345), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17992 //
28060 /* 79315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28061 /* 79319 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28062 /* 79323 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28063 /* 79330 */ // (st VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
28064 /* 79330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
28065 /* 79333 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28066 /* 79337 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28067 /* 79339 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28068 /* 79343 */ GIR_RootConstrainSelectedInstOperands,
28069 /* 79344 */ // GIR_Coverage, 17992,
28070 /* 79344 */ GIR_EraseRootFromParent_Done,
28071 /* 79345 */ // Label 2201: @79345
28072 /* 79345 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2202*/ GIMT_Encode4(79382), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19966 //
28073 /* 79352 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28074 /* 79356 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28075 /* 79360 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28076 /* 79367 */ // (st VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
28077 /* 79367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
28078 /* 79370 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28079 /* 79374 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28080 /* 79376 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28081 /* 79380 */ GIR_RootConstrainSelectedInstOperands,
28082 /* 79381 */ // GIR_Coverage, 19966,
28083 /* 79381 */ GIR_EraseRootFromParent_Done,
28084 /* 79382 */ // Label 2202: @79382
28085 /* 79382 */ GIM_Reject,
28086 /* 79383 */ // Label 2197: @79383
28087 /* 79383 */ GIM_Try, /*On fail goto*//*Label 2203*/ GIMT_Encode4(79470),
28088 /* 79388 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28089 /* 79391 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
28090 /* 79395 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2204*/ GIMT_Encode4(79432), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17988 //
28091 /* 79402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28092 /* 79406 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28093 /* 79410 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28094 /* 79417 */ // (atomic_store VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
28095 /* 79417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
28096 /* 79420 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28097 /* 79424 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28098 /* 79426 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28099 /* 79430 */ GIR_RootConstrainSelectedInstOperands,
28100 /* 79431 */ // GIR_Coverage, 17988,
28101 /* 79431 */ GIR_EraseRootFromParent_Done,
28102 /* 79432 */ // Label 2204: @79432
28103 /* 79432 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2205*/ GIMT_Encode4(79469), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19962 //
28104 /* 79439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28105 /* 79443 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28106 /* 79447 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28107 /* 79454 */ // (atomic_store VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
28108 /* 79454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
28109 /* 79457 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28110 /* 79461 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28111 /* 79463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28112 /* 79467 */ GIR_RootConstrainSelectedInstOperands,
28113 /* 79468 */ // GIR_Coverage, 19962,
28114 /* 79468 */ GIR_EraseRootFromParent_Done,
28115 /* 79469 */ // Label 2205: @79469
28116 /* 79469 */ GIM_Reject,
28117 /* 79470 */ // Label 2203: @79470
28118 /* 79470 */ GIM_Reject,
28119 /* 79471 */ // Label 1868: @79471
28120 /* 79471 */ GIM_Try, /*On fail goto*//*Label 2206*/ GIMT_Encode4(79562),
28121 /* 79476 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28122 /* 79479 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28123 /* 79483 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2207*/ GIMT_Encode4(79524), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19921 //
28124 /* 79490 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
28125 /* 79494 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
28126 /* 79498 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28127 /* 79502 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28128 /* 79509 */ // (st VR512:{ *:[v64i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore512>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src)
28129 /* 79509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
28130 /* 79512 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28131 /* 79516 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28132 /* 79518 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28133 /* 79522 */ GIR_RootConstrainSelectedInstOperands,
28134 /* 79523 */ // GIR_Coverage, 19921,
28135 /* 79523 */ GIR_EraseRootFromParent_Done,
28136 /* 79524 */ // Label 2207: @79524
28137 /* 79524 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2208*/ GIMT_Encode4(79561), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19926 //
28138 /* 79531 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
28139 /* 79535 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28140 /* 79539 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28141 /* 79546 */ // (st VR512:{ *:[v64i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src)
28142 /* 79546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
28143 /* 79549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28144 /* 79553 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28145 /* 79555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28146 /* 79559 */ GIR_RootConstrainSelectedInstOperands,
28147 /* 79560 */ // GIR_Coverage, 19926,
28148 /* 79560 */ GIR_EraseRootFromParent_Done,
28149 /* 79561 */ // Label 2208: @79561
28150 /* 79561 */ GIM_Reject,
28151 /* 79562 */ // Label 2206: @79562
28152 /* 79562 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2209*/ GIMT_Encode4(79606), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19922 //
28153 /* 79569 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28154 /* 79572 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
28155 /* 79576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
28156 /* 79580 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28157 /* 79584 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28158 /* 79591 */ // (atomic_store VR512:{ *:[v64i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore512>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src)
28159 /* 79591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
28160 /* 79594 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28161 /* 79598 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28162 /* 79600 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28163 /* 79604 */ GIR_RootConstrainSelectedInstOperands,
28164 /* 79605 */ // GIR_Coverage, 19922,
28165 /* 79605 */ GIR_EraseRootFromParent_Done,
28166 /* 79606 */ // Label 2209: @79606
28167 /* 79606 */ GIM_Reject,
28168 /* 79607 */ // Label 1869: @79607
28169 /* 79607 */ GIM_Try, /*On fail goto*//*Label 2210*/ GIMT_Encode4(80092),
28170 /* 79612 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28171 /* 79615 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28172 /* 79619 */ GIM_Try, /*On fail goto*//*Label 2211*/ GIMT_Encode4(79860),
28173 /* 79624 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
28174 /* 79628 */ GIM_Try, /*On fail goto*//*Label 2212*/ GIMT_Encode4(79787),
28175 /* 79633 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28176 /* 79637 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28177 /* 79641 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2213*/ GIMT_Encode4(79670), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17995 //
28178 /* 79648 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28179 /* 79655 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28180 /* 79655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
28181 /* 79658 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28182 /* 79662 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28183 /* 79664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28184 /* 79668 */ GIR_RootConstrainSelectedInstOperands,
28185 /* 79669 */ // GIR_Coverage, 17995,
28186 /* 79669 */ GIR_EraseRootFromParent_Done,
28187 /* 79670 */ // Label 2213: @79670
28188 /* 79670 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2214*/ GIMT_Encode4(79699), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18015 //
28189 /* 79677 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28190 /* 79684 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
28191 /* 79684 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28192 /* 79687 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28193 /* 79691 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28194 /* 79693 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28195 /* 79697 */ GIR_RootConstrainSelectedInstOperands,
28196 /* 79698 */ // GIR_Coverage, 18015,
28197 /* 79698 */ GIR_EraseRootFromParent_Done,
28198 /* 79699 */ // Label 2214: @79699
28199 /* 79699 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2215*/ GIMT_Encode4(79728), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18025 //
28200 /* 79706 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28201 /* 79713 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28202 /* 79713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28203 /* 79716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28204 /* 79720 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28205 /* 79722 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28206 /* 79726 */ GIR_RootConstrainSelectedInstOperands,
28207 /* 79727 */ // GIR_Coverage, 18025,
28208 /* 79727 */ GIR_EraseRootFromParent_Done,
28209 /* 79728 */ // Label 2215: @79728
28210 /* 79728 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2216*/ GIMT_Encode4(79757), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18422 //
28211 /* 79735 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28212 /* 79742 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
28213 /* 79742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28214 /* 79745 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28215 /* 79749 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28216 /* 79751 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28217 /* 79755 */ GIR_RootConstrainSelectedInstOperands,
28218 /* 79756 */ // GIR_Coverage, 18422,
28219 /* 79756 */ GIR_EraseRootFromParent_Done,
28220 /* 79757 */ // Label 2216: @79757
28221 /* 79757 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2217*/ GIMT_Encode4(79786), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18424 //
28222 /* 79764 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28223 /* 79771 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28224 /* 79771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28225 /* 79774 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28226 /* 79778 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28227 /* 79780 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28228 /* 79784 */ GIR_RootConstrainSelectedInstOperands,
28229 /* 79785 */ // GIR_Coverage, 18424,
28230 /* 79785 */ GIR_EraseRootFromParent_Done,
28231 /* 79786 */ // Label 2217: @79786
28232 /* 79786 */ GIM_Reject,
28233 /* 79787 */ // Label 2212: @79787
28234 /* 79787 */ GIM_Try, /*On fail goto*//*Label 2218*/ GIMT_Encode4(79859),
28235 /* 79792 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28236 /* 79796 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28237 /* 79800 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2219*/ GIMT_Encode4(79829), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19937 //
28238 /* 79807 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28239 /* 79814 */ // (st VR128X:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8i16] }:$src)
28240 /* 79814 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
28241 /* 79817 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28242 /* 79821 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28243 /* 79823 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28244 /* 79827 */ GIR_RootConstrainSelectedInstOperands,
28245 /* 79828 */ // GIR_Coverage, 19937,
28246 /* 79828 */ GIR_EraseRootFromParent_Done,
28247 /* 79829 */ // Label 2219: @79829
28248 /* 79829 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2220*/ GIMT_Encode4(79858), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19939 //
28249 /* 79836 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28250 /* 79843 */ // (st VR128X:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8f16] }:$src)
28251 /* 79843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
28252 /* 79846 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28253 /* 79850 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28254 /* 79852 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28255 /* 79856 */ GIR_RootConstrainSelectedInstOperands,
28256 /* 79857 */ // GIR_Coverage, 19939,
28257 /* 79857 */ GIR_EraseRootFromParent_Done,
28258 /* 79858 */ // Label 2220: @79858
28259 /* 79858 */ GIM_Reject,
28260 /* 79859 */ // Label 2218: @79859
28261 /* 79859 */ GIM_Reject,
28262 /* 79860 */ // Label 2211: @79860
28263 /* 79860 */ GIM_Try, /*On fail goto*//*Label 2221*/ GIMT_Encode4(80019),
28264 /* 79865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28265 /* 79869 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28266 /* 79873 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2222*/ GIMT_Encode4(79902), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17997 //
28267 /* 79880 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28268 /* 79887 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28269 /* 79887 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
28270 /* 79890 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28271 /* 79894 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28272 /* 79896 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28273 /* 79900 */ GIR_RootConstrainSelectedInstOperands,
28274 /* 79901 */ // GIR_Coverage, 17997,
28275 /* 79901 */ GIR_EraseRootFromParent_Done,
28276 /* 79902 */ // Label 2222: @79902
28277 /* 79902 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2223*/ GIMT_Encode4(79931), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18021 //
28278 /* 79909 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28279 /* 79916 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
28280 /* 79916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
28281 /* 79919 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28282 /* 79923 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28283 /* 79925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28284 /* 79929 */ GIR_RootConstrainSelectedInstOperands,
28285 /* 79930 */ // GIR_Coverage, 18021,
28286 /* 79930 */ GIR_EraseRootFromParent_Done,
28287 /* 79931 */ // Label 2223: @79931
28288 /* 79931 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2224*/ GIMT_Encode4(79960), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18027 //
28289 /* 79938 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28290 /* 79945 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28291 /* 79945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
28292 /* 79948 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28293 /* 79952 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28294 /* 79954 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28295 /* 79958 */ GIR_RootConstrainSelectedInstOperands,
28296 /* 79959 */ // GIR_Coverage, 18027,
28297 /* 79959 */ GIR_EraseRootFromParent_Done,
28298 /* 79960 */ // Label 2224: @79960
28299 /* 79960 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2225*/ GIMT_Encode4(79989), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18429 //
28300 /* 79967 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28301 /* 79974 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
28302 /* 79974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
28303 /* 79977 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28304 /* 79981 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28305 /* 79983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28306 /* 79987 */ GIR_RootConstrainSelectedInstOperands,
28307 /* 79988 */ // GIR_Coverage, 18429,
28308 /* 79988 */ GIR_EraseRootFromParent_Done,
28309 /* 79989 */ // Label 2225: @79989
28310 /* 79989 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2226*/ GIMT_Encode4(80018), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18430 //
28311 /* 79996 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28312 /* 80003 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28313 /* 80003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
28314 /* 80006 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28315 /* 80010 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28316 /* 80012 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28317 /* 80016 */ GIR_RootConstrainSelectedInstOperands,
28318 /* 80017 */ // GIR_Coverage, 18430,
28319 /* 80017 */ GIR_EraseRootFromParent_Done,
28320 /* 80018 */ // Label 2226: @80018
28321 /* 80018 */ GIM_Reject,
28322 /* 80019 */ // Label 2221: @80019
28323 /* 80019 */ GIM_Try, /*On fail goto*//*Label 2227*/ GIMT_Encode4(80091),
28324 /* 80024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28325 /* 80028 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28326 /* 80032 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2228*/ GIMT_Encode4(80061), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19944 //
28327 /* 80039 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28328 /* 80046 */ // (st VR128X:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8i16] }:$src)
28329 /* 80046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
28330 /* 80049 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28331 /* 80053 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28332 /* 80055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28333 /* 80059 */ GIR_RootConstrainSelectedInstOperands,
28334 /* 80060 */ // GIR_Coverage, 19944,
28335 /* 80060 */ GIR_EraseRootFromParent_Done,
28336 /* 80061 */ // Label 2228: @80061
28337 /* 80061 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2229*/ GIMT_Encode4(80090), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19945 //
28338 /* 80068 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28339 /* 80075 */ // (st VR128X:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8f16] }:$src)
28340 /* 80075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
28341 /* 80078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28342 /* 80082 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28343 /* 80084 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28344 /* 80088 */ GIR_RootConstrainSelectedInstOperands,
28345 /* 80089 */ // GIR_Coverage, 19945,
28346 /* 80089 */ GIR_EraseRootFromParent_Done,
28347 /* 80090 */ // Label 2229: @80090
28348 /* 80090 */ GIM_Reject,
28349 /* 80091 */ // Label 2227: @80091
28350 /* 80091 */ GIM_Reject,
28351 /* 80092 */ // Label 2210: @80092
28352 /* 80092 */ GIM_Try, /*On fail goto*//*Label 2230*/ GIMT_Encode4(80336),
28353 /* 80097 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28354 /* 80100 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
28355 /* 80104 */ GIM_Try, /*On fail goto*//*Label 2231*/ GIMT_Encode4(80263),
28356 /* 80109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28357 /* 80113 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28358 /* 80117 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2232*/ GIMT_Encode4(80146), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17996 //
28359 /* 80124 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28360 /* 80131 */ // (atomic_store VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28361 /* 80131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
28362 /* 80134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28363 /* 80138 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28364 /* 80140 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28365 /* 80144 */ GIR_RootConstrainSelectedInstOperands,
28366 /* 80145 */ // GIR_Coverage, 17996,
28367 /* 80145 */ GIR_EraseRootFromParent_Done,
28368 /* 80146 */ // Label 2232: @80146
28369 /* 80146 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2233*/ GIMT_Encode4(80175), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18016 //
28370 /* 80153 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28371 /* 80160 */ // (atomic_store VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
28372 /* 80160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28373 /* 80163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28374 /* 80167 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28375 /* 80169 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28376 /* 80173 */ GIR_RootConstrainSelectedInstOperands,
28377 /* 80174 */ // GIR_Coverage, 18016,
28378 /* 80174 */ GIR_EraseRootFromParent_Done,
28379 /* 80175 */ // Label 2233: @80175
28380 /* 80175 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2234*/ GIMT_Encode4(80204), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 18026 //
28381 /* 80182 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28382 /* 80189 */ // (atomic_store VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28383 /* 80189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28384 /* 80192 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28385 /* 80196 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28386 /* 80198 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28387 /* 80202 */ GIR_RootConstrainSelectedInstOperands,
28388 /* 80203 */ // GIR_Coverage, 18026,
28389 /* 80203 */ GIR_EraseRootFromParent_Done,
28390 /* 80204 */ // Label 2234: @80204
28391 /* 80204 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2235*/ GIMT_Encode4(80233), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18423 //
28392 /* 80211 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28393 /* 80218 */ // (atomic_store VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
28394 /* 80218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28395 /* 80221 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28396 /* 80225 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28397 /* 80227 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28398 /* 80231 */ GIR_RootConstrainSelectedInstOperands,
28399 /* 80232 */ // GIR_Coverage, 18423,
28400 /* 80232 */ GIR_EraseRootFromParent_Done,
28401 /* 80233 */ // Label 2235: @80233
28402 /* 80233 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2236*/ GIMT_Encode4(80262), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18425 //
28403 /* 80240 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28404 /* 80247 */ // (atomic_store VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
28405 /* 80247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28406 /* 80250 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28407 /* 80254 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28408 /* 80256 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28409 /* 80260 */ GIR_RootConstrainSelectedInstOperands,
28410 /* 80261 */ // GIR_Coverage, 18425,
28411 /* 80261 */ GIR_EraseRootFromParent_Done,
28412 /* 80262 */ // Label 2236: @80262
28413 /* 80262 */ GIM_Reject,
28414 /* 80263 */ // Label 2231: @80263
28415 /* 80263 */ GIM_Try, /*On fail goto*//*Label 2237*/ GIMT_Encode4(80335),
28416 /* 80268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28417 /* 80272 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28418 /* 80276 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2238*/ GIMT_Encode4(80305), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19938 //
28419 /* 80283 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28420 /* 80290 */ // (atomic_store VR128X:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8i16] }:$src)
28421 /* 80290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
28422 /* 80293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28423 /* 80297 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28424 /* 80299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28425 /* 80303 */ GIR_RootConstrainSelectedInstOperands,
28426 /* 80304 */ // GIR_Coverage, 19938,
28427 /* 80304 */ GIR_EraseRootFromParent_Done,
28428 /* 80305 */ // Label 2238: @80305
28429 /* 80305 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2239*/ GIMT_Encode4(80334), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19940 //
28430 /* 80312 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28431 /* 80319 */ // (atomic_store VR128X:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8f16] }:$src)
28432 /* 80319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
28433 /* 80322 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28434 /* 80326 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28435 /* 80328 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28436 /* 80332 */ GIR_RootConstrainSelectedInstOperands,
28437 /* 80333 */ // GIR_Coverage, 19940,
28438 /* 80333 */ GIR_EraseRootFromParent_Done,
28439 /* 80334 */ // Label 2239: @80334
28440 /* 80334 */ GIM_Reject,
28441 /* 80335 */ // Label 2237: @80335
28442 /* 80335 */ GIM_Reject,
28443 /* 80336 */ // Label 2230: @80336
28444 /* 80336 */ GIM_Reject,
28445 /* 80337 */ // Label 1870: @80337
28446 /* 80337 */ GIM_Try, /*On fail goto*//*Label 2240*/ GIMT_Encode4(80648),
28447 /* 80342 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28448 /* 80345 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28449 /* 80349 */ GIM_Try, /*On fail goto*//*Label 2241*/ GIMT_Encode4(80503),
28450 /* 80354 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
28451 /* 80358 */ GIM_Try, /*On fail goto*//*Label 2242*/ GIMT_Encode4(80430),
28452 /* 80363 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28453 /* 80367 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28454 /* 80371 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2243*/ GIMT_Encode4(80400), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17985 //
28455 /* 80378 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28456 /* 80385 */ // (st VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
28457 /* 80385 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
28458 /* 80388 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28459 /* 80392 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28460 /* 80394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28461 /* 80398 */ GIR_RootConstrainSelectedInstOperands,
28462 /* 80399 */ // GIR_Coverage, 17985,
28463 /* 80399 */ GIR_EraseRootFromParent_Done,
28464 /* 80400 */ // Label 2243: @80400
28465 /* 80400 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2244*/ GIMT_Encode4(80429), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18000 //
28466 /* 80407 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28467 /* 80414 */ // (st VR256:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16f16] }:$src)
28468 /* 80414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
28469 /* 80417 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28470 /* 80421 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28471 /* 80423 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28472 /* 80427 */ GIR_RootConstrainSelectedInstOperands,
28473 /* 80428 */ // GIR_Coverage, 18000,
28474 /* 80428 */ GIR_EraseRootFromParent_Done,
28475 /* 80429 */ // Label 2244: @80429
28476 /* 80429 */ GIM_Reject,
28477 /* 80430 */ // Label 2242: @80430
28478 /* 80430 */ GIM_Try, /*On fail goto*//*Label 2245*/ GIMT_Encode4(80502),
28479 /* 80435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28480 /* 80439 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28481 /* 80443 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2246*/ GIMT_Encode4(80472), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19957 //
28482 /* 80450 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28483 /* 80457 */ // (st VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
28484 /* 80457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
28485 /* 80460 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28486 /* 80464 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28487 /* 80466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28488 /* 80470 */ GIR_RootConstrainSelectedInstOperands,
28489 /* 80471 */ // GIR_Coverage, 19957,
28490 /* 80471 */ GIR_EraseRootFromParent_Done,
28491 /* 80472 */ // Label 2246: @80472
28492 /* 80472 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2247*/ GIMT_Encode4(80501), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19959 //
28493 /* 80479 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28494 /* 80486 */ // (st VR256X:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16f16] }:$src)
28495 /* 80486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256mr),
28496 /* 80489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28497 /* 80493 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28498 /* 80495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28499 /* 80499 */ GIR_RootConstrainSelectedInstOperands,
28500 /* 80500 */ // GIR_Coverage, 19959,
28501 /* 80500 */ GIR_EraseRootFromParent_Done,
28502 /* 80501 */ // Label 2247: @80501
28503 /* 80501 */ GIM_Reject,
28504 /* 80502 */ // Label 2245: @80502
28505 /* 80502 */ GIM_Reject,
28506 /* 80503 */ // Label 2241: @80503
28507 /* 80503 */ GIM_Try, /*On fail goto*//*Label 2248*/ GIMT_Encode4(80575),
28508 /* 80508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28509 /* 80512 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28510 /* 80516 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2249*/ GIMT_Encode4(80545), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17991 //
28511 /* 80523 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28512 /* 80530 */ // (st VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
28513 /* 80530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
28514 /* 80533 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28515 /* 80537 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28516 /* 80539 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28517 /* 80543 */ GIR_RootConstrainSelectedInstOperands,
28518 /* 80544 */ // GIR_Coverage, 17991,
28519 /* 80544 */ GIR_EraseRootFromParent_Done,
28520 /* 80545 */ // Label 2249: @80545
28521 /* 80545 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2250*/ GIMT_Encode4(80574), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18002 //
28522 /* 80552 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28523 /* 80559 */ // (st VR256:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16f16] }:$src)
28524 /* 80559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
28525 /* 80562 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28526 /* 80566 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28527 /* 80568 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28528 /* 80572 */ GIR_RootConstrainSelectedInstOperands,
28529 /* 80573 */ // GIR_Coverage, 18002,
28530 /* 80573 */ GIR_EraseRootFromParent_Done,
28531 /* 80574 */ // Label 2250: @80574
28532 /* 80574 */ GIM_Reject,
28533 /* 80575 */ // Label 2248: @80575
28534 /* 80575 */ GIM_Try, /*On fail goto*//*Label 2251*/ GIMT_Encode4(80647),
28535 /* 80580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28536 /* 80584 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28537 /* 80588 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2252*/ GIMT_Encode4(80617), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19964 //
28538 /* 80595 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28539 /* 80602 */ // (st VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
28540 /* 80602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
28541 /* 80605 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28542 /* 80609 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28543 /* 80611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28544 /* 80615 */ GIR_RootConstrainSelectedInstOperands,
28545 /* 80616 */ // GIR_Coverage, 19964,
28546 /* 80616 */ GIR_EraseRootFromParent_Done,
28547 /* 80617 */ // Label 2252: @80617
28548 /* 80617 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2253*/ GIMT_Encode4(80646), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19965 //
28549 /* 80624 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28550 /* 80631 */ // (st VR256X:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16f16] }:$src)
28551 /* 80631 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256mr),
28552 /* 80634 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28553 /* 80638 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28554 /* 80640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28555 /* 80644 */ GIR_RootConstrainSelectedInstOperands,
28556 /* 80645 */ // GIR_Coverage, 19965,
28557 /* 80645 */ GIR_EraseRootFromParent_Done,
28558 /* 80646 */ // Label 2253: @80646
28559 /* 80646 */ GIM_Reject,
28560 /* 80647 */ // Label 2251: @80647
28561 /* 80647 */ GIM_Reject,
28562 /* 80648 */ // Label 2240: @80648
28563 /* 80648 */ GIM_Try, /*On fail goto*//*Label 2254*/ GIMT_Encode4(80805),
28564 /* 80653 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28565 /* 80656 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
28566 /* 80660 */ GIM_Try, /*On fail goto*//*Label 2255*/ GIMT_Encode4(80732),
28567 /* 80665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28568 /* 80669 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28569 /* 80673 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2256*/ GIMT_Encode4(80702), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17986 //
28570 /* 80680 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28571 /* 80687 */ // (atomic_store VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
28572 /* 80687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
28573 /* 80690 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28574 /* 80694 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28575 /* 80696 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28576 /* 80700 */ GIR_RootConstrainSelectedInstOperands,
28577 /* 80701 */ // GIR_Coverage, 17986,
28578 /* 80701 */ GIR_EraseRootFromParent_Done,
28579 /* 80702 */ // Label 2256: @80702
28580 /* 80702 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2257*/ GIMT_Encode4(80731), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18001 //
28581 /* 80709 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28582 /* 80716 */ // (atomic_store VR256:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16f16] }:$src)
28583 /* 80716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
28584 /* 80719 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28585 /* 80723 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28586 /* 80725 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28587 /* 80729 */ GIR_RootConstrainSelectedInstOperands,
28588 /* 80730 */ // GIR_Coverage, 18001,
28589 /* 80730 */ GIR_EraseRootFromParent_Done,
28590 /* 80731 */ // Label 2257: @80731
28591 /* 80731 */ GIM_Reject,
28592 /* 80732 */ // Label 2255: @80732
28593 /* 80732 */ GIM_Try, /*On fail goto*//*Label 2258*/ GIMT_Encode4(80804),
28594 /* 80737 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28595 /* 80741 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28596 /* 80745 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2259*/ GIMT_Encode4(80774), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19958 //
28597 /* 80752 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28598 /* 80759 */ // (atomic_store VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
28599 /* 80759 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
28600 /* 80762 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28601 /* 80766 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28602 /* 80768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28603 /* 80772 */ GIR_RootConstrainSelectedInstOperands,
28604 /* 80773 */ // GIR_Coverage, 19958,
28605 /* 80773 */ GIR_EraseRootFromParent_Done,
28606 /* 80774 */ // Label 2259: @80774
28607 /* 80774 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2260*/ GIMT_Encode4(80803), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19960 //
28608 /* 80781 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28609 /* 80788 */ // (atomic_store VR256X:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16f16] }:$src)
28610 /* 80788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256mr),
28611 /* 80791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28612 /* 80795 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28613 /* 80797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28614 /* 80801 */ GIR_RootConstrainSelectedInstOperands,
28615 /* 80802 */ // GIR_Coverage, 19960,
28616 /* 80802 */ GIR_EraseRootFromParent_Done,
28617 /* 80803 */ // Label 2260: @80803
28618 /* 80803 */ GIM_Reject,
28619 /* 80804 */ // Label 2258: @80804
28620 /* 80804 */ GIM_Reject,
28621 /* 80805 */ // Label 2254: @80805
28622 /* 80805 */ GIM_Reject,
28623 /* 80806 */ // Label 1871: @80806
28624 /* 80806 */ GIM_Try, /*On fail goto*//*Label 2261*/ GIMT_Encode4(80967),
28625 /* 80811 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28626 /* 80814 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28627 /* 80818 */ GIM_Try, /*On fail goto*//*Label 2262*/ GIMT_Encode4(80894),
28628 /* 80823 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
28629 /* 80827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
28630 /* 80831 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28631 /* 80835 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2263*/ GIMT_Encode4(80864), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19917 //
28632 /* 80842 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28633 /* 80849 */ // (st VR512:{ *:[v32i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore512>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src)
28634 /* 80849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
28635 /* 80852 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28636 /* 80856 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28637 /* 80858 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28638 /* 80862 */ GIR_RootConstrainSelectedInstOperands,
28639 /* 80863 */ // GIR_Coverage, 19917,
28640 /* 80863 */ GIR_EraseRootFromParent_Done,
28641 /* 80864 */ // Label 2263: @80864
28642 /* 80864 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2264*/ GIMT_Encode4(80893), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19919 //
28643 /* 80871 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28644 /* 80878 */ // (st VR512:{ *:[v32f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore512>> => (VMOVAPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32f16] }:$src)
28645 /* 80878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZmr),
28646 /* 80881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28647 /* 80885 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28648 /* 80887 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28649 /* 80891 */ GIR_RootConstrainSelectedInstOperands,
28650 /* 80892 */ // GIR_Coverage, 19919,
28651 /* 80892 */ GIR_EraseRootFromParent_Done,
28652 /* 80893 */ // Label 2264: @80893
28653 /* 80893 */ GIM_Reject,
28654 /* 80894 */ // Label 2262: @80894
28655 /* 80894 */ GIM_Try, /*On fail goto*//*Label 2265*/ GIMT_Encode4(80966),
28656 /* 80899 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
28657 /* 80903 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28658 /* 80907 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2266*/ GIMT_Encode4(80936), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19924 //
28659 /* 80914 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28660 /* 80921 */ // (st VR512:{ *:[v32i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src)
28661 /* 80921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
28662 /* 80924 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28663 /* 80928 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28664 /* 80930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28665 /* 80934 */ GIR_RootConstrainSelectedInstOperands,
28666 /* 80935 */ // GIR_Coverage, 19924,
28667 /* 80935 */ GIR_EraseRootFromParent_Done,
28668 /* 80936 */ // Label 2266: @80936
28669 /* 80936 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2267*/ GIMT_Encode4(80965), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19925 //
28670 /* 80943 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28671 /* 80950 */ // (st VR512:{ *:[v32f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32f16] }:$src)
28672 /* 80950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZmr),
28673 /* 80953 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28674 /* 80957 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28675 /* 80959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28676 /* 80963 */ GIR_RootConstrainSelectedInstOperands,
28677 /* 80964 */ // GIR_Coverage, 19925,
28678 /* 80964 */ GIR_EraseRootFromParent_Done,
28679 /* 80965 */ // Label 2267: @80965
28680 /* 80965 */ GIM_Reject,
28681 /* 80966 */ // Label 2265: @80966
28682 /* 80966 */ GIM_Reject,
28683 /* 80967 */ // Label 2261: @80967
28684 /* 80967 */ GIM_Try, /*On fail goto*//*Label 2268*/ GIMT_Encode4(81046),
28685 /* 80972 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28686 /* 80975 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
28687 /* 80979 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
28688 /* 80983 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28689 /* 80987 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2269*/ GIMT_Encode4(81016), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19918 //
28690 /* 80994 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28691 /* 81001 */ // (atomic_store VR512:{ *:[v32i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore512>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src)
28692 /* 81001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
28693 /* 81004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28694 /* 81008 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28695 /* 81010 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28696 /* 81014 */ GIR_RootConstrainSelectedInstOperands,
28697 /* 81015 */ // GIR_Coverage, 19918,
28698 /* 81015 */ GIR_EraseRootFromParent_Done,
28699 /* 81016 */ // Label 2269: @81016
28700 /* 81016 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2270*/ GIMT_Encode4(81045), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19920 //
28701 /* 81023 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28702 /* 81030 */ // (atomic_store VR512:{ *:[v32f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore512>> => (VMOVAPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32f16] }:$src)
28703 /* 81030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZmr),
28704 /* 81033 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28705 /* 81037 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28706 /* 81039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28707 /* 81043 */ GIR_RootConstrainSelectedInstOperands,
28708 /* 81044 */ // GIR_Coverage, 19920,
28709 /* 81044 */ GIR_EraseRootFromParent_Done,
28710 /* 81045 */ // Label 2270: @81045
28711 /* 81045 */ GIM_Reject,
28712 /* 81046 */ // Label 2268: @81046
28713 /* 81046 */ GIM_Reject,
28714 /* 81047 */ // Label 1872: @81047
28715 /* 81047 */ GIM_Try, /*On fail goto*//*Label 2271*/ GIMT_Encode4(81506),
28716 /* 81052 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28717 /* 81055 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28718 /* 81059 */ GIM_Try, /*On fail goto*//*Label 2272*/ GIMT_Encode4(81287),
28719 /* 81064 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
28720 /* 81068 */ GIM_Try, /*On fail goto*//*Label 2273*/ GIMT_Encode4(81140),
28721 /* 81073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28722 /* 81077 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28723 /* 81081 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2274*/ GIMT_Encode4(81110), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1690 //
28724 /* 81088 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28725 /* 81095 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
28726 /* 81095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
28727 /* 81098 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28728 /* 81102 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28729 /* 81104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28730 /* 81108 */ GIR_RootConstrainSelectedInstOperands,
28731 /* 81109 */ // GIR_Coverage, 1690,
28732 /* 81109 */ GIR_EraseRootFromParent_Done,
28733 /* 81110 */ // Label 2274: @81110
28734 /* 81110 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2275*/ GIMT_Encode4(81139), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1702 //
28735 /* 81117 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28736 /* 81124 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
28737 /* 81124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28738 /* 81127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28739 /* 81131 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28740 /* 81133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28741 /* 81137 */ GIR_RootConstrainSelectedInstOperands,
28742 /* 81138 */ // GIR_Coverage, 1702,
28743 /* 81138 */ GIR_EraseRootFromParent_Done,
28744 /* 81139 */ // Label 2275: @81139
28745 /* 81139 */ GIM_Reject,
28746 /* 81140 */ // Label 2273: @81140
28747 /* 81140 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2276*/ GIMT_Encode4(81177), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4470 //
28748 /* 81147 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28749 /* 81151 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28750 /* 81155 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28751 /* 81162 */ // (st VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
28752 /* 81162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
28753 /* 81165 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28754 /* 81169 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28755 /* 81171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28756 /* 81175 */ GIR_RootConstrainSelectedInstOperands,
28757 /* 81176 */ // GIR_Coverage, 4470,
28758 /* 81176 */ GIR_EraseRootFromParent_Done,
28759 /* 81177 */ // Label 2276: @81177
28760 /* 81177 */ GIM_Try, /*On fail goto*//*Label 2277*/ GIMT_Encode4(81249),
28761 /* 81182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28762 /* 81186 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28763 /* 81190 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2278*/ GIMT_Encode4(81219), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18013 //
28764 /* 81197 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28765 /* 81204 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
28766 /* 81204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28767 /* 81207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28768 /* 81211 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28769 /* 81213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28770 /* 81217 */ GIR_RootConstrainSelectedInstOperands,
28771 /* 81218 */ // GIR_Coverage, 18013,
28772 /* 81218 */ GIR_EraseRootFromParent_Done,
28773 /* 81219 */ // Label 2278: @81219
28774 /* 81219 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2279*/ GIMT_Encode4(81248), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18420 //
28775 /* 81226 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28776 /* 81233 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
28777 /* 81233 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28778 /* 81236 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28779 /* 81240 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28780 /* 81242 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28781 /* 81246 */ GIR_RootConstrainSelectedInstOperands,
28782 /* 81247 */ // GIR_Coverage, 18420,
28783 /* 81247 */ GIR_EraseRootFromParent_Done,
28784 /* 81248 */ // Label 2279: @81248
28785 /* 81248 */ GIM_Reject,
28786 /* 81249 */ // Label 2277: @81249
28787 /* 81249 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2280*/ GIMT_Encode4(81286), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19935 //
28788 /* 81256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28789 /* 81260 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28790 /* 81264 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28791 /* 81271 */ // (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
28792 /* 81271 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
28793 /* 81274 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28794 /* 81278 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28795 /* 81280 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28796 /* 81284 */ GIR_RootConstrainSelectedInstOperands,
28797 /* 81285 */ // GIR_Coverage, 19935,
28798 /* 81285 */ GIR_EraseRootFromParent_Done,
28799 /* 81286 */ // Label 2280: @81286
28800 /* 81286 */ GIM_Reject,
28801 /* 81287 */ // Label 2272: @81287
28802 /* 81287 */ GIM_Try, /*On fail goto*//*Label 2281*/ GIMT_Encode4(81359),
28803 /* 81292 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28804 /* 81296 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28805 /* 81300 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2282*/ GIMT_Encode4(81329), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1694 //
28806 /* 81307 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28807 /* 81314 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
28808 /* 81314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
28809 /* 81317 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28810 /* 81321 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28811 /* 81323 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28812 /* 81327 */ GIR_RootConstrainSelectedInstOperands,
28813 /* 81328 */ // GIR_Coverage, 1694,
28814 /* 81328 */ GIR_EraseRootFromParent_Done,
28815 /* 81329 */ // Label 2282: @81329
28816 /* 81329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2283*/ GIMT_Encode4(81358), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1706 //
28817 /* 81336 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28818 /* 81343 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
28819 /* 81343 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
28820 /* 81346 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28821 /* 81350 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28822 /* 81352 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28823 /* 81356 */ GIR_RootConstrainSelectedInstOperands,
28824 /* 81357 */ // GIR_Coverage, 1706,
28825 /* 81357 */ GIR_EraseRootFromParent_Done,
28826 /* 81358 */ // Label 2283: @81358
28827 /* 81358 */ GIM_Reject,
28828 /* 81359 */ // Label 2281: @81359
28829 /* 81359 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2284*/ GIMT_Encode4(81396), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4504 //
28830 /* 81366 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28831 /* 81370 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28832 /* 81374 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28833 /* 81381 */ // (st VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
28834 /* 81381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
28835 /* 81384 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28836 /* 81388 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28837 /* 81390 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28838 /* 81394 */ GIR_RootConstrainSelectedInstOperands,
28839 /* 81395 */ // GIR_Coverage, 4504,
28840 /* 81395 */ GIR_EraseRootFromParent_Done,
28841 /* 81396 */ // Label 2284: @81396
28842 /* 81396 */ GIM_Try, /*On fail goto*//*Label 2285*/ GIMT_Encode4(81468),
28843 /* 81401 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28844 /* 81405 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28845 /* 81409 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2286*/ GIMT_Encode4(81438), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18020 //
28846 /* 81416 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28847 /* 81423 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
28848 /* 81423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
28849 /* 81426 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28850 /* 81430 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28851 /* 81432 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28852 /* 81436 */ GIR_RootConstrainSelectedInstOperands,
28853 /* 81437 */ // GIR_Coverage, 18020,
28854 /* 81437 */ GIR_EraseRootFromParent_Done,
28855 /* 81438 */ // Label 2286: @81438
28856 /* 81438 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2287*/ GIMT_Encode4(81467), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18428 //
28857 /* 81445 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28858 /* 81452 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
28859 /* 81452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
28860 /* 81455 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28861 /* 81459 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28862 /* 81461 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28863 /* 81465 */ GIR_RootConstrainSelectedInstOperands,
28864 /* 81466 */ // GIR_Coverage, 18428,
28865 /* 81466 */ GIR_EraseRootFromParent_Done,
28866 /* 81467 */ // Label 2287: @81467
28867 /* 81467 */ GIM_Reject,
28868 /* 81468 */ // Label 2285: @81468
28869 /* 81468 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2288*/ GIMT_Encode4(81505), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19943 //
28870 /* 81475 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28871 /* 81479 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28872 /* 81483 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28873 /* 81490 */ // (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
28874 /* 81490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
28875 /* 81493 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28876 /* 81497 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28877 /* 81499 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28878 /* 81503 */ GIR_RootConstrainSelectedInstOperands,
28879 /* 81504 */ // GIR_Coverage, 19943,
28880 /* 81504 */ GIR_EraseRootFromParent_Done,
28881 /* 81505 */ // Label 2288: @81505
28882 /* 81505 */ GIM_Reject,
28883 /* 81506 */ // Label 2271: @81506
28884 /* 81506 */ GIM_Try, /*On fail goto*//*Label 2289*/ GIMT_Encode4(81737),
28885 /* 81511 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28886 /* 81514 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
28887 /* 81518 */ GIM_Try, /*On fail goto*//*Label 2290*/ GIMT_Encode4(81590),
28888 /* 81523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28889 /* 81527 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28890 /* 81531 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2291*/ GIMT_Encode4(81560), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1691 //
28891 /* 81538 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28892 /* 81545 */ // (atomic_store VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
28893 /* 81545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
28894 /* 81548 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28895 /* 81552 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28896 /* 81554 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28897 /* 81558 */ GIR_RootConstrainSelectedInstOperands,
28898 /* 81559 */ // GIR_Coverage, 1691,
28899 /* 81559 */ GIR_EraseRootFromParent_Done,
28900 /* 81560 */ // Label 2291: @81560
28901 /* 81560 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2292*/ GIMT_Encode4(81589), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1703 //
28902 /* 81567 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28903 /* 81574 */ // (atomic_store VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
28904 /* 81574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28905 /* 81577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28906 /* 81581 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28907 /* 81583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28908 /* 81587 */ GIR_RootConstrainSelectedInstOperands,
28909 /* 81588 */ // GIR_Coverage, 1703,
28910 /* 81588 */ GIR_EraseRootFromParent_Done,
28911 /* 81589 */ // Label 2292: @81589
28912 /* 81589 */ GIM_Reject,
28913 /* 81590 */ // Label 2290: @81590
28914 /* 81590 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2293*/ GIMT_Encode4(81627), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4471 //
28915 /* 81597 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28916 /* 81601 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28917 /* 81605 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28918 /* 81612 */ // (atomic_store VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
28919 /* 81612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
28920 /* 81615 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28921 /* 81619 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28922 /* 81621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28923 /* 81625 */ GIR_RootConstrainSelectedInstOperands,
28924 /* 81626 */ // GIR_Coverage, 4471,
28925 /* 81626 */ GIR_EraseRootFromParent_Done,
28926 /* 81627 */ // Label 2293: @81627
28927 /* 81627 */ GIM_Try, /*On fail goto*//*Label 2294*/ GIMT_Encode4(81699),
28928 /* 81632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28929 /* 81636 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28930 /* 81640 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2295*/ GIMT_Encode4(81669), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18014 //
28931 /* 81647 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28932 /* 81654 */ // (atomic_store VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
28933 /* 81654 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28934 /* 81657 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28935 /* 81661 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28936 /* 81663 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28937 /* 81667 */ GIR_RootConstrainSelectedInstOperands,
28938 /* 81668 */ // GIR_Coverage, 18014,
28939 /* 81668 */ GIR_EraseRootFromParent_Done,
28940 /* 81669 */ // Label 2295: @81669
28941 /* 81669 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2296*/ GIMT_Encode4(81698), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18421 //
28942 /* 81676 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28943 /* 81683 */ // (atomic_store VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
28944 /* 81683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28945 /* 81686 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28946 /* 81690 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28947 /* 81692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28948 /* 81696 */ GIR_RootConstrainSelectedInstOperands,
28949 /* 81697 */ // GIR_Coverage, 18421,
28950 /* 81697 */ GIR_EraseRootFromParent_Done,
28951 /* 81698 */ // Label 2296: @81698
28952 /* 81698 */ GIM_Reject,
28953 /* 81699 */ // Label 2294: @81699
28954 /* 81699 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2297*/ GIMT_Encode4(81736), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19936 //
28955 /* 81706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28956 /* 81710 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28957 /* 81714 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28958 /* 81721 */ // (atomic_store VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
28959 /* 81721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
28960 /* 81724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28961 /* 81728 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28962 /* 81730 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28963 /* 81734 */ GIR_RootConstrainSelectedInstOperands,
28964 /* 81735 */ // GIR_Coverage, 19936,
28965 /* 81735 */ GIR_EraseRootFromParent_Done,
28966 /* 81736 */ // Label 2297: @81736
28967 /* 81736 */ GIM_Reject,
28968 /* 81737 */ // Label 2289: @81737
28969 /* 81737 */ GIM_Reject,
28970 /* 81738 */ // Label 1873: @81738
28971 /* 81738 */ GIM_Try, /*On fail goto*//*Label 2298*/ GIMT_Encode4(82057),
28972 /* 81743 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28973 /* 81746 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28974 /* 81750 */ GIM_Try, /*On fail goto*//*Label 2299*/ GIMT_Encode4(81908),
28975 /* 81755 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
28976 /* 81759 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2300*/ GIMT_Encode4(81796), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1696 //
28977 /* 81766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
28978 /* 81770 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28979 /* 81774 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28980 /* 81781 */ // (st VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
28981 /* 81781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
28982 /* 81784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28983 /* 81788 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28984 /* 81790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28985 /* 81794 */ GIR_RootConstrainSelectedInstOperands,
28986 /* 81795 */ // GIR_Coverage, 1696,
28987 /* 81795 */ GIR_EraseRootFromParent_Done,
28988 /* 81796 */ // Label 2300: @81796
28989 /* 81796 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2301*/ GIMT_Encode4(81833), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4468 //
28990 /* 81803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
28991 /* 81807 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28992 /* 81811 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28993 /* 81818 */ // (st VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
28994 /* 81818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256mr),
28995 /* 81821 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28996 /* 81825 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28997 /* 81827 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28998 /* 81831 */ GIR_RootConstrainSelectedInstOperands,
28999 /* 81832 */ // GIR_Coverage, 4468,
29000 /* 81832 */ GIR_EraseRootFromParent_Done,
29001 /* 81833 */ // Label 2301: @81833
29002 /* 81833 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2302*/ GIMT_Encode4(81870), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17983 //
29003 /* 81840 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29004 /* 81844 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29005 /* 81848 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29006 /* 81855 */ // (st VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
29007 /* 81855 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29008 /* 81858 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29009 /* 81862 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29010 /* 81864 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29011 /* 81868 */ GIR_RootConstrainSelectedInstOperands,
29012 /* 81869 */ // GIR_Coverage, 17983,
29013 /* 81869 */ GIR_EraseRootFromParent_Done,
29014 /* 81870 */ // Label 2302: @81870
29015 /* 81870 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2303*/ GIMT_Encode4(81907), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19955 //
29016 /* 81877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29017 /* 81881 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29018 /* 81885 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29019 /* 81892 */ // (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
29020 /* 81892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29021 /* 81895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29022 /* 81899 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29023 /* 81901 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29024 /* 81905 */ GIR_RootConstrainSelectedInstOperands,
29025 /* 81906 */ // GIR_Coverage, 19955,
29026 /* 81906 */ GIR_EraseRootFromParent_Done,
29027 /* 81907 */ // Label 2303: @81907
29028 /* 81907 */ GIM_Reject,
29029 /* 81908 */ // Label 2299: @81908
29030 /* 81908 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2304*/ GIMT_Encode4(81945), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1700 //
29031 /* 81915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29032 /* 81919 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29033 /* 81923 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29034 /* 81930 */ // (st VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
29035 /* 81930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29036 /* 81933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29037 /* 81937 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29038 /* 81939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29039 /* 81943 */ GIR_RootConstrainSelectedInstOperands,
29040 /* 81944 */ // GIR_Coverage, 1700,
29041 /* 81944 */ GIR_EraseRootFromParent_Done,
29042 /* 81945 */ // Label 2304: @81945
29043 /* 81945 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2305*/ GIMT_Encode4(81982), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4503 //
29044 /* 81952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29045 /* 81956 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29046 /* 81960 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29047 /* 81967 */ // (st VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
29048 /* 81967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256mr),
29049 /* 81970 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29050 /* 81974 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29051 /* 81976 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29052 /* 81980 */ GIR_RootConstrainSelectedInstOperands,
29053 /* 81981 */ // GIR_Coverage, 4503,
29054 /* 81981 */ GIR_EraseRootFromParent_Done,
29055 /* 81982 */ // Label 2305: @81982
29056 /* 81982 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2306*/ GIMT_Encode4(82019), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17990 //
29057 /* 81989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29058 /* 81993 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29059 /* 81997 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29060 /* 82004 */ // (st VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
29061 /* 82004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29062 /* 82007 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29063 /* 82011 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29064 /* 82013 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29065 /* 82017 */ GIR_RootConstrainSelectedInstOperands,
29066 /* 82018 */ // GIR_Coverage, 17990,
29067 /* 82018 */ GIR_EraseRootFromParent_Done,
29068 /* 82019 */ // Label 2306: @82019
29069 /* 82019 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2307*/ GIMT_Encode4(82056), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19963 //
29070 /* 82026 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29071 /* 82030 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29072 /* 82034 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29073 /* 82041 */ // (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
29074 /* 82041 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
29075 /* 82044 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29076 /* 82048 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29077 /* 82050 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29078 /* 82054 */ GIR_RootConstrainSelectedInstOperands,
29079 /* 82055 */ // GIR_Coverage, 19963,
29080 /* 82055 */ GIR_EraseRootFromParent_Done,
29081 /* 82056 */ // Label 2307: @82056
29082 /* 82056 */ GIM_Reject,
29083 /* 82057 */ // Label 2298: @82057
29084 /* 82057 */ GIM_Try, /*On fail goto*//*Label 2308*/ GIMT_Encode4(82218),
29085 /* 82062 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
29086 /* 82065 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
29087 /* 82069 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2309*/ GIMT_Encode4(82106), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1697 //
29088 /* 82076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29089 /* 82080 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29090 /* 82084 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29091 /* 82091 */ // (atomic_store VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
29092 /* 82091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29093 /* 82094 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29094 /* 82098 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29095 /* 82100 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29096 /* 82104 */ GIR_RootConstrainSelectedInstOperands,
29097 /* 82105 */ // GIR_Coverage, 1697,
29098 /* 82105 */ GIR_EraseRootFromParent_Done,
29099 /* 82106 */ // Label 2309: @82106
29100 /* 82106 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2310*/ GIMT_Encode4(82143), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4469 //
29101 /* 82113 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29102 /* 82117 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29103 /* 82121 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29104 /* 82128 */ // (atomic_store VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
29105 /* 82128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256mr),
29106 /* 82131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29107 /* 82135 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29108 /* 82137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29109 /* 82141 */ GIR_RootConstrainSelectedInstOperands,
29110 /* 82142 */ // GIR_Coverage, 4469,
29111 /* 82142 */ GIR_EraseRootFromParent_Done,
29112 /* 82143 */ // Label 2310: @82143
29113 /* 82143 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2311*/ GIMT_Encode4(82180), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17984 //
29114 /* 82150 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29115 /* 82154 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29116 /* 82158 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29117 /* 82165 */ // (atomic_store VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
29118 /* 82165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29119 /* 82168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29120 /* 82172 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29121 /* 82174 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29122 /* 82178 */ GIR_RootConstrainSelectedInstOperands,
29123 /* 82179 */ // GIR_Coverage, 17984,
29124 /* 82179 */ GIR_EraseRootFromParent_Done,
29125 /* 82180 */ // Label 2311: @82180
29126 /* 82180 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2312*/ GIMT_Encode4(82217), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19956 //
29127 /* 82187 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29128 /* 82191 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29129 /* 82195 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29130 /* 82202 */ // (atomic_store VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
29131 /* 82202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29132 /* 82205 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29133 /* 82209 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29134 /* 82211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29135 /* 82215 */ GIR_RootConstrainSelectedInstOperands,
29136 /* 82216 */ // GIR_Coverage, 19956,
29137 /* 82216 */ GIR_EraseRootFromParent_Done,
29138 /* 82217 */ // Label 2312: @82217
29139 /* 82217 */ GIM_Reject,
29140 /* 82218 */ // Label 2308: @82218
29141 /* 82218 */ GIM_Reject,
29142 /* 82219 */ // Label 1874: @82219
29143 /* 82219 */ GIM_Try, /*On fail goto*//*Label 2313*/ GIMT_Encode4(82380),
29144 /* 82224 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29145 /* 82227 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29146 /* 82231 */ GIM_Try, /*On fail goto*//*Label 2314*/ GIMT_Encode4(82307),
29147 /* 82236 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
29148 /* 82240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29149 /* 82244 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29150 /* 82248 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2315*/ GIMT_Encode4(82277), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4466 //
29151 /* 82255 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29152 /* 82262 */ // (st VR512:{ *:[v16f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore512>> => (VMOVAPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src)
29153 /* 82262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZmr),
29154 /* 82265 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29155 /* 82269 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29156 /* 82271 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29157 /* 82275 */ GIR_RootConstrainSelectedInstOperands,
29158 /* 82276 */ // GIR_Coverage, 4466,
29159 /* 82276 */ GIR_EraseRootFromParent_Done,
29160 /* 82277 */ // Label 2315: @82277
29161 /* 82277 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2316*/ GIMT_Encode4(82306), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19915 //
29162 /* 82284 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29163 /* 82291 */ // (st VR512:{ *:[v16i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore512>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src)
29164 /* 82291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
29165 /* 82294 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29166 /* 82298 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29167 /* 82300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29168 /* 82304 */ GIR_RootConstrainSelectedInstOperands,
29169 /* 82305 */ // GIR_Coverage, 19915,
29170 /* 82305 */ GIR_EraseRootFromParent_Done,
29171 /* 82306 */ // Label 2316: @82306
29172 /* 82306 */ GIM_Reject,
29173 /* 82307 */ // Label 2314: @82307
29174 /* 82307 */ GIM_Try, /*On fail goto*//*Label 2317*/ GIMT_Encode4(82379),
29175 /* 82312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29176 /* 82316 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29177 /* 82320 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2318*/ GIMT_Encode4(82349), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4502 //
29178 /* 82327 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29179 /* 82334 */ // (st VR512:{ *:[v16f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src)
29180 /* 82334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZmr),
29181 /* 82337 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29182 /* 82341 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29183 /* 82343 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29184 /* 82347 */ GIR_RootConstrainSelectedInstOperands,
29185 /* 82348 */ // GIR_Coverage, 4502,
29186 /* 82348 */ GIR_EraseRootFromParent_Done,
29187 /* 82349 */ // Label 2318: @82349
29188 /* 82349 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2319*/ GIMT_Encode4(82378), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19923 //
29189 /* 82356 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29190 /* 82363 */ // (st VR512:{ *:[v16i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src)
29191 /* 82363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
29192 /* 82366 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29193 /* 82370 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29194 /* 82372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29195 /* 82376 */ GIR_RootConstrainSelectedInstOperands,
29196 /* 82377 */ // GIR_Coverage, 19923,
29197 /* 82377 */ GIR_EraseRootFromParent_Done,
29198 /* 82378 */ // Label 2319: @82378
29199 /* 82378 */ GIM_Reject,
29200 /* 82379 */ // Label 2317: @82379
29201 /* 82379 */ GIM_Reject,
29202 /* 82380 */ // Label 2313: @82380
29203 /* 82380 */ GIM_Try, /*On fail goto*//*Label 2320*/ GIMT_Encode4(82459),
29204 /* 82385 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
29205 /* 82388 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
29206 /* 82392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29207 /* 82396 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29208 /* 82400 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2321*/ GIMT_Encode4(82429), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4467 //
29209 /* 82407 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29210 /* 82414 */ // (atomic_store VR512:{ *:[v16f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore512>> => (VMOVAPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src)
29211 /* 82414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZmr),
29212 /* 82417 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29213 /* 82421 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29214 /* 82423 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29215 /* 82427 */ GIR_RootConstrainSelectedInstOperands,
29216 /* 82428 */ // GIR_Coverage, 4467,
29217 /* 82428 */ GIR_EraseRootFromParent_Done,
29218 /* 82429 */ // Label 2321: @82429
29219 /* 82429 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2322*/ GIMT_Encode4(82458), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 19916 //
29220 /* 82436 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29221 /* 82443 */ // (atomic_store VR512:{ *:[v16i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore512>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src)
29222 /* 82443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
29223 /* 82446 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29224 /* 82450 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29225 /* 82452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29226 /* 82456 */ GIR_RootConstrainSelectedInstOperands,
29227 /* 82457 */ // GIR_Coverage, 19916,
29228 /* 82457 */ GIR_EraseRootFromParent_Done,
29229 /* 82458 */ // Label 2322: @82458
29230 /* 82458 */ GIM_Reject,
29231 /* 82459 */ // Label 2320: @82459
29232 /* 82459 */ GIM_Reject,
29233 /* 82460 */ // Label 1875: @82460
29234 /* 82460 */ GIM_Try, /*On fail goto*//*Label 2323*/ GIMT_Encode4(82903),
29235 /* 82465 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29236 /* 82468 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29237 /* 82472 */ GIM_Try, /*On fail goto*//*Label 2324*/ GIMT_Encode4(82692),
29238 /* 82477 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
29239 /* 82481 */ GIM_Try, /*On fail goto*//*Label 2325*/ GIMT_Encode4(82582),
29240 /* 82486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29241 /* 82490 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29242 /* 82494 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2326*/ GIMT_Encode4(82523), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1692 //
29243 /* 82501 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29244 /* 82508 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29245 /* 82508 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDmr),
29246 /* 82511 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29247 /* 82515 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29248 /* 82517 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29249 /* 82521 */ GIR_RootConstrainSelectedInstOperands,
29250 /* 82522 */ // GIR_Coverage, 1692,
29251 /* 82522 */ GIR_EraseRootFromParent_Done,
29252 /* 82523 */ // Label 2326: @82523
29253 /* 82523 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2327*/ GIMT_Encode4(82552), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1704 //
29254 /* 82530 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29255 /* 82537 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (MOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29256 /* 82537 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDmr),
29257 /* 82540 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29258 /* 82544 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29259 /* 82546 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29260 /* 82550 */ GIR_RootConstrainSelectedInstOperands,
29261 /* 82551 */ // GIR_Coverage, 1704,
29262 /* 82551 */ GIR_EraseRootFromParent_Done,
29263 /* 82552 */ // Label 2327: @82552
29264 /* 82552 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2328*/ GIMT_Encode4(82581), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2501 //
29265 /* 82559 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29266 /* 82566 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29267 /* 82566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29268 /* 82569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29269 /* 82573 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29270 /* 82575 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29271 /* 82579 */ GIR_RootConstrainSelectedInstOperands,
29272 /* 82580 */ // GIR_Coverage, 2501,
29273 /* 82580 */ GIR_EraseRootFromParent_Done,
29274 /* 82581 */ // Label 2328: @82581
29275 /* 82581 */ GIM_Reject,
29276 /* 82582 */ // Label 2325: @82582
29277 /* 82582 */ GIM_Try, /*On fail goto*//*Label 2329*/ GIMT_Encode4(82654),
29278 /* 82587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29279 /* 82591 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29280 /* 82595 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2330*/ GIMT_Encode4(82624), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4491 //
29281 /* 82602 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29282 /* 82609 */ // (st VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVAPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
29283 /* 82609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128mr),
29284 /* 82612 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29285 /* 82616 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29286 /* 82618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29287 /* 82622 */ GIR_RootConstrainSelectedInstOperands,
29288 /* 82623 */ // GIR_Coverage, 4491,
29289 /* 82623 */ GIR_EraseRootFromParent_Done,
29290 /* 82624 */ // Label 2330: @82624
29291 /* 82624 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2331*/ GIMT_Encode4(82653), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4548 //
29292 /* 82631 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29293 /* 82638 */ // (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
29294 /* 82638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
29295 /* 82641 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29296 /* 82645 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29297 /* 82647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29298 /* 82651 */ GIR_RootConstrainSelectedInstOperands,
29299 /* 82652 */ // GIR_Coverage, 4548,
29300 /* 82652 */ GIR_EraseRootFromParent_Done,
29301 /* 82653 */ // Label 2331: @82653
29302 /* 82653 */ GIM_Reject,
29303 /* 82654 */ // Label 2329: @82654
29304 /* 82654 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2332*/ GIMT_Encode4(82691), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18011 //
29305 /* 82661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29306 /* 82665 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29307 /* 82669 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29308 /* 82676 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29309 /* 82676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29310 /* 82679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29311 /* 82683 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29312 /* 82685 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29313 /* 82689 */ GIR_RootConstrainSelectedInstOperands,
29314 /* 82690 */ // GIR_Coverage, 18011,
29315 /* 82690 */ GIR_EraseRootFromParent_Done,
29316 /* 82691 */ // Label 2332: @82691
29317 /* 82691 */ GIM_Reject,
29318 /* 82692 */ // Label 2324: @82692
29319 /* 82692 */ GIM_Try, /*On fail goto*//*Label 2333*/ GIMT_Encode4(82793),
29320 /* 82697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29321 /* 82701 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29322 /* 82705 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2334*/ GIMT_Encode4(82734), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1695 //
29323 /* 82712 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29324 /* 82719 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29325 /* 82719 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDmr),
29326 /* 82722 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29327 /* 82726 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29328 /* 82728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29329 /* 82732 */ GIR_RootConstrainSelectedInstOperands,
29330 /* 82733 */ // GIR_Coverage, 1695,
29331 /* 82733 */ GIR_EraseRootFromParent_Done,
29332 /* 82734 */ // Label 2334: @82734
29333 /* 82734 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2335*/ GIMT_Encode4(82763), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1707 //
29334 /* 82741 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29335 /* 82748 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29336 /* 82748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPDmr),
29337 /* 82751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29338 /* 82755 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29339 /* 82757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29340 /* 82761 */ GIR_RootConstrainSelectedInstOperands,
29341 /* 82762 */ // GIR_Coverage, 1707,
29342 /* 82762 */ GIR_EraseRootFromParent_Done,
29343 /* 82763 */ // Label 2335: @82763
29344 /* 82763 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2336*/ GIMT_Encode4(82792), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2503 //
29345 /* 82770 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29346 /* 82777 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29347 /* 82777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
29348 /* 82780 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29349 /* 82784 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29350 /* 82786 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29351 /* 82790 */ GIR_RootConstrainSelectedInstOperands,
29352 /* 82791 */ // GIR_Coverage, 2503,
29353 /* 82791 */ GIR_EraseRootFromParent_Done,
29354 /* 82792 */ // Label 2336: @82792
29355 /* 82792 */ GIM_Reject,
29356 /* 82793 */ // Label 2333: @82793
29357 /* 82793 */ GIM_Try, /*On fail goto*//*Label 2337*/ GIMT_Encode4(82865),
29358 /* 82798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29359 /* 82802 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29360 /* 82806 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2338*/ GIMT_Encode4(82835), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4516 //
29361 /* 82813 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29362 /* 82820 */ // (st VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
29363 /* 82820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ128mr),
29364 /* 82823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29365 /* 82827 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29366 /* 82829 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29367 /* 82833 */ GIR_RootConstrainSelectedInstOperands,
29368 /* 82834 */ // GIR_Coverage, 4516,
29369 /* 82834 */ GIR_EraseRootFromParent_Done,
29370 /* 82835 */ // Label 2338: @82835
29371 /* 82835 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2339*/ GIMT_Encode4(82864), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4591 //
29372 /* 82842 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29373 /* 82849 */ // (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
29374 /* 82849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
29375 /* 82852 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29376 /* 82856 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29377 /* 82858 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29378 /* 82862 */ GIR_RootConstrainSelectedInstOperands,
29379 /* 82863 */ // GIR_Coverage, 4591,
29380 /* 82863 */ GIR_EraseRootFromParent_Done,
29381 /* 82864 */ // Label 2339: @82864
29382 /* 82864 */ GIM_Reject,
29383 /* 82865 */ // Label 2337: @82865
29384 /* 82865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2340*/ GIMT_Encode4(82902), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18019 //
29385 /* 82872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29386 /* 82876 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29387 /* 82880 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29388 /* 82887 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29389 /* 82887 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29390 /* 82890 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29391 /* 82894 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29392 /* 82896 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29393 /* 82900 */ GIR_RootConstrainSelectedInstOperands,
29394 /* 82901 */ // GIR_Coverage, 18019,
29395 /* 82901 */ GIR_EraseRootFromParent_Done,
29396 /* 82902 */ // Label 2340: @82902
29397 /* 82902 */ GIM_Reject,
29398 /* 82903 */ // Label 2323: @82903
29399 /* 82903 */ GIM_Try, /*On fail goto*//*Label 2341*/ GIMT_Encode4(83126),
29400 /* 82908 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
29401 /* 82911 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/16,
29402 /* 82915 */ GIM_Try, /*On fail goto*//*Label 2342*/ GIMT_Encode4(83016),
29403 /* 82920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29404 /* 82924 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29405 /* 82928 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2343*/ GIMT_Encode4(82957), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1693 //
29406 /* 82935 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29407 /* 82942 */ // (atomic_store VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29408 /* 82942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDmr),
29409 /* 82945 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29410 /* 82949 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29411 /* 82951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29412 /* 82955 */ GIR_RootConstrainSelectedInstOperands,
29413 /* 82956 */ // GIR_Coverage, 1693,
29414 /* 82956 */ GIR_EraseRootFromParent_Done,
29415 /* 82957 */ // Label 2343: @82957
29416 /* 82957 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2344*/ GIMT_Encode4(82986), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1705 //
29417 /* 82964 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29418 /* 82971 */ // (atomic_store VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (MOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29419 /* 82971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDmr),
29420 /* 82974 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29421 /* 82978 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29422 /* 82980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29423 /* 82984 */ GIR_RootConstrainSelectedInstOperands,
29424 /* 82985 */ // GIR_Coverage, 1705,
29425 /* 82985 */ GIR_EraseRootFromParent_Done,
29426 /* 82986 */ // Label 2344: @82986
29427 /* 82986 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2345*/ GIMT_Encode4(83015), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2502 //
29428 /* 82993 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29429 /* 83000 */ // (atomic_store VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29430 /* 83000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29431 /* 83003 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29432 /* 83007 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29433 /* 83009 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29434 /* 83013 */ GIR_RootConstrainSelectedInstOperands,
29435 /* 83014 */ // GIR_Coverage, 2502,
29436 /* 83014 */ GIR_EraseRootFromParent_Done,
29437 /* 83015 */ // Label 2345: @83015
29438 /* 83015 */ GIM_Reject,
29439 /* 83016 */ // Label 2342: @83016
29440 /* 83016 */ GIM_Try, /*On fail goto*//*Label 2346*/ GIMT_Encode4(83088),
29441 /* 83021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29442 /* 83025 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29443 /* 83029 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2347*/ GIMT_Encode4(83058), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4492 //
29444 /* 83036 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29445 /* 83043 */ // (atomic_store VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVAPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
29446 /* 83043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128mr),
29447 /* 83046 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29448 /* 83050 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29449 /* 83052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29450 /* 83056 */ GIR_RootConstrainSelectedInstOperands,
29451 /* 83057 */ // GIR_Coverage, 4492,
29452 /* 83057 */ GIR_EraseRootFromParent_Done,
29453 /* 83058 */ // Label 2347: @83058
29454 /* 83058 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2348*/ GIMT_Encode4(83087), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4549 //
29455 /* 83065 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29456 /* 83072 */ // (atomic_store VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
29457 /* 83072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
29458 /* 83075 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29459 /* 83079 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29460 /* 83081 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29461 /* 83085 */ GIR_RootConstrainSelectedInstOperands,
29462 /* 83086 */ // GIR_Coverage, 4549,
29463 /* 83086 */ GIR_EraseRootFromParent_Done,
29464 /* 83087 */ // Label 2348: @83087
29465 /* 83087 */ GIM_Reject,
29466 /* 83088 */ // Label 2346: @83088
29467 /* 83088 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2349*/ GIMT_Encode4(83125), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18012 //
29468 /* 83095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29469 /* 83099 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29470 /* 83103 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29471 /* 83110 */ // (atomic_store VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore128>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29472 /* 83110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29473 /* 83113 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29474 /* 83117 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29475 /* 83119 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29476 /* 83123 */ GIR_RootConstrainSelectedInstOperands,
29477 /* 83124 */ // GIR_Coverage, 18012,
29478 /* 83124 */ GIR_EraseRootFromParent_Done,
29479 /* 83125 */ // Label 2349: @83125
29480 /* 83125 */ GIM_Reject,
29481 /* 83126 */ // Label 2341: @83126
29482 /* 83126 */ GIM_Reject,
29483 /* 83127 */ // Label 1876: @83127
29484 /* 83127 */ GIM_Try, /*On fail goto*//*Label 2350*/ GIMT_Encode4(83442),
29485 /* 83132 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29486 /* 83135 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29487 /* 83139 */ GIM_Try, /*On fail goto*//*Label 2351*/ GIMT_Encode4(83295),
29488 /* 83144 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
29489 /* 83148 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2352*/ GIMT_Encode4(83185), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1698 //
29490 /* 83155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29491 /* 83159 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29492 /* 83163 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29493 /* 83170 */ // (st VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
29494 /* 83170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDYmr),
29495 /* 83173 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29496 /* 83177 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29497 /* 83179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29498 /* 83183 */ GIR_RootConstrainSelectedInstOperands,
29499 /* 83184 */ // GIR_Coverage, 1698,
29500 /* 83184 */ GIR_EraseRootFromParent_Done,
29501 /* 83185 */ // Label 2352: @83185
29502 /* 83185 */ GIM_Try, /*On fail goto*//*Label 2353*/ GIMT_Encode4(83257),
29503 /* 83190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29504 /* 83194 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29505 /* 83198 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2354*/ GIMT_Encode4(83227), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4489 //
29506 /* 83205 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29507 /* 83212 */ // (st VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
29508 /* 83212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256mr),
29509 /* 83215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29510 /* 83219 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29511 /* 83221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29512 /* 83225 */ GIR_RootConstrainSelectedInstOperands,
29513 /* 83226 */ // GIR_Coverage, 4489,
29514 /* 83226 */ GIR_EraseRootFromParent_Done,
29515 /* 83227 */ // Label 2354: @83227
29516 /* 83227 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2355*/ GIMT_Encode4(83256), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4546 //
29517 /* 83234 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29518 /* 83241 */ // (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
29519 /* 83241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29520 /* 83244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29521 /* 83248 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29522 /* 83250 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29523 /* 83254 */ GIR_RootConstrainSelectedInstOperands,
29524 /* 83255 */ // GIR_Coverage, 4546,
29525 /* 83255 */ GIR_EraseRootFromParent_Done,
29526 /* 83256 */ // Label 2355: @83256
29527 /* 83256 */ GIM_Reject,
29528 /* 83257 */ // Label 2353: @83257
29529 /* 83257 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2356*/ GIMT_Encode4(83294), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17981 //
29530 /* 83264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29531 /* 83268 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29532 /* 83272 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29533 /* 83279 */ // (st VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
29534 /* 83279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29535 /* 83282 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29536 /* 83286 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29537 /* 83288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29538 /* 83292 */ GIR_RootConstrainSelectedInstOperands,
29539 /* 83293 */ // GIR_Coverage, 17981,
29540 /* 83293 */ GIR_EraseRootFromParent_Done,
29541 /* 83294 */ // Label 2356: @83294
29542 /* 83294 */ GIM_Reject,
29543 /* 83295 */ // Label 2351: @83295
29544 /* 83295 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2357*/ GIMT_Encode4(83332), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1701 //
29545 /* 83302 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29546 /* 83306 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29547 /* 83310 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29548 /* 83317 */ // (st VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
29549 /* 83317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDYmr),
29550 /* 83320 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29551 /* 83324 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29552 /* 83326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29553 /* 83330 */ GIR_RootConstrainSelectedInstOperands,
29554 /* 83331 */ // GIR_Coverage, 1701,
29555 /* 83331 */ GIR_EraseRootFromParent_Done,
29556 /* 83332 */ // Label 2357: @83332
29557 /* 83332 */ GIM_Try, /*On fail goto*//*Label 2358*/ GIMT_Encode4(83404),
29558 /* 83337 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29559 /* 83341 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29560 /* 83345 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2359*/ GIMT_Encode4(83374), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4515 //
29561 /* 83352 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29562 /* 83359 */ // (st VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
29563 /* 83359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ256mr),
29564 /* 83362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29565 /* 83366 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29566 /* 83368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29567 /* 83372 */ GIR_RootConstrainSelectedInstOperands,
29568 /* 83373 */ // GIR_Coverage, 4515,
29569 /* 83373 */ GIR_EraseRootFromParent_Done,
29570 /* 83374 */ // Label 2359: @83374
29571 /* 83374 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2360*/ GIMT_Encode4(83403), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4590 //
29572 /* 83381 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29573 /* 83388 */ // (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
29574 /* 83388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
29575 /* 83391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29576 /* 83395 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29577 /* 83397 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29578 /* 83401 */ GIR_RootConstrainSelectedInstOperands,
29579 /* 83402 */ // GIR_Coverage, 4590,
29580 /* 83402 */ GIR_EraseRootFromParent_Done,
29581 /* 83403 */ // Label 2360: @83403
29582 /* 83403 */ GIM_Reject,
29583 /* 83404 */ // Label 2358: @83404
29584 /* 83404 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2361*/ GIMT_Encode4(83441), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17989 //
29585 /* 83411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29586 /* 83415 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29587 /* 83419 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29588 /* 83426 */ // (st VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
29589 /* 83426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29590 /* 83429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29591 /* 83433 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29592 /* 83435 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29593 /* 83439 */ GIR_RootConstrainSelectedInstOperands,
29594 /* 83440 */ // GIR_Coverage, 17989,
29595 /* 83440 */ GIR_EraseRootFromParent_Done,
29596 /* 83441 */ // Label 2361: @83441
29597 /* 83441 */ GIM_Reject,
29598 /* 83442 */ // Label 2350: @83442
29599 /* 83442 */ GIM_Try, /*On fail goto*//*Label 2362*/ GIMT_Encode4(83601),
29600 /* 83447 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
29601 /* 83450 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/32,
29602 /* 83454 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2363*/ GIMT_Encode4(83491), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1699 //
29603 /* 83461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29604 /* 83465 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29605 /* 83469 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29606 /* 83476 */ // (atomic_store VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
29607 /* 83476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDYmr),
29608 /* 83479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29609 /* 83483 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29610 /* 83485 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29611 /* 83489 */ GIR_RootConstrainSelectedInstOperands,
29612 /* 83490 */ // GIR_Coverage, 1699,
29613 /* 83490 */ GIR_EraseRootFromParent_Done,
29614 /* 83491 */ // Label 2363: @83491
29615 /* 83491 */ GIM_Try, /*On fail goto*//*Label 2364*/ GIMT_Encode4(83563),
29616 /* 83496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29617 /* 83500 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29618 /* 83504 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2365*/ GIMT_Encode4(83533), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4490 //
29619 /* 83511 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29620 /* 83518 */ // (atomic_store VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
29621 /* 83518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256mr),
29622 /* 83521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29623 /* 83525 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29624 /* 83527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29625 /* 83531 */ GIR_RootConstrainSelectedInstOperands,
29626 /* 83532 */ // GIR_Coverage, 4490,
29627 /* 83532 */ GIR_EraseRootFromParent_Done,
29628 /* 83533 */ // Label 2365: @83533
29629 /* 83533 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2366*/ GIMT_Encode4(83562), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4547 //
29630 /* 83540 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29631 /* 83547 */ // (atomic_store VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
29632 /* 83547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29633 /* 83550 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29634 /* 83554 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29635 /* 83556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29636 /* 83560 */ GIR_RootConstrainSelectedInstOperands,
29637 /* 83561 */ // GIR_Coverage, 4547,
29638 /* 83561 */ GIR_EraseRootFromParent_Done,
29639 /* 83562 */ // Label 2366: @83562
29640 /* 83562 */ GIM_Reject,
29641 /* 83563 */ // Label 2364: @83563
29642 /* 83563 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2367*/ GIMT_Encode4(83600), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 17982 //
29643 /* 83570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29644 /* 83574 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29645 /* 83578 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29646 /* 83585 */ // (atomic_store VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore256>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
29647 /* 83585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29648 /* 83588 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29649 /* 83592 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29650 /* 83594 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29651 /* 83598 */ GIR_RootConstrainSelectedInstOperands,
29652 /* 83599 */ // GIR_Coverage, 17982,
29653 /* 83599 */ GIR_EraseRootFromParent_Done,
29654 /* 83600 */ // Label 2367: @83600
29655 /* 83600 */ GIM_Reject,
29656 /* 83601 */ // Label 2362: @83601
29657 /* 83601 */ GIM_Reject,
29658 /* 83602 */ // Label 1877: @83602
29659 /* 83602 */ GIM_Try, /*On fail goto*//*Label 2368*/ GIMT_Encode4(83763),
29660 /* 83607 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29661 /* 83610 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29662 /* 83614 */ GIM_Try, /*On fail goto*//*Label 2369*/ GIMT_Encode4(83690),
29663 /* 83619 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
29664 /* 83623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29665 /* 83627 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29666 /* 83631 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2370*/ GIMT_Encode4(83660), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4487 //
29667 /* 83638 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29668 /* 83645 */ // (st VR512:{ *:[v8f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore512>> => (VMOVAPDZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src)
29669 /* 83645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZmr),
29670 /* 83648 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29671 /* 83652 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29672 /* 83654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29673 /* 83658 */ GIR_RootConstrainSelectedInstOperands,
29674 /* 83659 */ // GIR_Coverage, 4487,
29675 /* 83659 */ GIR_EraseRootFromParent_Done,
29676 /* 83660 */ // Label 2370: @83660
29677 /* 83660 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2371*/ GIMT_Encode4(83689), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4544 //
29678 /* 83667 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29679 /* 83674 */ // (st VR512:{ *:[v8i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore512>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src)
29680 /* 83674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
29681 /* 83677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29682 /* 83681 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29683 /* 83683 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29684 /* 83687 */ GIR_RootConstrainSelectedInstOperands,
29685 /* 83688 */ // GIR_Coverage, 4544,
29686 /* 83688 */ GIR_EraseRootFromParent_Done,
29687 /* 83689 */ // Label 2371: @83689
29688 /* 83689 */ GIM_Reject,
29689 /* 83690 */ // Label 2369: @83690
29690 /* 83690 */ GIM_Try, /*On fail goto*//*Label 2372*/ GIMT_Encode4(83762),
29691 /* 83695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29692 /* 83699 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29693 /* 83703 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2373*/ GIMT_Encode4(83732), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4514 //
29694 /* 83710 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29695 /* 83717 */ // (st VR512:{ *:[v8f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src)
29696 /* 83717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZmr),
29697 /* 83720 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29698 /* 83724 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29699 /* 83726 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29700 /* 83730 */ GIR_RootConstrainSelectedInstOperands,
29701 /* 83731 */ // GIR_Coverage, 4514,
29702 /* 83731 */ GIR_EraseRootFromParent_Done,
29703 /* 83732 */ // Label 2373: @83732
29704 /* 83732 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2374*/ GIMT_Encode4(83761), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4589 //
29705 /* 83739 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29706 /* 83746 */ // (st VR512:{ *:[v8i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src)
29707 /* 83746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
29708 /* 83749 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29709 /* 83753 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29710 /* 83755 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29711 /* 83759 */ GIR_RootConstrainSelectedInstOperands,
29712 /* 83760 */ // GIR_Coverage, 4589,
29713 /* 83760 */ GIR_EraseRootFromParent_Done,
29714 /* 83761 */ // Label 2374: @83761
29715 /* 83761 */ GIM_Reject,
29716 /* 83762 */ // Label 2372: @83762
29717 /* 83762 */ GIM_Reject,
29718 /* 83763 */ // Label 2368: @83763
29719 /* 83763 */ GIM_Try, /*On fail goto*//*Label 2375*/ GIMT_Encode4(83842),
29720 /* 83768 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
29721 /* 83771 */ GIM_CheckMemoryAlignment, /*MI*/0, /*MMO*/0, /*MinAlign*/64,
29722 /* 83775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29723 /* 83779 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29724 /* 83783 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2376*/ GIMT_Encode4(83812), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4488 //
29725 /* 83790 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29726 /* 83797 */ // (atomic_store VR512:{ *:[v8f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore512>> => (VMOVAPDZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src)
29727 /* 83797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZmr),
29728 /* 83800 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29729 /* 83804 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29730 /* 83806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29731 /* 83810 */ GIR_RootConstrainSelectedInstOperands,
29732 /* 83811 */ // GIR_Coverage, 4488,
29733 /* 83811 */ GIR_EraseRootFromParent_Done,
29734 /* 83812 */ // Label 2376: @83812
29735 /* 83812 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2377*/ GIMT_Encode4(83841), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4545 //
29736 /* 83819 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29737 /* 83826 */ // (atomic_store VR512:{ *:[v8i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_alignedstore512>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src)
29738 /* 83826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
29739 /* 83829 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29740 /* 83833 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29741 /* 83835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29742 /* 83839 */ GIR_RootConstrainSelectedInstOperands,
29743 /* 83840 */ // GIR_Coverage, 4545,
29744 /* 83840 */ GIR_EraseRootFromParent_Done,
29745 /* 83841 */ // Label 2377: @83841
29746 /* 83841 */ GIM_Reject,
29747 /* 83842 */ // Label 2375: @83842
29748 /* 83842 */ GIM_Reject,
29749 /* 83843 */ // Label 1878: @83843
29750 /* 83843 */ GIM_Reject,
29751 /* 83844 */ // Label 16: @83844
29752 /* 83844 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(6), /*)*//*default:*//*Label 2380*/ GIMT_Encode4(84026),
29753 /* 83855 */ /*GILLT_s64*//*Label 2378*/ GIMT_Encode4(83863),
29754 /* 83859 */ /*GILLT_s80*//*Label 2379*/ GIMT_Encode4(83918),
29755 /* 83863 */ // Label 2378: @83863
29756 /* 83863 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2381*/ GIMT_Encode4(83917), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1072 //
29757 /* 83870 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29758 /* 83873 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29759 /* 83877 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
29760 /* 83884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
29761 /* 83888 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29762 /* 83892 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29763 /* 83899 */ // (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)
29764 /* 83899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp64m32),
29765 /* 83902 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
29766 /* 83906 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29767 /* 83908 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
29768 /* 83911 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29769 /* 83915 */ GIR_RootConstrainSelectedInstOperands,
29770 /* 83916 */ // GIR_Coverage, 1072,
29771 /* 83916 */ GIR_EraseRootFromParent_Done,
29772 /* 83917 */ // Label 2381: @83917
29773 /* 83917 */ GIM_Reject,
29774 /* 83918 */ // Label 2379: @83918
29775 /* 83918 */ GIM_Try, /*On fail goto*//*Label 2382*/ GIMT_Encode4(84025),
29776 /* 83923 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29777 /* 83926 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29778 /* 83930 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2383*/ GIMT_Encode4(83977), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1074 //
29779 /* 83937 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
29780 /* 83944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
29781 /* 83948 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29782 /* 83952 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29783 /* 83959 */ // (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)
29784 /* 83959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp80m32),
29785 /* 83962 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
29786 /* 83966 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29787 /* 83968 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
29788 /* 83971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29789 /* 83975 */ GIR_RootConstrainSelectedInstOperands,
29790 /* 83976 */ // GIR_Coverage, 1074,
29791 /* 83976 */ GIR_EraseRootFromParent_Done,
29792 /* 83977 */ // Label 2383: @83977
29793 /* 83977 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2384*/ GIMT_Encode4(84024), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1075 //
29794 /* 83984 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
29795 /* 83991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
29796 /* 83995 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29797 /* 83999 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29798 /* 84006 */ // (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)
29799 /* 84006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp80m64),
29800 /* 84009 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
29801 /* 84013 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29802 /* 84015 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
29803 /* 84018 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29804 /* 84022 */ GIR_RootConstrainSelectedInstOperands,
29805 /* 84023 */ // GIR_Coverage, 1075,
29806 /* 84023 */ GIR_EraseRootFromParent_Done,
29807 /* 84024 */ // Label 2384: @84024
29808 /* 84024 */ GIM_Reject,
29809 /* 84025 */ // Label 2382: @84025
29810 /* 84025 */ GIM_Reject,
29811 /* 84026 */ // Label 2380: @84026
29812 /* 84026 */ GIM_Reject,
29813 /* 84027 */ // Label 17: @84027
29814 /* 84027 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2389*/ GIMT_Encode4(84262),
29815 /* 84038 */ /*GILLT_s8*//*Label 2385*/ GIMT_Encode4(84054),
29816 /* 84042 */ /*GILLT_s16*//*Label 2386*/ GIMT_Encode4(84106),
29817 /* 84046 */ /*GILLT_s32*//*Label 2387*/ GIMT_Encode4(84158),
29818 /* 84050 */ /*GILLT_s64*//*Label 2388*/ GIMT_Encode4(84210),
29819 /* 84054 */ // Label 2385: @84054
29820 /* 84054 */ GIM_Try, /*On fail goto*//*Label 2390*/ GIMT_Encode4(84105), // Rule ID 45 //
29821 /* 84059 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
29822 /* 84062 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
29823 /* 84069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
29824 /* 84073 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29825 /* 84077 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
29826 /* 84081 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29827 /* 84088 */ // (atomic_swap:{ *:[i8] } addr:{ *:[iPTR] }:$ptr, GR8:{ *:[i8] }:$val)<<P:Predicate_atomic_swap_i8>> => (XCHG8rm:{ *:[i8] } GR8:{ *:[i8] }:$val, addr:{ *:[iPTR] }:$ptr)
29828 /* 84088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG8rm),
29829 /* 84091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29830 /* 84093 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29831 /* 84095 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29832 /* 84099 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29833 /* 84103 */ GIR_RootConstrainSelectedInstOperands,
29834 /* 84104 */ // GIR_Coverage, 45,
29835 /* 84104 */ GIR_EraseRootFromParent_Done,
29836 /* 84105 */ // Label 2390: @84105
29837 /* 84105 */ GIM_Reject,
29838 /* 84106 */ // Label 2386: @84106
29839 /* 84106 */ GIM_Try, /*On fail goto*//*Label 2391*/ GIMT_Encode4(84157), // Rule ID 46 //
29840 /* 84111 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
29841 /* 84114 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
29842 /* 84121 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
29843 /* 84125 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29844 /* 84129 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
29845 /* 84133 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29846 /* 84140 */ // (atomic_swap:{ *:[i16] } addr:{ *:[iPTR] }:$ptr, GR16:{ *:[i16] }:$val)<<P:Predicate_atomic_swap_i16>> => (XCHG16rm:{ *:[i16] } GR16:{ *:[i16] }:$val, addr:{ *:[iPTR] }:$ptr)
29847 /* 84140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG16rm),
29848 /* 84143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29849 /* 84145 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29850 /* 84147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29851 /* 84151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29852 /* 84155 */ GIR_RootConstrainSelectedInstOperands,
29853 /* 84156 */ // GIR_Coverage, 46,
29854 /* 84156 */ GIR_EraseRootFromParent_Done,
29855 /* 84157 */ // Label 2391: @84157
29856 /* 84157 */ GIM_Reject,
29857 /* 84158 */ // Label 2387: @84158
29858 /* 84158 */ GIM_Try, /*On fail goto*//*Label 2392*/ GIMT_Encode4(84209), // Rule ID 47 //
29859 /* 84163 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
29860 /* 84166 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
29861 /* 84173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
29862 /* 84177 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29863 /* 84181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
29864 /* 84185 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29865 /* 84192 */ // (atomic_swap:{ *:[i32] } addr:{ *:[iPTR] }:$ptr, GR32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_i32>> => (XCHG32rm:{ *:[i32] } GR32:{ *:[i32] }:$val, addr:{ *:[iPTR] }:$ptr)
29866 /* 84192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG32rm),
29867 /* 84195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29868 /* 84197 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29869 /* 84199 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29870 /* 84203 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29871 /* 84207 */ GIR_RootConstrainSelectedInstOperands,
29872 /* 84208 */ // GIR_Coverage, 47,
29873 /* 84208 */ GIR_EraseRootFromParent_Done,
29874 /* 84209 */ // Label 2392: @84209
29875 /* 84209 */ GIM_Reject,
29876 /* 84210 */ // Label 2388: @84210
29877 /* 84210 */ GIM_Try, /*On fail goto*//*Label 2393*/ GIMT_Encode4(84261), // Rule ID 48 //
29878 /* 84215 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
29879 /* 84218 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
29880 /* 84225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
29881 /* 84229 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29882 /* 84233 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
29883 /* 84237 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29884 /* 84244 */ // (atomic_swap:{ *:[i64] } addr:{ *:[iPTR] }:$ptr, GR64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_i64>> => (XCHG64rm:{ *:[i64] } GR64:{ *:[i64] }:$val, addr:{ *:[iPTR] }:$ptr)
29885 /* 84244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG64rm),
29886 /* 84247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29887 /* 84249 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29888 /* 84251 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29889 /* 84255 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29890 /* 84259 */ GIR_RootConstrainSelectedInstOperands,
29891 /* 84260 */ // GIR_Coverage, 48,
29892 /* 84260 */ GIR_EraseRootFromParent_Done,
29893 /* 84261 */ // Label 2393: @84261
29894 /* 84261 */ GIM_Reject,
29895 /* 84262 */ // Label 2389: @84262
29896 /* 84262 */ GIM_Reject,
29897 /* 84263 */ // Label 18: @84263
29898 /* 84263 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2398*/ GIMT_Encode4(84510),
29899 /* 84274 */ /*GILLT_s8*//*Label 2394*/ GIMT_Encode4(84290),
29900 /* 84278 */ /*GILLT_s16*//*Label 2395*/ GIMT_Encode4(84345),
29901 /* 84282 */ /*GILLT_s32*//*Label 2396*/ GIMT_Encode4(84400),
29902 /* 84286 */ /*GILLT_s64*//*Label 2397*/ GIMT_Encode4(84455),
29903 /* 84290 */ // Label 2394: @84290
29904 /* 84290 */ GIM_Try, /*On fail goto*//*Label 2399*/ GIMT_Encode4(84344), // Rule ID 17337 //
29905 /* 84295 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
29906 /* 84298 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
29907 /* 84305 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
29908 /* 84309 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29909 /* 84313 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
29910 /* 84317 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29911 /* 84324 */ // (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)
29912 /* 84324 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD8),
29913 /* 84327 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29914 /* 84329 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29915 /* 84331 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29916 /* 84335 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
29917 /* 84338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29918 /* 84342 */ GIR_RootConstrainSelectedInstOperands,
29919 /* 84343 */ // GIR_Coverage, 17337,
29920 /* 84343 */ GIR_EraseRootFromParent_Done,
29921 /* 84344 */ // Label 2399: @84344
29922 /* 84344 */ GIM_Reject,
29923 /* 84345 */ // Label 2395: @84345
29924 /* 84345 */ GIM_Try, /*On fail goto*//*Label 2400*/ GIMT_Encode4(84399), // Rule ID 17338 //
29925 /* 84350 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
29926 /* 84353 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
29927 /* 84360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
29928 /* 84364 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29929 /* 84368 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
29930 /* 84372 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29931 /* 84379 */ // (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)
29932 /* 84379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD16),
29933 /* 84382 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29934 /* 84384 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29935 /* 84386 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29936 /* 84390 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
29937 /* 84393 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29938 /* 84397 */ GIR_RootConstrainSelectedInstOperands,
29939 /* 84398 */ // GIR_Coverage, 17338,
29940 /* 84398 */ GIR_EraseRootFromParent_Done,
29941 /* 84399 */ // Label 2400: @84399
29942 /* 84399 */ GIM_Reject,
29943 /* 84400 */ // Label 2396: @84400
29944 /* 84400 */ GIM_Try, /*On fail goto*//*Label 2401*/ GIMT_Encode4(84454), // Rule ID 17339 //
29945 /* 84405 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
29946 /* 84408 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
29947 /* 84415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
29948 /* 84419 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29949 /* 84423 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
29950 /* 84427 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29951 /* 84434 */ // (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)
29952 /* 84434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD32),
29953 /* 84437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29954 /* 84439 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29955 /* 84441 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29956 /* 84445 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
29957 /* 84448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29958 /* 84452 */ GIR_RootConstrainSelectedInstOperands,
29959 /* 84453 */ // GIR_Coverage, 17339,
29960 /* 84453 */ GIR_EraseRootFromParent_Done,
29961 /* 84454 */ // Label 2401: @84454
29962 /* 84454 */ GIM_Reject,
29963 /* 84455 */ // Label 2397: @84455
29964 /* 84455 */ GIM_Try, /*On fail goto*//*Label 2402*/ GIMT_Encode4(84509), // Rule ID 17340 //
29965 /* 84460 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
29966 /* 84463 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
29967 /* 84470 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
29968 /* 84474 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29969 /* 84478 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
29970 /* 84482 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29971 /* 84489 */ // (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)
29972 /* 84489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD64),
29973 /* 84492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
29974 /* 84494 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
29975 /* 84496 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
29976 /* 84500 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
29977 /* 84503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29978 /* 84507 */ GIR_RootConstrainSelectedInstOperands,
29979 /* 84508 */ // GIR_Coverage, 17340,
29980 /* 84508 */ GIR_EraseRootFromParent_Done,
29981 /* 84509 */ // Label 2402: @84509
29982 /* 84509 */ GIM_Reject,
29983 /* 84510 */ // Label 2398: @84510
29984 /* 84510 */ GIM_Reject,
29985 /* 84511 */ // Label 19: @84511
29986 /* 84511 */ GIM_Try, /*On fail goto*//*Label 2403*/ GIMT_Encode4(84893),
29987 /* 84516 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
29988 /* 84520 */ GIM_Try, /*On fail goto*//*Label 2404*/ GIMT_Encode4(84635),
29989 /* 84525 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
29990 /* 84536 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2405*/ GIMT_Encode4(84585), GIMT_Encode2(GIFBS_HasPREFETCHI_In64BitMode), // Rule ID 156 //
29991 /* 84543 */ // MIs[0] Operand 2
29992 /* 84543 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(3),
29993 /* 84554 */ // MIs[0] Operand 3
29994 /* 84554 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/3, GIMT_Encode8(0),
29995 /* 84565 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29996 /* 84572 */ // (prefetch addr:{ *:[iPTR] }:$src, 0:{ *:[i32] }, 3:{ *:[i32] }, 0:{ *:[i32] }) => (PREFETCHIT0 addr:{ *:[iPTR] }:$src)
29997 /* 84572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHIT0),
29998 /* 84575 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
29999 /* 84579 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30000 /* 84583 */ GIR_RootConstrainSelectedInstOperands,
30001 /* 84584 */ // GIR_Coverage, 156,
30002 /* 84584 */ GIR_EraseRootFromParent_Done,
30003 /* 84585 */ // Label 2405: @84585
30004 /* 84585 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2406*/ GIMT_Encode4(84634), GIMT_Encode2(GIFBS_HasPREFETCHI_In64BitMode), // Rule ID 157 //
30005 /* 84592 */ // MIs[0] Operand 2
30006 /* 84592 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
30007 /* 84603 */ // MIs[0] Operand 3
30008 /* 84603 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/3, GIMT_Encode8(0),
30009 /* 84614 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30010 /* 84621 */ // (prefetch addr:{ *:[iPTR] }:$src, 0:{ *:[i32] }, 2:{ *:[i32] }, 0:{ *:[i32] }) => (PREFETCHIT1 addr:{ *:[iPTR] }:$src)
30011 /* 84621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHIT1),
30012 /* 84624 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30013 /* 84628 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30014 /* 84632 */ GIR_RootConstrainSelectedInstOperands,
30015 /* 84633 */ // GIR_Coverage, 157,
30016 /* 84633 */ GIR_EraseRootFromParent_Done,
30017 /* 84634 */ // Label 2406: @84634
30018 /* 84634 */ GIM_Reject,
30019 /* 84635 */ // Label 2404: @84635
30020 /* 84635 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2407*/ GIMT_Encode4(84687), GIMT_Encode2(GIFBS_HasPrefetchW), // Rule ID 17040 //
30021 /* 84642 */ // MIs[0] Operand 1
30022 /* 84642 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(1),
30023 /* 84653 */ // MIs[0] Operand 2
30024 /* 84653 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
30025 /* 84656 */ // MIs[0] Operand 3
30026 /* 84656 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/3, GIMT_Encode8(1),
30027 /* 84667 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30028 /* 84674 */ // (prefetch addr:{ *:[iPTR] }:$addr, 1:{ *:[i32] }, (timm:{ *:[i32] })<<P:Predicate_PrefetchWLevel>>, 1:{ *:[i32] }) => (PREFETCHW addr:{ *:[iPTR] }:$addr)
30029 /* 84674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHW),
30030 /* 84677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // addr
30031 /* 84681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30032 /* 84685 */ GIR_RootConstrainSelectedInstOperands,
30033 /* 84686 */ // GIR_Coverage, 17040,
30034 /* 84686 */ GIR_EraseRootFromParent_Done,
30035 /* 84687 */ // Label 2407: @84687
30036 /* 84687 */ GIM_Try, /*On fail goto*//*Label 2408*/ GIMT_Encode4(84892),
30037 /* 84692 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
30038 /* 84695 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2409*/ GIMT_Encode4(84744), GIMT_Encode2(GIFBS_HasSSEPrefetch), // Rule ID 2486 //
30039 /* 84702 */ // MIs[0] Operand 2
30040 /* 84702 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(3),
30041 /* 84713 */ // MIs[0] Operand 3
30042 /* 84713 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/3, GIMT_Encode8(1),
30043 /* 84724 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30044 /* 84731 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 3:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT0 addr:{ *:[iPTR] }:$src)
30045 /* 84731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT0),
30046 /* 84734 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30047 /* 84738 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30048 /* 84742 */ GIR_RootConstrainSelectedInstOperands,
30049 /* 84743 */ // GIR_Coverage, 2486,
30050 /* 84743 */ GIR_EraseRootFromParent_Done,
30051 /* 84744 */ // Label 2409: @84744
30052 /* 84744 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2410*/ GIMT_Encode4(84793), GIMT_Encode2(GIFBS_HasSSEPrefetch), // Rule ID 2487 //
30053 /* 84751 */ // MIs[0] Operand 2
30054 /* 84751 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
30055 /* 84762 */ // MIs[0] Operand 3
30056 /* 84762 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/3, GIMT_Encode8(1),
30057 /* 84773 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30058 /* 84780 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 2:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT1 addr:{ *:[iPTR] }:$src)
30059 /* 84780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT1),
30060 /* 84783 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30061 /* 84787 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30062 /* 84791 */ GIR_RootConstrainSelectedInstOperands,
30063 /* 84792 */ // GIR_Coverage, 2487,
30064 /* 84792 */ GIR_EraseRootFromParent_Done,
30065 /* 84793 */ // Label 2410: @84793
30066 /* 84793 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2411*/ GIMT_Encode4(84842), GIMT_Encode2(GIFBS_HasSSEPrefetch), // Rule ID 2488 //
30067 /* 84800 */ // MIs[0] Operand 2
30068 /* 84800 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(1),
30069 /* 84811 */ // MIs[0] Operand 3
30070 /* 84811 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/3, GIMT_Encode8(1),
30071 /* 84822 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30072 /* 84829 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 1:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT2 addr:{ *:[iPTR] }:$src)
30073 /* 84829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT2),
30074 /* 84832 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30075 /* 84836 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30076 /* 84840 */ GIR_RootConstrainSelectedInstOperands,
30077 /* 84841 */ // GIR_Coverage, 2488,
30078 /* 84841 */ GIR_EraseRootFromParent_Done,
30079 /* 84842 */ // Label 2411: @84842
30080 /* 84842 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2412*/ GIMT_Encode4(84891), GIMT_Encode2(GIFBS_HasSSEPrefetch), // Rule ID 2489 //
30081 /* 84849 */ // MIs[0] Operand 2
30082 /* 84849 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
30083 /* 84860 */ // MIs[0] Operand 3
30084 /* 84860 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/3, GIMT_Encode8(1),
30085 /* 84871 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30086 /* 84878 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 0:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHNTA addr:{ *:[iPTR] }:$src)
30087 /* 84878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHNTA),
30088 /* 84881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30089 /* 84885 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30090 /* 84889 */ GIR_RootConstrainSelectedInstOperands,
30091 /* 84890 */ // GIR_Coverage, 2489,
30092 /* 84890 */ GIR_EraseRootFromParent_Done,
30093 /* 84891 */ // Label 2412: @84891
30094 /* 84891 */ GIM_Reject,
30095 /* 84892 */ // Label 2408: @84892
30096 /* 84892 */ GIM_Reject,
30097 /* 84893 */ // Label 2403: @84893
30098 /* 84893 */ GIM_Reject,
30099 /* 84894 */ // Label 20: @84894
30100 /* 84894 */ GIM_Try, /*On fail goto*//*Label 2413*/ GIMT_Encode4(87137),
30101 /* 84899 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
30102 /* 84902 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2414*/ GIMT_Encode4(84968), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1506 //
30103 /* 84909 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubwd),
30104 /* 84914 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30105 /* 84917 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30106 /* 84920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30107 /* 84924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30108 /* 84928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30109 /* 84932 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30110 /* 84935 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30111 /* 84939 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30112 /* 84943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30113 /* 84945 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30114 /* 84952 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16405:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30115 /* 84952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBWDrm),
30116 /* 84955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30117 /* 84957 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30118 /* 84961 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30119 /* 84966 */ GIR_RootConstrainSelectedInstOperands,
30120 /* 84967 */ // GIR_Coverage, 1506,
30121 /* 84967 */ GIR_EraseRootFromParent_Done,
30122 /* 84968 */ // Label 2414: @84968
30123 /* 84968 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2415*/ GIMT_Encode4(85034), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1508 //
30124 /* 84975 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubdq),
30125 /* 84980 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30126 /* 84983 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30127 /* 84986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30128 /* 84990 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30129 /* 84994 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30130 /* 84998 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30131 /* 85001 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30132 /* 85005 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30133 /* 85009 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30134 /* 85011 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30135 /* 85018 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16404:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30136 /* 85018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBDQrm),
30137 /* 85021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30138 /* 85023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30139 /* 85027 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30140 /* 85032 */ GIR_RootConstrainSelectedInstOperands,
30141 /* 85033 */ // GIR_Coverage, 1508,
30142 /* 85033 */ GIR_EraseRootFromParent_Done,
30143 /* 85034 */ // Label 2415: @85034
30144 /* 85034 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2416*/ GIMT_Encode4(85100), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1510 //
30145 /* 85041 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubbw),
30146 /* 85046 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30147 /* 85049 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30148 /* 85052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30149 /* 85056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30150 /* 85060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30151 /* 85064 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30152 /* 85067 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30153 /* 85071 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30154 /* 85075 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30155 /* 85077 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30156 /* 85084 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16403:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
30157 /* 85084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBBWrm),
30158 /* 85087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30159 /* 85089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30160 /* 85093 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30161 /* 85098 */ GIR_RootConstrainSelectedInstOperands,
30162 /* 85099 */ // GIR_Coverage, 1510,
30163 /* 85099 */ GIR_EraseRootFromParent_Done,
30164 /* 85100 */ // Label 2416: @85100
30165 /* 85100 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2417*/ GIMT_Encode4(85166), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1512 //
30166 /* 85107 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwq),
30167 /* 85112 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30168 /* 85115 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30169 /* 85118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30170 /* 85122 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30171 /* 85126 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30172 /* 85130 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30173 /* 85133 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30174 /* 85137 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30175 /* 85141 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30176 /* 85143 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30177 /* 85150 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16402:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDWQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30178 /* 85150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWQrm),
30179 /* 85153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30180 /* 85155 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30181 /* 85159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30182 /* 85164 */ GIR_RootConstrainSelectedInstOperands,
30183 /* 85165 */ // GIR_Coverage, 1512,
30184 /* 85165 */ GIR_EraseRootFromParent_Done,
30185 /* 85166 */ // Label 2417: @85166
30186 /* 85166 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2418*/ GIMT_Encode4(85232), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1514 //
30187 /* 85173 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwd),
30188 /* 85178 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30189 /* 85181 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30190 /* 85184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30191 /* 85188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30192 /* 85192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30193 /* 85196 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30194 /* 85199 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30195 /* 85203 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30196 /* 85207 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30197 /* 85209 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30198 /* 85216 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16401:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30199 /* 85216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWDrm),
30200 /* 85219 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30201 /* 85221 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30202 /* 85225 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30203 /* 85230 */ GIR_RootConstrainSelectedInstOperands,
30204 /* 85231 */ // GIR_Coverage, 1514,
30205 /* 85231 */ GIR_EraseRootFromParent_Done,
30206 /* 85232 */ // Label 2418: @85232
30207 /* 85232 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2419*/ GIMT_Encode4(85298), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1516 //
30208 /* 85239 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwq),
30209 /* 85244 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30210 /* 85247 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30211 /* 85250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30212 /* 85254 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30213 /* 85258 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30214 /* 85262 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30215 /* 85265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30216 /* 85269 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30217 /* 85273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30218 /* 85275 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30219 /* 85282 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16400:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUWQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30220 /* 85282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWQrm),
30221 /* 85285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30222 /* 85287 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30223 /* 85291 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30224 /* 85296 */ GIR_RootConstrainSelectedInstOperands,
30225 /* 85297 */ // GIR_Coverage, 1516,
30226 /* 85297 */ GIR_EraseRootFromParent_Done,
30227 /* 85298 */ // Label 2419: @85298
30228 /* 85298 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2420*/ GIMT_Encode4(85364), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1518 //
30229 /* 85305 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwd),
30230 /* 85310 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30231 /* 85313 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30232 /* 85316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30233 /* 85320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30234 /* 85324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30235 /* 85328 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30236 /* 85331 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30237 /* 85335 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30238 /* 85339 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30239 /* 85341 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30240 /* 85348 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16399:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30241 /* 85348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWDrm),
30242 /* 85351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30243 /* 85353 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30244 /* 85357 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30245 /* 85362 */ GIR_RootConstrainSelectedInstOperands,
30246 /* 85363 */ // GIR_Coverage, 1518,
30247 /* 85363 */ GIR_EraseRootFromParent_Done,
30248 /* 85364 */ // Label 2420: @85364
30249 /* 85364 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2421*/ GIMT_Encode4(85430), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1520 //
30250 /* 85371 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddudq),
30251 /* 85376 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30252 /* 85379 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30253 /* 85382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30254 /* 85386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30255 /* 85390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30256 /* 85394 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30257 /* 85397 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30258 /* 85401 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30259 /* 85405 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30260 /* 85407 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30261 /* 85414 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16398:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30262 /* 85414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUDQrm),
30263 /* 85417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30264 /* 85419 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30265 /* 85423 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30266 /* 85428 */ GIR_RootConstrainSelectedInstOperands,
30267 /* 85429 */ // GIR_Coverage, 1520,
30268 /* 85429 */ GIR_EraseRootFromParent_Done,
30269 /* 85430 */ // Label 2421: @85430
30270 /* 85430 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2422*/ GIMT_Encode4(85496), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1522 //
30271 /* 85437 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubw),
30272 /* 85442 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30273 /* 85445 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30274 /* 85448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30275 /* 85452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30276 /* 85456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30277 /* 85460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30278 /* 85463 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30279 /* 85467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30280 /* 85471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30281 /* 85473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30282 /* 85480 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16397:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
30283 /* 85480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBWrm),
30284 /* 85483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30285 /* 85485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30286 /* 85489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30287 /* 85494 */ GIR_RootConstrainSelectedInstOperands,
30288 /* 85495 */ // GIR_Coverage, 1522,
30289 /* 85495 */ GIR_EraseRootFromParent_Done,
30290 /* 85496 */ // Label 2422: @85496
30291 /* 85496 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2423*/ GIMT_Encode4(85562), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1524 //
30292 /* 85503 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubq),
30293 /* 85508 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30294 /* 85511 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30295 /* 85514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30296 /* 85518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30297 /* 85522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30298 /* 85526 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30299 /* 85529 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30300 /* 85533 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30301 /* 85537 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30302 /* 85539 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30303 /* 85546 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16396:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30304 /* 85546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBQrm),
30305 /* 85549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30306 /* 85551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30307 /* 85555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30308 /* 85560 */ GIR_RootConstrainSelectedInstOperands,
30309 /* 85561 */ // GIR_Coverage, 1524,
30310 /* 85561 */ GIR_EraseRootFromParent_Done,
30311 /* 85562 */ // Label 2423: @85562
30312 /* 85562 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2424*/ GIMT_Encode4(85628), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1526 //
30313 /* 85569 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubd),
30314 /* 85574 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30315 /* 85577 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30316 /* 85580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30317 /* 85584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30318 /* 85588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30319 /* 85592 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30320 /* 85595 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30321 /* 85599 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30322 /* 85603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30323 /* 85605 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30324 /* 85612 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16395:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30325 /* 85612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBDrm),
30326 /* 85615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30327 /* 85617 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30328 /* 85621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30329 /* 85626 */ GIR_RootConstrainSelectedInstOperands,
30330 /* 85627 */ // GIR_Coverage, 1526,
30331 /* 85627 */ GIR_EraseRootFromParent_Done,
30332 /* 85628 */ // Label 2424: @85628
30333 /* 85628 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2425*/ GIMT_Encode4(85694), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1528 //
30334 /* 85635 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadddq),
30335 /* 85640 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30336 /* 85643 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30337 /* 85646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30338 /* 85650 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30339 /* 85654 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30340 /* 85658 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30341 /* 85661 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30342 /* 85665 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30343 /* 85669 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30344 /* 85671 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30345 /* 85678 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16394:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30346 /* 85678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDDQrm),
30347 /* 85681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30348 /* 85683 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30349 /* 85687 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30350 /* 85692 */ GIR_RootConstrainSelectedInstOperands,
30351 /* 85693 */ // GIR_Coverage, 1528,
30352 /* 85693 */ GIR_EraseRootFromParent_Done,
30353 /* 85694 */ // Label 2425: @85694
30354 /* 85694 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2426*/ GIMT_Encode4(85760), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1530 //
30355 /* 85701 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbw),
30356 /* 85706 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30357 /* 85709 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30358 /* 85712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30359 /* 85716 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30360 /* 85720 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30361 /* 85724 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30362 /* 85727 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30363 /* 85731 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30364 /* 85735 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30365 /* 85737 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30366 /* 85744 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16393:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
30367 /* 85744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBWrm),
30368 /* 85747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30369 /* 85749 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30370 /* 85753 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30371 /* 85758 */ GIR_RootConstrainSelectedInstOperands,
30372 /* 85759 */ // GIR_Coverage, 1530,
30373 /* 85759 */ GIR_EraseRootFromParent_Done,
30374 /* 85760 */ // Label 2426: @85760
30375 /* 85760 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2427*/ GIMT_Encode4(85826), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1532 //
30376 /* 85767 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbq),
30377 /* 85772 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30378 /* 85775 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30379 /* 85778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30380 /* 85782 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30381 /* 85786 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30382 /* 85790 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30383 /* 85793 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30384 /* 85797 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30385 /* 85801 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30386 /* 85803 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30387 /* 85810 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16392:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30388 /* 85810 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBQrm),
30389 /* 85813 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30390 /* 85815 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30391 /* 85819 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30392 /* 85824 */ GIR_RootConstrainSelectedInstOperands,
30393 /* 85825 */ // GIR_Coverage, 1532,
30394 /* 85825 */ GIR_EraseRootFromParent_Done,
30395 /* 85826 */ // Label 2427: @85826
30396 /* 85826 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2428*/ GIMT_Encode4(85892), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1534 //
30397 /* 85833 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbd),
30398 /* 85838 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30399 /* 85841 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30400 /* 85844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30401 /* 85848 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30402 /* 85852 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30403 /* 85856 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30404 /* 85859 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30405 /* 85863 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30406 /* 85867 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30407 /* 85869 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30408 /* 85876 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16391:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30409 /* 85876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBDrm),
30410 /* 85879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30411 /* 85881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30412 /* 85885 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30413 /* 85890 */ GIR_RootConstrainSelectedInstOperands,
30414 /* 85891 */ // GIR_Coverage, 1534,
30415 /* 85891 */ GIR_EraseRootFromParent_Done,
30416 /* 85892 */ // Label 2428: @85892
30417 /* 85892 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2429*/ GIMT_Encode4(85958), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1540 //
30418 /* 85899 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps),
30419 /* 85904 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30420 /* 85907 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30421 /* 85910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30422 /* 85914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30423 /* 85918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30424 /* 85922 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30425 /* 85925 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30426 /* 85929 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30427 /* 85933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30428 /* 85935 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30429 /* 85942 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16383:{ *:[iPTR] }, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
30430 /* 85942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSrm),
30431 /* 85945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30432 /* 85947 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30433 /* 85951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30434 /* 85956 */ GIR_RootConstrainSelectedInstOperands,
30435 /* 85957 */ // GIR_Coverage, 1540,
30436 /* 85957 */ GIR_EraseRootFromParent_Done,
30437 /* 85958 */ // Label 2429: @85958
30438 /* 85958 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2430*/ GIMT_Encode4(86024), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1542 //
30439 /* 85965 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps_256),
30440 /* 85970 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
30441 /* 85973 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
30442 /* 85976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30443 /* 85980 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30444 /* 85984 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30445 /* 85988 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30446 /* 85991 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30447 /* 85995 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30448 /* 85999 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30449 /* 86001 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30450 /* 86008 */ // (intrinsic_wo_chain:{ *:[v8f32] } 16384:{ *:[iPTR] }, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
30451 /* 86008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSYrm),
30452 /* 86011 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30453 /* 86013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30454 /* 86017 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30455 /* 86022 */ GIR_RootConstrainSelectedInstOperands,
30456 /* 86023 */ // GIR_Coverage, 1542,
30457 /* 86023 */ GIR_EraseRootFromParent_Done,
30458 /* 86024 */ // Label 2430: @86024
30459 /* 86024 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2431*/ GIMT_Encode4(86090), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1548 //
30460 /* 86031 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd),
30461 /* 86036 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30462 /* 86039 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30463 /* 86042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30464 /* 86046 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30465 /* 86050 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30466 /* 86054 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30467 /* 86057 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30468 /* 86061 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30469 /* 86065 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30470 /* 86067 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30471 /* 86074 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16381:{ *:[iPTR] }, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
30472 /* 86074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDrm),
30473 /* 86077 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30474 /* 86079 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30475 /* 86083 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30476 /* 86088 */ GIR_RootConstrainSelectedInstOperands,
30477 /* 86089 */ // GIR_Coverage, 1548,
30478 /* 86089 */ GIR_EraseRootFromParent_Done,
30479 /* 86090 */ // Label 2431: @86090
30480 /* 86090 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2432*/ GIMT_Encode4(86156), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1550 //
30481 /* 86097 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd_256),
30482 /* 86102 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
30483 /* 86105 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
30484 /* 86108 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30485 /* 86112 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30486 /* 86116 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30487 /* 86120 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30488 /* 86123 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30489 /* 86127 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30490 /* 86131 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30491 /* 86133 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30492 /* 86140 */ // (intrinsic_wo_chain:{ *:[v4f64] } 16382:{ *:[iPTR] }, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
30493 /* 86140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDYrm),
30494 /* 86143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30495 /* 86145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30496 /* 86149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30497 /* 86154 */ GIR_RootConstrainSelectedInstOperands,
30498 /* 86155 */ // GIR_Coverage, 1550,
30499 /* 86155 */ GIR_EraseRootFromParent_Done,
30500 /* 86156 */ // Label 2432: @86156
30501 /* 86156 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2433*/ GIMT_Encode4(86222), GIMT_Encode2(GIFBS_HasAES_HasAVX), // Rule ID 3352 //
30502 /* 86163 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
30503 /* 86168 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30504 /* 86171 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30505 /* 86174 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30506 /* 86178 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30507 /* 86182 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30508 /* 86186 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30509 /* 86189 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30510 /* 86193 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30511 /* 86197 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30512 /* 86199 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30513 /* 86206 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14784:{ *:[iPTR] }, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESIMCrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
30514 /* 86206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESIMCrm),
30515 /* 86209 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30516 /* 86211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
30517 /* 86215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30518 /* 86220 */ GIR_RootConstrainSelectedInstOperands,
30519 /* 86221 */ // GIR_Coverage, 3352,
30520 /* 86221 */ GIR_EraseRootFromParent_Done,
30521 /* 86222 */ // Label 2433: @86222
30522 /* 86222 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2434*/ GIMT_Encode4(86257), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1505 //
30523 /* 86229 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubwd),
30524 /* 86234 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30525 /* 86237 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30526 /* 86240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30527 /* 86244 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30528 /* 86248 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16405:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHSUBWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
30529 /* 86248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBWDrr),
30530 /* 86251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30531 /* 86253 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30532 /* 86255 */ GIR_RootConstrainSelectedInstOperands,
30533 /* 86256 */ // GIR_Coverage, 1505,
30534 /* 86256 */ GIR_EraseRootFromParent_Done,
30535 /* 86257 */ // Label 2434: @86257
30536 /* 86257 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2435*/ GIMT_Encode4(86292), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1507 //
30537 /* 86264 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubdq),
30538 /* 86269 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30539 /* 86272 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30540 /* 86275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30541 /* 86279 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30542 /* 86283 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16404:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHSUBDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
30543 /* 86283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBDQrr),
30544 /* 86286 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30545 /* 86288 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30546 /* 86290 */ GIR_RootConstrainSelectedInstOperands,
30547 /* 86291 */ // GIR_Coverage, 1507,
30548 /* 86291 */ GIR_EraseRootFromParent_Done,
30549 /* 86292 */ // Label 2435: @86292
30550 /* 86292 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2436*/ GIMT_Encode4(86327), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1509 //
30551 /* 86299 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubbw),
30552 /* 86304 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30553 /* 86307 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30554 /* 86310 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30555 /* 86314 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30556 /* 86318 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16403:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHSUBBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
30557 /* 86318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBBWrr),
30558 /* 86321 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30559 /* 86323 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30560 /* 86325 */ GIR_RootConstrainSelectedInstOperands,
30561 /* 86326 */ // GIR_Coverage, 1509,
30562 /* 86326 */ GIR_EraseRootFromParent_Done,
30563 /* 86327 */ // Label 2436: @86327
30564 /* 86327 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2437*/ GIMT_Encode4(86362), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1511 //
30565 /* 86334 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwq),
30566 /* 86339 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30567 /* 86342 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30568 /* 86345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30569 /* 86349 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30570 /* 86353 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16402:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDWQrr:{ *:[v2i64] } VR128:{ *:[v8i16] }:$src)
30571 /* 86353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWQrr),
30572 /* 86356 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30573 /* 86358 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30574 /* 86360 */ GIR_RootConstrainSelectedInstOperands,
30575 /* 86361 */ // GIR_Coverage, 1511,
30576 /* 86361 */ GIR_EraseRootFromParent_Done,
30577 /* 86362 */ // Label 2437: @86362
30578 /* 86362 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2438*/ GIMT_Encode4(86397), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1513 //
30579 /* 86369 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwd),
30580 /* 86374 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30581 /* 86377 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30582 /* 86380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30583 /* 86384 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30584 /* 86388 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16401:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
30585 /* 86388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWDrr),
30586 /* 86391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30587 /* 86393 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30588 /* 86395 */ GIR_RootConstrainSelectedInstOperands,
30589 /* 86396 */ // GIR_Coverage, 1513,
30590 /* 86396 */ GIR_EraseRootFromParent_Done,
30591 /* 86397 */ // Label 2438: @86397
30592 /* 86397 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2439*/ GIMT_Encode4(86432), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1515 //
30593 /* 86404 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwq),
30594 /* 86409 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30595 /* 86412 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30596 /* 86415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30597 /* 86419 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30598 /* 86423 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16400:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDUWQrr:{ *:[v2i64] } VR128:{ *:[v8i16] }:$src)
30599 /* 86423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWQrr),
30600 /* 86426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30601 /* 86428 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30602 /* 86430 */ GIR_RootConstrainSelectedInstOperands,
30603 /* 86431 */ // GIR_Coverage, 1515,
30604 /* 86431 */ GIR_EraseRootFromParent_Done,
30605 /* 86432 */ // Label 2439: @86432
30606 /* 86432 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2440*/ GIMT_Encode4(86467), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1517 //
30607 /* 86439 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwd),
30608 /* 86444 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30609 /* 86447 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30610 /* 86450 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30611 /* 86454 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30612 /* 86458 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16399:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDUWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
30613 /* 86458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWDrr),
30614 /* 86461 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30615 /* 86463 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30616 /* 86465 */ GIR_RootConstrainSelectedInstOperands,
30617 /* 86466 */ // GIR_Coverage, 1517,
30618 /* 86466 */ GIR_EraseRootFromParent_Done,
30619 /* 86467 */ // Label 2440: @86467
30620 /* 86467 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2441*/ GIMT_Encode4(86502), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1519 //
30621 /* 86474 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddudq),
30622 /* 86479 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30623 /* 86482 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30624 /* 86485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30625 /* 86489 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30626 /* 86493 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16398:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHADDUDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
30627 /* 86493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUDQrr),
30628 /* 86496 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30629 /* 86498 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30630 /* 86500 */ GIR_RootConstrainSelectedInstOperands,
30631 /* 86501 */ // GIR_Coverage, 1519,
30632 /* 86501 */ GIR_EraseRootFromParent_Done,
30633 /* 86502 */ // Label 2441: @86502
30634 /* 86502 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2442*/ GIMT_Encode4(86537), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1521 //
30635 /* 86509 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubw),
30636 /* 86514 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30637 /* 86517 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30638 /* 86520 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30639 /* 86524 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30640 /* 86528 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16397:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
30641 /* 86528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBWrr),
30642 /* 86531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30643 /* 86533 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30644 /* 86535 */ GIR_RootConstrainSelectedInstOperands,
30645 /* 86536 */ // GIR_Coverage, 1521,
30646 /* 86536 */ GIR_EraseRootFromParent_Done,
30647 /* 86537 */ // Label 2442: @86537
30648 /* 86537 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2443*/ GIMT_Encode4(86572), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1523 //
30649 /* 86544 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubq),
30650 /* 86549 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30651 /* 86552 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30652 /* 86555 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30653 /* 86559 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30654 /* 86563 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16396:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBQrr:{ *:[v2i64] } VR128:{ *:[v16i8] }:$src)
30655 /* 86563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBQrr),
30656 /* 86566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30657 /* 86568 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30658 /* 86570 */ GIR_RootConstrainSelectedInstOperands,
30659 /* 86571 */ // GIR_Coverage, 1523,
30660 /* 86571 */ GIR_EraseRootFromParent_Done,
30661 /* 86572 */ // Label 2443: @86572
30662 /* 86572 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2444*/ GIMT_Encode4(86607), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1525 //
30663 /* 86579 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubd),
30664 /* 86584 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30665 /* 86587 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30666 /* 86590 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30667 /* 86594 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30668 /* 86598 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16395:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBDrr:{ *:[v4i32] } VR128:{ *:[v16i8] }:$src)
30669 /* 86598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBDrr),
30670 /* 86601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30671 /* 86603 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30672 /* 86605 */ GIR_RootConstrainSelectedInstOperands,
30673 /* 86606 */ // GIR_Coverage, 1525,
30674 /* 86606 */ GIR_EraseRootFromParent_Done,
30675 /* 86607 */ // Label 2444: @86607
30676 /* 86607 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2445*/ GIMT_Encode4(86642), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1527 //
30677 /* 86614 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadddq),
30678 /* 86619 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30679 /* 86622 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30680 /* 86625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30681 /* 86629 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30682 /* 86633 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16394:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHADDDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
30683 /* 86633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDDQrr),
30684 /* 86636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30685 /* 86638 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30686 /* 86640 */ GIR_RootConstrainSelectedInstOperands,
30687 /* 86641 */ // GIR_Coverage, 1527,
30688 /* 86641 */ GIR_EraseRootFromParent_Done,
30689 /* 86642 */ // Label 2445: @86642
30690 /* 86642 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2446*/ GIMT_Encode4(86677), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1529 //
30691 /* 86649 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbw),
30692 /* 86654 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30693 /* 86657 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30694 /* 86660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30695 /* 86664 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30696 /* 86668 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16393:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
30697 /* 86668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBWrr),
30698 /* 86671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30699 /* 86673 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30700 /* 86675 */ GIR_RootConstrainSelectedInstOperands,
30701 /* 86676 */ // GIR_Coverage, 1529,
30702 /* 86676 */ GIR_EraseRootFromParent_Done,
30703 /* 86677 */ // Label 2446: @86677
30704 /* 86677 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2447*/ GIMT_Encode4(86712), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1531 //
30705 /* 86684 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbq),
30706 /* 86689 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30707 /* 86692 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30708 /* 86695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30709 /* 86699 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30710 /* 86703 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16392:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBQrr:{ *:[v2i64] } VR128:{ *:[v16i8] }:$src)
30711 /* 86703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBQrr),
30712 /* 86706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30713 /* 86708 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30714 /* 86710 */ GIR_RootConstrainSelectedInstOperands,
30715 /* 86711 */ // GIR_Coverage, 1531,
30716 /* 86711 */ GIR_EraseRootFromParent_Done,
30717 /* 86712 */ // Label 2447: @86712
30718 /* 86712 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2448*/ GIMT_Encode4(86747), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1533 //
30719 /* 86719 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbd),
30720 /* 86724 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30721 /* 86727 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30722 /* 86730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30723 /* 86734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30724 /* 86738 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16391:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBDrr:{ *:[v4i32] } VR128:{ *:[v16i8] }:$src)
30725 /* 86738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBDrr),
30726 /* 86741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30727 /* 86743 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30728 /* 86745 */ GIR_RootConstrainSelectedInstOperands,
30729 /* 86746 */ // GIR_Coverage, 1533,
30730 /* 86746 */ GIR_EraseRootFromParent_Done,
30731 /* 86747 */ // Label 2448: @86747
30732 /* 86747 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2449*/ GIMT_Encode4(86782), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1535 //
30733 /* 86754 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ss),
30734 /* 86759 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30735 /* 86762 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30736 /* 86765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30737 /* 86769 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30738 /* 86773 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16386:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VFRCZSSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
30739 /* 86773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZSSrr),
30740 /* 86776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30741 /* 86778 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30742 /* 86780 */ GIR_RootConstrainSelectedInstOperands,
30743 /* 86781 */ // GIR_Coverage, 1535,
30744 /* 86781 */ GIR_EraseRootFromParent_Done,
30745 /* 86782 */ // Label 2449: @86782
30746 /* 86782 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2450*/ GIMT_Encode4(86817), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1539 //
30747 /* 86789 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps),
30748 /* 86794 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30749 /* 86797 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30750 /* 86800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30751 /* 86804 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30752 /* 86808 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16383:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VFRCZPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
30753 /* 86808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSrr),
30754 /* 86811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30755 /* 86813 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30756 /* 86815 */ GIR_RootConstrainSelectedInstOperands,
30757 /* 86816 */ // GIR_Coverage, 1539,
30758 /* 86816 */ GIR_EraseRootFromParent_Done,
30759 /* 86817 */ // Label 2450: @86817
30760 /* 86817 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2451*/ GIMT_Encode4(86852), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1541 //
30761 /* 86824 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps_256),
30762 /* 86829 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
30763 /* 86832 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
30764 /* 86835 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30765 /* 86839 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30766 /* 86843 */ // (intrinsic_wo_chain:{ *:[v8f32] } 16384:{ *:[iPTR] }, VR256:{ *:[v8f32] }:$src) => (VFRCZPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
30767 /* 86843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSYrr),
30768 /* 86846 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30769 /* 86848 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30770 /* 86850 */ GIR_RootConstrainSelectedInstOperands,
30771 /* 86851 */ // GIR_Coverage, 1541,
30772 /* 86851 */ GIR_EraseRootFromParent_Done,
30773 /* 86852 */ // Label 2451: @86852
30774 /* 86852 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2452*/ GIMT_Encode4(86887), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1543 //
30775 /* 86859 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_sd),
30776 /* 86864 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30777 /* 86867 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30778 /* 86870 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30779 /* 86874 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30780 /* 86878 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16385:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src) => (VFRCZSDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
30781 /* 86878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZSDrr),
30782 /* 86881 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30783 /* 86883 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30784 /* 86885 */ GIR_RootConstrainSelectedInstOperands,
30785 /* 86886 */ // GIR_Coverage, 1543,
30786 /* 86886 */ GIR_EraseRootFromParent_Done,
30787 /* 86887 */ // Label 2452: @86887
30788 /* 86887 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2453*/ GIMT_Encode4(86922), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1547 //
30789 /* 86894 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd),
30790 /* 86899 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30791 /* 86902 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30792 /* 86905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30793 /* 86909 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30794 /* 86913 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16381:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src) => (VFRCZPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
30795 /* 86913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDrr),
30796 /* 86916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30797 /* 86918 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30798 /* 86920 */ GIR_RootConstrainSelectedInstOperands,
30799 /* 86921 */ // GIR_Coverage, 1547,
30800 /* 86921 */ GIR_EraseRootFromParent_Done,
30801 /* 86922 */ // Label 2453: @86922
30802 /* 86922 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2454*/ GIMT_Encode4(86957), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1549 //
30803 /* 86929 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd_256),
30804 /* 86934 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
30805 /* 86937 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
30806 /* 86940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30807 /* 86944 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30808 /* 86948 */ // (intrinsic_wo_chain:{ *:[v4f64] } 16382:{ *:[iPTR] }, VR256:{ *:[v4f64] }:$src) => (VFRCZPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
30809 /* 86948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDYrr),
30810 /* 86951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30811 /* 86953 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30812 /* 86955 */ GIR_RootConstrainSelectedInstOperands,
30813 /* 86956 */ // GIR_Coverage, 1549,
30814 /* 86956 */ GIR_EraseRootFromParent_Done,
30815 /* 86957 */ // Label 2454: @86957
30816 /* 86957 */ GIM_Try, /*On fail goto*//*Label 2455*/ GIMT_Encode4(87014),
30817 /* 86962 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
30818 /* 86967 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30819 /* 86970 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30820 /* 86973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30821 /* 86977 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30822 /* 86981 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2456*/ GIMT_Encode4(86997), GIMT_Encode2(GIFBS_HasAES_HasAVX), // Rule ID 3351 //
30823 /* 86988 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14784:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1) => (VAESIMCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1)
30824 /* 86988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESIMCrr),
30825 /* 86991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30826 /* 86993 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
30827 /* 86995 */ GIR_RootConstrainSelectedInstOperands,
30828 /* 86996 */ // GIR_Coverage, 3351,
30829 /* 86996 */ GIR_EraseRootFromParent_Done,
30830 /* 86997 */ // Label 2456: @86997
30831 /* 86997 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2457*/ GIMT_Encode4(87013), GIMT_Encode2(GIFBS_HasAES_NoAVX), // Rule ID 3353 //
30832 /* 87004 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14784:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1) => (AESIMCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1)
30833 /* 87004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESIMCrr),
30834 /* 87007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30835 /* 87009 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
30836 /* 87011 */ GIR_RootConstrainSelectedInstOperands,
30837 /* 87012 */ // GIR_Coverage, 3353,
30838 /* 87012 */ GIR_EraseRootFromParent_Done,
30839 /* 87013 */ // Label 2457: @87013
30840 /* 87013 */ GIM_Reject,
30841 /* 87014 */ // Label 2455: @87014
30842 /* 87014 */ GIM_Try, /*On fail goto*//*Label 2458*/ GIMT_Encode4(87075),
30843 /* 87019 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rsqrt_ss),
30844 /* 87024 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30845 /* 87027 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30846 /* 87030 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30847 /* 87034 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30848 /* 87038 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2459*/ GIMT_Encode4(87056), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18359 //
30849 /* 87045 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16119:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (RSQRTSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
30850 /* 87045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RSQRTSSr_Int),
30851 /* 87048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30852 /* 87050 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30853 /* 87052 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30854 /* 87054 */ GIR_RootConstrainSelectedInstOperands,
30855 /* 87055 */ // GIR_Coverage, 18359,
30856 /* 87055 */ GIR_EraseRootFromParent_Done,
30857 /* 87056 */ // Label 2459: @87056
30858 /* 87056 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2460*/ GIMT_Encode4(87074), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 18363 //
30859 /* 87063 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16119:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VRSQRTSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
30860 /* 87063 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VRSQRTSSr_Int),
30861 /* 87066 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30862 /* 87068 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30863 /* 87070 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30864 /* 87072 */ GIR_RootConstrainSelectedInstOperands,
30865 /* 87073 */ // GIR_Coverage, 18363,
30866 /* 87073 */ GIR_EraseRootFromParent_Done,
30867 /* 87074 */ // Label 2460: @87074
30868 /* 87074 */ GIM_Reject,
30869 /* 87075 */ // Label 2458: @87075
30870 /* 87075 */ GIM_Try, /*On fail goto*//*Label 2461*/ GIMT_Encode4(87136),
30871 /* 87080 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rcp_ss),
30872 /* 87085 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30873 /* 87088 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30874 /* 87091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30875 /* 87095 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30876 /* 87099 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2462*/ GIMT_Encode4(87117), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 18379 //
30877 /* 87106 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16117:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (RCPSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
30878 /* 87106 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RCPSSr_Int),
30879 /* 87109 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30880 /* 87111 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30881 /* 87113 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30882 /* 87115 */ GIR_RootConstrainSelectedInstOperands,
30883 /* 87116 */ // GIR_Coverage, 18379,
30884 /* 87116 */ GIR_EraseRootFromParent_Done,
30885 /* 87117 */ // Label 2462: @87117
30886 /* 87117 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2463*/ GIMT_Encode4(87135), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 18383 //
30887 /* 87124 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16117:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VRCPSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
30888 /* 87124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VRCPSSr_Int),
30889 /* 87127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30890 /* 87129 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30891 /* 87131 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30892 /* 87133 */ GIR_RootConstrainSelectedInstOperands,
30893 /* 87134 */ // GIR_Coverage, 18383,
30894 /* 87134 */ GIR_EraseRootFromParent_Done,
30895 /* 87135 */ // Label 2463: @87135
30896 /* 87135 */ GIM_Reject,
30897 /* 87136 */ // Label 2461: @87136
30898 /* 87136 */ GIM_Reject,
30899 /* 87137 */ // Label 2413: @87137
30900 /* 87137 */ GIM_Try, /*On fail goto*//*Label 2464*/ GIMT_Encode4(93221),
30901 /* 87142 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/4,
30902 /* 87145 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2465*/ GIMT_Encode4(87216), GIMT_Encode2(GIFBS_HasAES_HasAVX), // Rule ID 3356 //
30903 /* 87152 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
30904 /* 87157 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30905 /* 87160 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30906 /* 87163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30907 /* 87167 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30908 /* 87171 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30909 /* 87175 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30910 /* 87178 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30911 /* 87182 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30912 /* 87186 */ // MIs[0] src2
30913 /* 87186 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
30914 /* 87189 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30915 /* 87191 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30916 /* 87198 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14785:{ *:[iPTR] }, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (timm:{ *:[i8] }):$src2) => (VAESKEYGENASSISTrmi:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1, (timm:{ *:[i8] }):$src2)
30917 /* 87198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESKEYGENASSISTrmi),
30918 /* 87201 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30919 /* 87203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
30920 /* 87207 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
30921 /* 87209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30922 /* 87214 */ GIR_RootConstrainSelectedInstOperands,
30923 /* 87215 */ // GIR_Coverage, 3356,
30924 /* 87215 */ GIR_EraseRootFromParent_Done,
30925 /* 87216 */ // Label 2465: @87216
30926 /* 87216 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2466*/ GIMT_Encode4(87291), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16847 //
30927 /* 87223 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
30928 /* 87228 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30929 /* 87231 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30930 /* 87234 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
30931 /* 87237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
30932 /* 87241 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
30933 /* 87245 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
30934 /* 87249 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30935 /* 87253 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30936 /* 87256 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30937 /* 87260 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30938 /* 87264 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30939 /* 87266 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30940 /* 87273 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16360:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Z128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
30941 /* 87273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z128rm),
30942 /* 87276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30943 /* 87278 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
30944 /* 87280 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
30945 /* 87284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30946 /* 87289 */ GIR_RootConstrainSelectedInstOperands,
30947 /* 87290 */ // GIR_Coverage, 16847,
30948 /* 87290 */ GIR_EraseRootFromParent_Done,
30949 /* 87291 */ // Label 2466: @87291
30950 /* 87291 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2467*/ GIMT_Encode4(87366), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16849 //
30951 /* 87298 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
30952 /* 87303 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
30953 /* 87306 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
30954 /* 87309 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
30955 /* 87312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30956 /* 87316 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30957 /* 87320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
30958 /* 87324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30959 /* 87328 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30960 /* 87331 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30961 /* 87335 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30962 /* 87339 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30963 /* 87341 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30964 /* 87348 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16361:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Z256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
30965 /* 87348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z256rm),
30966 /* 87351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30967 /* 87353 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
30968 /* 87355 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
30969 /* 87359 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30970 /* 87364 */ GIR_RootConstrainSelectedInstOperands,
30971 /* 87365 */ // GIR_Coverage, 16849,
30972 /* 87365 */ GIR_EraseRootFromParent_Done,
30973 /* 87366 */ // Label 2467: @87366
30974 /* 87366 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2468*/ GIMT_Encode4(87441), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16853 //
30975 /* 87373 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
30976 /* 87378 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30977 /* 87381 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30978 /* 87384 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
30979 /* 87387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
30980 /* 87391 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
30981 /* 87395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
30982 /* 87399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30983 /* 87403 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30984 /* 87406 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30985 /* 87410 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30986 /* 87414 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30987 /* 87416 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30988 /* 87423 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16363:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Z128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
30989 /* 87423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z128rm),
30990 /* 87426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30991 /* 87428 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
30992 /* 87430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
30993 /* 87434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30994 /* 87439 */ GIR_RootConstrainSelectedInstOperands,
30995 /* 87440 */ // GIR_Coverage, 16853,
30996 /* 87440 */ GIR_EraseRootFromParent_Done,
30997 /* 87441 */ // Label 2468: @87441
30998 /* 87441 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2469*/ GIMT_Encode4(87516), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16855 //
30999 /* 87448 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
31000 /* 87453 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31001 /* 87456 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31002 /* 87459 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31003 /* 87462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31004 /* 87466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31005 /* 87470 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31006 /* 87474 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31007 /* 87478 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31008 /* 87481 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31009 /* 87485 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31010 /* 87489 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31011 /* 87491 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31012 /* 87498 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16364:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Z256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31013 /* 87498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z256rm),
31014 /* 87501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31015 /* 87503 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31016 /* 87505 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31017 /* 87509 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31018 /* 87514 */ GIR_RootConstrainSelectedInstOperands,
31019 /* 87515 */ // GIR_Coverage, 16855,
31020 /* 87515 */ GIR_EraseRootFromParent_Done,
31021 /* 87516 */ // Label 2469: @87516
31022 /* 87516 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2470*/ GIMT_Encode4(87591), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3009 //
31023 /* 87523 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
31024 /* 87528 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
31025 /* 87531 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31026 /* 87534 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
31027 /* 87537 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31028 /* 87541 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31029 /* 87545 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31030 /* 87549 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31031 /* 87553 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31032 /* 87556 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31033 /* 87560 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31034 /* 87564 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31035 /* 87566 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31036 /* 87573 */ // (intrinsic_wo_chain:{ *:[v16i8] } 16257:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
31037 /* 87573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBrm),
31038 /* 87576 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31039 /* 87578 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31040 /* 87580 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31041 /* 87584 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31042 /* 87589 */ GIR_RootConstrainSelectedInstOperands,
31043 /* 87590 */ // GIR_Coverage, 3009,
31044 /* 87590 */ GIR_EraseRootFromParent_Done,
31045 /* 87591 */ // Label 2470: @87591
31046 /* 87591 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2471*/ GIMT_Encode4(87666), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3011 //
31047 /* 87598 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
31048 /* 87603 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31049 /* 87606 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31050 /* 87609 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
31051 /* 87612 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31052 /* 87616 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31053 /* 87620 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31054 /* 87624 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31055 /* 87628 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31056 /* 87631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31057 /* 87635 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31058 /* 87639 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31059 /* 87641 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31060 /* 87648 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16261:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
31061 /* 87648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWrm),
31062 /* 87651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31063 /* 87653 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31064 /* 87655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31065 /* 87659 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31066 /* 87664 */ GIR_RootConstrainSelectedInstOperands,
31067 /* 87665 */ // GIR_Coverage, 3011,
31068 /* 87665 */ GIR_EraseRootFromParent_Done,
31069 /* 87666 */ // Label 2471: @87666
31070 /* 87666 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2472*/ GIMT_Encode4(87741), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3013 //
31071 /* 87673 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
31072 /* 87678 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31073 /* 87681 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31074 /* 87684 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31075 /* 87687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31076 /* 87691 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31077 /* 87695 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31078 /* 87699 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31079 /* 87703 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31080 /* 87706 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31081 /* 87710 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31082 /* 87714 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31083 /* 87716 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31084 /* 87723 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16259:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31085 /* 87723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDrm),
31086 /* 87726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31087 /* 87728 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31088 /* 87730 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31089 /* 87734 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31090 /* 87739 */ GIR_RootConstrainSelectedInstOperands,
31091 /* 87740 */ // GIR_Coverage, 3013,
31092 /* 87740 */ GIR_EraseRootFromParent_Done,
31093 /* 87741 */ // Label 2472: @87741
31094 /* 87741 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2473*/ GIMT_Encode4(87816), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3033 //
31095 /* 87748 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_b),
31096 /* 87753 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
31097 /* 87756 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
31098 /* 87759 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
31099 /* 87762 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31100 /* 87766 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31101 /* 87770 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31102 /* 87774 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31103 /* 87778 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31104 /* 87781 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31105 /* 87785 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31106 /* 87789 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31107 /* 87791 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31108 /* 87798 */ // (intrinsic_wo_chain:{ *:[v32i8] } 15148:{ *:[iPTR] }, VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
31109 /* 87798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBYrm),
31110 /* 87801 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31111 /* 87803 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31112 /* 87805 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31113 /* 87809 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31114 /* 87814 */ GIR_RootConstrainSelectedInstOperands,
31115 /* 87815 */ // GIR_Coverage, 3033,
31116 /* 87815 */ GIR_EraseRootFromParent_Done,
31117 /* 87816 */ // Label 2473: @87816
31118 /* 87816 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2474*/ GIMT_Encode4(87891), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3035 //
31119 /* 87823 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_w),
31120 /* 87828 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
31121 /* 87831 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
31122 /* 87834 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
31123 /* 87837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31124 /* 87841 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31125 /* 87845 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31126 /* 87849 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31127 /* 87853 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31128 /* 87856 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31129 /* 87860 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31130 /* 87864 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31131 /* 87866 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31132 /* 87873 */ // (intrinsic_wo_chain:{ *:[v16i16] } 15150:{ *:[iPTR] }, VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
31133 /* 87873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWYrm),
31134 /* 87876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31135 /* 87878 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31136 /* 87880 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31137 /* 87884 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31138 /* 87889 */ GIR_RootConstrainSelectedInstOperands,
31139 /* 87890 */ // GIR_Coverage, 3035,
31140 /* 87890 */ GIR_EraseRootFromParent_Done,
31141 /* 87891 */ // Label 2474: @87891
31142 /* 87891 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2475*/ GIMT_Encode4(87966), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3037 //
31143 /* 87898 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_d),
31144 /* 87903 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31145 /* 87906 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31146 /* 87909 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31147 /* 87912 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31148 /* 87916 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31149 /* 87920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31150 /* 87924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31151 /* 87928 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31152 /* 87931 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31153 /* 87935 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31154 /* 87939 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31155 /* 87941 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31156 /* 87948 */ // (intrinsic_wo_chain:{ *:[v8i32] } 15149:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31157 /* 87948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDYrm),
31158 /* 87951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31159 /* 87953 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31160 /* 87955 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31161 /* 87959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31162 /* 87964 */ GIR_RootConstrainSelectedInstOperands,
31163 /* 87965 */ // GIR_Coverage, 3037,
31164 /* 87965 */ GIR_EraseRootFromParent_Done,
31165 /* 87966 */ // Label 2475: @87966
31166 /* 87966 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2476*/ GIMT_Encode4(88041), GIMT_Encode2(GIFBS_HasCRC32_NoEGPR), // Rule ID 3298 //
31167 /* 87973 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
31168 /* 87978 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31169 /* 87981 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31170 /* 87984 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
31171 /* 87987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31172 /* 87991 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31173 /* 87995 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31174 /* 87999 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31175 /* 88003 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31176 /* 88006 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31177 /* 88010 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31178 /* 88014 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31179 /* 88016 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31180 /* 88023 */ // (intrinsic_wo_chain:{ *:[i32] } 16215:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m8:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31181 /* 88023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m8),
31182 /* 88026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31183 /* 88028 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31184 /* 88030 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31185 /* 88034 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31186 /* 88039 */ GIR_RootConstrainSelectedInstOperands,
31187 /* 88040 */ // GIR_Coverage, 3298,
31188 /* 88040 */ GIR_EraseRootFromParent_Done,
31189 /* 88041 */ // Label 2476: @88041
31190 /* 88041 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2477*/ GIMT_Encode4(88116), GIMT_Encode2(GIFBS_HasCRC32_NoEGPR), // Rule ID 3300 //
31191 /* 88048 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
31192 /* 88053 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31193 /* 88056 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31194 /* 88059 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
31195 /* 88062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31196 /* 88066 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31197 /* 88070 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31198 /* 88074 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31199 /* 88078 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31200 /* 88081 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31201 /* 88085 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31202 /* 88089 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31203 /* 88091 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31204 /* 88098 */ // (intrinsic_wo_chain:{ *:[i32] } 16213:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m16:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31205 /* 88098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m16),
31206 /* 88101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31207 /* 88103 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31208 /* 88105 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31209 /* 88109 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31210 /* 88114 */ GIR_RootConstrainSelectedInstOperands,
31211 /* 88115 */ // GIR_Coverage, 3300,
31212 /* 88115 */ GIR_EraseRootFromParent_Done,
31213 /* 88116 */ // Label 2477: @88116
31214 /* 88116 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2478*/ GIMT_Encode4(88191), GIMT_Encode2(GIFBS_HasCRC32_NoEGPR), // Rule ID 3302 //
31215 /* 88123 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
31216 /* 88128 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31217 /* 88131 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31218 /* 88134 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
31219 /* 88137 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31220 /* 88141 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31221 /* 88145 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31222 /* 88149 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31223 /* 88153 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31224 /* 88156 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31225 /* 88160 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31226 /* 88164 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31227 /* 88166 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31228 /* 88173 */ // (intrinsic_wo_chain:{ *:[i32] } 16214:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m32:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31229 /* 88173 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m32),
31230 /* 88176 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31231 /* 88178 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31232 /* 88180 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31233 /* 88184 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31234 /* 88189 */ GIR_RootConstrainSelectedInstOperands,
31235 /* 88190 */ // GIR_Coverage, 3302,
31236 /* 88190 */ GIR_EraseRootFromParent_Done,
31237 /* 88191 */ // Label 2478: @88191
31238 /* 88191 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2479*/ GIMT_Encode4(88266), GIMT_Encode2(GIFBS_HasCRC32_NoEGPR), // Rule ID 3304 //
31239 /* 88198 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
31240 /* 88203 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
31241 /* 88206 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
31242 /* 88209 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
31243 /* 88212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31244 /* 88216 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31245 /* 88220 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31246 /* 88224 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31247 /* 88228 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31248 /* 88231 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31249 /* 88235 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31250 /* 88239 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31251 /* 88241 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31252 /* 88248 */ // (intrinsic_wo_chain:{ *:[i64] } 16216:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r64m64:{ *:[i64] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31253 /* 88248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64m64),
31254 /* 88251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31255 /* 88253 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31256 /* 88255 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31257 /* 88259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31258 /* 88264 */ GIR_RootConstrainSelectedInstOperands,
31259 /* 88265 */ // GIR_Coverage, 3304,
31260 /* 88265 */ GIR_EraseRootFromParent_Done,
31261 /* 88266 */ // Label 2479: @88266
31262 /* 88266 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2480*/ GIMT_Encode4(88341), GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode), // Rule ID 3306 //
31263 /* 88273 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
31264 /* 88278 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31265 /* 88281 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31266 /* 88284 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
31267 /* 88287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31268 /* 88291 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31269 /* 88295 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31270 /* 88299 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31271 /* 88303 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31272 /* 88306 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31273 /* 88310 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31274 /* 88314 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31275 /* 88316 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31276 /* 88323 */ // (intrinsic_wo_chain:{ *:[i32] } 16215:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m8_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31277 /* 88323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m8_EVEX),
31278 /* 88326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31279 /* 88328 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31280 /* 88330 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31281 /* 88334 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31282 /* 88339 */ GIR_RootConstrainSelectedInstOperands,
31283 /* 88340 */ // GIR_Coverage, 3306,
31284 /* 88340 */ GIR_EraseRootFromParent_Done,
31285 /* 88341 */ // Label 2480: @88341
31286 /* 88341 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2481*/ GIMT_Encode4(88416), GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode), // Rule ID 3308 //
31287 /* 88348 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
31288 /* 88353 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31289 /* 88356 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31290 /* 88359 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
31291 /* 88362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31292 /* 88366 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31293 /* 88370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31294 /* 88374 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31295 /* 88378 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31296 /* 88381 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31297 /* 88385 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31298 /* 88389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31299 /* 88391 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31300 /* 88398 */ // (intrinsic_wo_chain:{ *:[i32] } 16213:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m16_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31301 /* 88398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m16_EVEX),
31302 /* 88401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31303 /* 88403 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31304 /* 88405 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31305 /* 88409 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31306 /* 88414 */ GIR_RootConstrainSelectedInstOperands,
31307 /* 88415 */ // GIR_Coverage, 3308,
31308 /* 88415 */ GIR_EraseRootFromParent_Done,
31309 /* 88416 */ // Label 2481: @88416
31310 /* 88416 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2482*/ GIMT_Encode4(88491), GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode), // Rule ID 3310 //
31311 /* 88423 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
31312 /* 88428 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31313 /* 88431 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31314 /* 88434 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
31315 /* 88437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31316 /* 88441 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31317 /* 88445 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31318 /* 88449 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31319 /* 88453 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31320 /* 88456 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31321 /* 88460 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31322 /* 88464 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31323 /* 88466 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31324 /* 88473 */ // (intrinsic_wo_chain:{ *:[i32] } 16214:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m32_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31325 /* 88473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m32_EVEX),
31326 /* 88476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31327 /* 88478 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31328 /* 88480 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31329 /* 88484 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31330 /* 88489 */ GIR_RootConstrainSelectedInstOperands,
31331 /* 88490 */ // GIR_Coverage, 3310,
31332 /* 88490 */ GIR_EraseRootFromParent_Done,
31333 /* 88491 */ // Label 2482: @88491
31334 /* 88491 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2483*/ GIMT_Encode4(88566), GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode), // Rule ID 3312 //
31335 /* 88498 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
31336 /* 88503 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
31337 /* 88506 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
31338 /* 88509 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
31339 /* 88512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31340 /* 88516 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31341 /* 88520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31342 /* 88524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31343 /* 88528 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31344 /* 88531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31345 /* 88535 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31346 /* 88539 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31347 /* 88541 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31348 /* 88548 */ // (intrinsic_wo_chain:{ *:[i64] } 16216:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r64m64_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31349 /* 88548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64m64_EVEX),
31350 /* 88551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31351 /* 88553 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31352 /* 88555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31353 /* 88559 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31354 /* 88564 */ GIR_RootConstrainSelectedInstOperands,
31355 /* 88565 */ // GIR_Coverage, 3312,
31356 /* 88565 */ GIR_EraseRootFromParent_Done,
31357 /* 88566 */ // Label 2483: @88566
31358 /* 88566 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2484*/ GIMT_Encode4(88641), GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES), // Rule ID 3328 //
31359 /* 88573 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
31360 /* 88578 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31361 /* 88581 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31362 /* 88584 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31363 /* 88587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31364 /* 88591 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31365 /* 88595 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31366 /* 88599 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31367 /* 88603 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31368 /* 88606 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31369 /* 88610 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31370 /* 88614 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31371 /* 88616 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31372 /* 88623 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14778:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31373 /* 88623 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCrm),
31374 /* 88626 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31375 /* 88628 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31376 /* 88630 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31377 /* 88634 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31378 /* 88639 */ GIR_RootConstrainSelectedInstOperands,
31379 /* 88640 */ // GIR_Coverage, 3328,
31380 /* 88640 */ GIR_EraseRootFromParent_Done,
31381 /* 88641 */ // Label 2484: @88641
31382 /* 88641 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2485*/ GIMT_Encode4(88716), GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES), // Rule ID 3330 //
31383 /* 88648 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
31384 /* 88653 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31385 /* 88656 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31386 /* 88659 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31387 /* 88662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31388 /* 88666 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31389 /* 88670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31390 /* 88674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31391 /* 88678 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31392 /* 88681 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31393 /* 88685 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31394 /* 88689 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31395 /* 88691 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31396 /* 88698 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14781:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31397 /* 88698 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTrm),
31398 /* 88701 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31399 /* 88703 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31400 /* 88705 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31401 /* 88709 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31402 /* 88714 */ GIR_RootConstrainSelectedInstOperands,
31403 /* 88715 */ // GIR_Coverage, 3330,
31404 /* 88715 */ GIR_EraseRootFromParent_Done,
31405 /* 88716 */ // Label 2485: @88716
31406 /* 88716 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2486*/ GIMT_Encode4(88791), GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES), // Rule ID 3332 //
31407 /* 88723 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
31408 /* 88728 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31409 /* 88731 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31410 /* 88734 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31411 /* 88737 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31412 /* 88741 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31413 /* 88745 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31414 /* 88749 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31415 /* 88753 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31416 /* 88756 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31417 /* 88760 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31418 /* 88764 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31419 /* 88766 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31420 /* 88773 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14772:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31421 /* 88773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECrm),
31422 /* 88776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31423 /* 88778 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31424 /* 88780 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31425 /* 88784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31426 /* 88789 */ GIR_RootConstrainSelectedInstOperands,
31427 /* 88790 */ // GIR_Coverage, 3332,
31428 /* 88790 */ GIR_EraseRootFromParent_Done,
31429 /* 88791 */ // Label 2486: @88791
31430 /* 88791 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2487*/ GIMT_Encode4(88866), GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES), // Rule ID 3334 //
31431 /* 88798 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
31432 /* 88803 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31433 /* 88806 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31434 /* 88809 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31435 /* 88812 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31436 /* 88816 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31437 /* 88820 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31438 /* 88824 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31439 /* 88828 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31440 /* 88831 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31441 /* 88835 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31442 /* 88839 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31443 /* 88841 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31444 /* 88848 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14775:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31445 /* 88848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTrm),
31446 /* 88851 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31447 /* 88853 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31448 /* 88855 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31449 /* 88859 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31450 /* 88864 */ GIR_RootConstrainSelectedInstOperands,
31451 /* 88865 */ // GIR_Coverage, 3334,
31452 /* 88865 */ GIR_EraseRootFromParent_Done,
31453 /* 88866 */ // Label 2487: @88866
31454 /* 88866 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2488*/ GIMT_Encode4(88941), GIMT_Encode2(GIFBS_HasVAES_NoVLX), // Rule ID 3336 //
31455 /* 88873 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
31456 /* 88878 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31457 /* 88881 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31458 /* 88884 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31459 /* 88887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31460 /* 88891 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31461 /* 88895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31462 /* 88899 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31463 /* 88903 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31464 /* 88906 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31465 /* 88910 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31466 /* 88914 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31467 /* 88916 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31468 /* 88923 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14779:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31469 /* 88923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCYrm),
31470 /* 88926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31471 /* 88928 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31472 /* 88930 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31473 /* 88934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31474 /* 88939 */ GIR_RootConstrainSelectedInstOperands,
31475 /* 88940 */ // GIR_Coverage, 3336,
31476 /* 88940 */ GIR_EraseRootFromParent_Done,
31477 /* 88941 */ // Label 2488: @88941
31478 /* 88941 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2489*/ GIMT_Encode4(89016), GIMT_Encode2(GIFBS_HasVAES_NoVLX), // Rule ID 3338 //
31479 /* 88948 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
31480 /* 88953 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31481 /* 88956 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31482 /* 88959 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31483 /* 88962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31484 /* 88966 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31485 /* 88970 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31486 /* 88974 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31487 /* 88978 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31488 /* 88981 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31489 /* 88985 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31490 /* 88989 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31491 /* 88991 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31492 /* 88998 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14782:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31493 /* 88998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTYrm),
31494 /* 89001 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31495 /* 89003 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31496 /* 89005 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31497 /* 89009 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31498 /* 89014 */ GIR_RootConstrainSelectedInstOperands,
31499 /* 89015 */ // GIR_Coverage, 3338,
31500 /* 89015 */ GIR_EraseRootFromParent_Done,
31501 /* 89016 */ // Label 2489: @89016
31502 /* 89016 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2490*/ GIMT_Encode4(89091), GIMT_Encode2(GIFBS_HasVAES_NoVLX), // Rule ID 3340 //
31503 /* 89023 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
31504 /* 89028 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31505 /* 89031 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31506 /* 89034 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31507 /* 89037 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31508 /* 89041 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31509 /* 89045 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31510 /* 89049 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31511 /* 89053 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31512 /* 89056 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31513 /* 89060 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31514 /* 89064 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31515 /* 89066 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31516 /* 89073 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14773:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31517 /* 89073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECYrm),
31518 /* 89076 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31519 /* 89078 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31520 /* 89080 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31521 /* 89084 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31522 /* 89089 */ GIR_RootConstrainSelectedInstOperands,
31523 /* 89090 */ // GIR_Coverage, 3340,
31524 /* 89090 */ GIR_EraseRootFromParent_Done,
31525 /* 89091 */ // Label 2490: @89091
31526 /* 89091 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2491*/ GIMT_Encode4(89166), GIMT_Encode2(GIFBS_HasVAES_NoVLX), // Rule ID 3342 //
31527 /* 89098 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
31528 /* 89103 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31529 /* 89106 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31530 /* 89109 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31531 /* 89112 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31532 /* 89116 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31533 /* 89120 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31534 /* 89124 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31535 /* 89128 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31536 /* 89131 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31537 /* 89135 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31538 /* 89139 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31539 /* 89141 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31540 /* 89148 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14776:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31541 /* 89148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTYrm),
31542 /* 89151 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31543 /* 89153 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31544 /* 89155 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31545 /* 89159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31546 /* 89164 */ GIR_RootConstrainSelectedInstOperands,
31547 /* 89165 */ // GIR_Coverage, 3342,
31548 /* 89165 */ GIR_EraseRootFromParent_Done,
31549 /* 89166 */ // Label 2491: @89166
31550 /* 89166 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2492*/ GIMT_Encode4(89241), GIMT_Encode2(GIFBS_HasSM4), // Rule ID 3553 //
31551 /* 89173 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
31552 /* 89178 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31553 /* 89181 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31554 /* 89184 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31555 /* 89187 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31556 /* 89191 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31557 /* 89195 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31558 /* 89199 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31559 /* 89203 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31560 /* 89206 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31561 /* 89210 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31562 /* 89214 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31563 /* 89216 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31564 /* 89223 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16360:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4rm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31565 /* 89223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4rm),
31566 /* 89226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31567 /* 89228 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31568 /* 89230 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31569 /* 89234 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31570 /* 89239 */ GIR_RootConstrainSelectedInstOperands,
31571 /* 89240 */ // GIR_Coverage, 3553,
31572 /* 89240 */ GIR_EraseRootFromParent_Done,
31573 /* 89241 */ // Label 2492: @89241
31574 /* 89241 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2493*/ GIMT_Encode4(89316), GIMT_Encode2(GIFBS_HasSM4), // Rule ID 3555 //
31575 /* 89248 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
31576 /* 89253 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31577 /* 89256 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31578 /* 89259 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31579 /* 89262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31580 /* 89266 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31581 /* 89270 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31582 /* 89274 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31583 /* 89278 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31584 /* 89281 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31585 /* 89285 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31586 /* 89289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31587 /* 89291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31588 /* 89298 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16361:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Yrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31589 /* 89298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Yrm),
31590 /* 89301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31591 /* 89303 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31592 /* 89305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31593 /* 89309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31594 /* 89314 */ GIR_RootConstrainSelectedInstOperands,
31595 /* 89315 */ // GIR_Coverage, 3555,
31596 /* 89315 */ GIR_EraseRootFromParent_Done,
31597 /* 89316 */ // Label 2493: @89316
31598 /* 89316 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2494*/ GIMT_Encode4(89391), GIMT_Encode2(GIFBS_HasSM4), // Rule ID 3557 //
31599 /* 89323 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
31600 /* 89328 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31601 /* 89331 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31602 /* 89334 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31603 /* 89337 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31604 /* 89341 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31605 /* 89345 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31606 /* 89349 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31607 /* 89353 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31608 /* 89356 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31609 /* 89360 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31610 /* 89364 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31611 /* 89366 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31612 /* 89373 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16363:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4rm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31613 /* 89373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4rm),
31614 /* 89376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31615 /* 89378 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31616 /* 89380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31617 /* 89384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31618 /* 89389 */ GIR_RootConstrainSelectedInstOperands,
31619 /* 89390 */ // GIR_Coverage, 3557,
31620 /* 89390 */ GIR_EraseRootFromParent_Done,
31621 /* 89391 */ // Label 2494: @89391
31622 /* 89391 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2495*/ GIMT_Encode4(89466), GIMT_Encode2(GIFBS_HasSM4), // Rule ID 3559 //
31623 /* 89398 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
31624 /* 89403 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31625 /* 89406 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31626 /* 89409 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31627 /* 89412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31628 /* 89416 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31629 /* 89420 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31630 /* 89424 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31631 /* 89428 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31632 /* 89431 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31633 /* 89435 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31634 /* 89439 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31635 /* 89441 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31636 /* 89448 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16364:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Yrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31637 /* 89448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Yrm),
31638 /* 89451 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31639 /* 89453 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31640 /* 89455 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31641 /* 89459 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31642 /* 89464 */ GIR_RootConstrainSelectedInstOperands,
31643 /* 89465 */ // GIR_Coverage, 3559,
31644 /* 89465 */ GIR_EraseRootFromParent_Done,
31645 /* 89466 */ // Label 2495: @89466
31646 /* 89466 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2496*/ GIMT_Encode4(89541), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14064 //
31647 /* 89473 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
31648 /* 89478 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31649 /* 89481 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31650 /* 89484 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31651 /* 89487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31652 /* 89491 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31653 /* 89495 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31654 /* 89499 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31655 /* 89503 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31656 /* 89506 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31657 /* 89510 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31658 /* 89514 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31659 /* 89516 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31660 /* 89523 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14778:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31661 /* 89523 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ128rm),
31662 /* 89526 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31663 /* 89528 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31664 /* 89530 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31665 /* 89534 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31666 /* 89539 */ GIR_RootConstrainSelectedInstOperands,
31667 /* 89540 */ // GIR_Coverage, 14064,
31668 /* 89540 */ GIR_EraseRootFromParent_Done,
31669 /* 89541 */ // Label 2496: @89541
31670 /* 89541 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2497*/ GIMT_Encode4(89616), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14066 //
31671 /* 89548 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
31672 /* 89553 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31673 /* 89556 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31674 /* 89559 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31675 /* 89562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31676 /* 89566 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31677 /* 89570 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31678 /* 89574 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31679 /* 89578 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31680 /* 89581 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31681 /* 89585 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31682 /* 89589 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31683 /* 89591 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31684 /* 89598 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14779:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31685 /* 89598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ256rm),
31686 /* 89601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31687 /* 89603 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31688 /* 89605 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31689 /* 89609 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31690 /* 89614 */ GIR_RootConstrainSelectedInstOperands,
31691 /* 89615 */ // GIR_Coverage, 14066,
31692 /* 89615 */ GIR_EraseRootFromParent_Done,
31693 /* 89616 */ // Label 2497: @89616
31694 /* 89616 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2498*/ GIMT_Encode4(89691), GIMT_Encode2(GIFBS_HasAVX512_HasVAES), // Rule ID 14068 //
31695 /* 89623 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_512),
31696 /* 89628 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
31697 /* 89631 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
31698 /* 89634 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
31699 /* 89637 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31700 /* 89641 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31701 /* 89645 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31702 /* 89649 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31703 /* 89653 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31704 /* 89656 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31705 /* 89660 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31706 /* 89664 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31707 /* 89666 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31708 /* 89673 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14780:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31709 /* 89673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZrm),
31710 /* 89676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31711 /* 89678 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31712 /* 89680 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31713 /* 89684 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31714 /* 89689 */ GIR_RootConstrainSelectedInstOperands,
31715 /* 89690 */ // GIR_Coverage, 14068,
31716 /* 89690 */ GIR_EraseRootFromParent_Done,
31717 /* 89691 */ // Label 2498: @89691
31718 /* 89691 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2499*/ GIMT_Encode4(89766), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14070 //
31719 /* 89698 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
31720 /* 89703 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31721 /* 89706 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31722 /* 89709 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31723 /* 89712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31724 /* 89716 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31725 /* 89720 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31726 /* 89724 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31727 /* 89728 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31728 /* 89731 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31729 /* 89735 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31730 /* 89739 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31731 /* 89741 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31732 /* 89748 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14781:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31733 /* 89748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ128rm),
31734 /* 89751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31735 /* 89753 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31736 /* 89755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31737 /* 89759 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31738 /* 89764 */ GIR_RootConstrainSelectedInstOperands,
31739 /* 89765 */ // GIR_Coverage, 14070,
31740 /* 89765 */ GIR_EraseRootFromParent_Done,
31741 /* 89766 */ // Label 2499: @89766
31742 /* 89766 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2500*/ GIMT_Encode4(89841), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14072 //
31743 /* 89773 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
31744 /* 89778 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31745 /* 89781 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31746 /* 89784 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31747 /* 89787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31748 /* 89791 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31749 /* 89795 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31750 /* 89799 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31751 /* 89803 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31752 /* 89806 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31753 /* 89810 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31754 /* 89814 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31755 /* 89816 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31756 /* 89823 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14782:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31757 /* 89823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ256rm),
31758 /* 89826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31759 /* 89828 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31760 /* 89830 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31761 /* 89834 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31762 /* 89839 */ GIR_RootConstrainSelectedInstOperands,
31763 /* 89840 */ // GIR_Coverage, 14072,
31764 /* 89840 */ GIR_EraseRootFromParent_Done,
31765 /* 89841 */ // Label 2500: @89841
31766 /* 89841 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2501*/ GIMT_Encode4(89916), GIMT_Encode2(GIFBS_HasAVX512_HasVAES), // Rule ID 14074 //
31767 /* 89848 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_512),
31768 /* 89853 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
31769 /* 89856 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
31770 /* 89859 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
31771 /* 89862 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31772 /* 89866 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31773 /* 89870 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31774 /* 89874 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31775 /* 89878 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31776 /* 89881 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31777 /* 89885 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31778 /* 89889 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31779 /* 89891 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31780 /* 89898 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14783:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31781 /* 89898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZrm),
31782 /* 89901 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31783 /* 89903 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31784 /* 89905 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31785 /* 89909 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31786 /* 89914 */ GIR_RootConstrainSelectedInstOperands,
31787 /* 89915 */ // GIR_Coverage, 14074,
31788 /* 89915 */ GIR_EraseRootFromParent_Done,
31789 /* 89916 */ // Label 2501: @89916
31790 /* 89916 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2502*/ GIMT_Encode4(89991), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14076 //
31791 /* 89923 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
31792 /* 89928 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31793 /* 89931 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31794 /* 89934 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31795 /* 89937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31796 /* 89941 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31797 /* 89945 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31798 /* 89949 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31799 /* 89953 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31800 /* 89956 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31801 /* 89960 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31802 /* 89964 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31803 /* 89966 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31804 /* 89973 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14772:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31805 /* 89973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ128rm),
31806 /* 89976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31807 /* 89978 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31808 /* 89980 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31809 /* 89984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31810 /* 89989 */ GIR_RootConstrainSelectedInstOperands,
31811 /* 89990 */ // GIR_Coverage, 14076,
31812 /* 89990 */ GIR_EraseRootFromParent_Done,
31813 /* 89991 */ // Label 2502: @89991
31814 /* 89991 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2503*/ GIMT_Encode4(90066), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14078 //
31815 /* 89998 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
31816 /* 90003 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31817 /* 90006 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31818 /* 90009 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31819 /* 90012 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31820 /* 90016 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31821 /* 90020 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31822 /* 90024 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31823 /* 90028 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31824 /* 90031 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31825 /* 90035 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31826 /* 90039 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31827 /* 90041 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31828 /* 90048 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14773:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31829 /* 90048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ256rm),
31830 /* 90051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31831 /* 90053 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31832 /* 90055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31833 /* 90059 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31834 /* 90064 */ GIR_RootConstrainSelectedInstOperands,
31835 /* 90065 */ // GIR_Coverage, 14078,
31836 /* 90065 */ GIR_EraseRootFromParent_Done,
31837 /* 90066 */ // Label 2503: @90066
31838 /* 90066 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2504*/ GIMT_Encode4(90141), GIMT_Encode2(GIFBS_HasAVX512_HasVAES), // Rule ID 14080 //
31839 /* 90073 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_512),
31840 /* 90078 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
31841 /* 90081 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
31842 /* 90084 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
31843 /* 90087 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31844 /* 90091 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31845 /* 90095 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31846 /* 90099 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31847 /* 90103 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31848 /* 90106 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31849 /* 90110 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31850 /* 90114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31851 /* 90116 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31852 /* 90123 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14774:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31853 /* 90123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZrm),
31854 /* 90126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31855 /* 90128 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31856 /* 90130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31857 /* 90134 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31858 /* 90139 */ GIR_RootConstrainSelectedInstOperands,
31859 /* 90140 */ // GIR_Coverage, 14080,
31860 /* 90140 */ GIR_EraseRootFromParent_Done,
31861 /* 90141 */ // Label 2504: @90141
31862 /* 90141 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2505*/ GIMT_Encode4(90216), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14082 //
31863 /* 90148 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
31864 /* 90153 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31865 /* 90156 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31866 /* 90159 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31867 /* 90162 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31868 /* 90166 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31869 /* 90170 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31870 /* 90174 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31871 /* 90178 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31872 /* 90181 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31873 /* 90185 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31874 /* 90189 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31875 /* 90191 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31876 /* 90198 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14775:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31877 /* 90198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ128rm),
31878 /* 90201 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31879 /* 90203 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31880 /* 90205 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31881 /* 90209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31882 /* 90214 */ GIR_RootConstrainSelectedInstOperands,
31883 /* 90215 */ // GIR_Coverage, 14082,
31884 /* 90215 */ GIR_EraseRootFromParent_Done,
31885 /* 90216 */ // Label 2505: @90216
31886 /* 90216 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2506*/ GIMT_Encode4(90291), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14084 //
31887 /* 90223 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
31888 /* 90228 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31889 /* 90231 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31890 /* 90234 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31891 /* 90237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31892 /* 90241 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31893 /* 90245 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31894 /* 90249 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31895 /* 90253 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31896 /* 90256 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31897 /* 90260 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31898 /* 90264 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31899 /* 90266 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31900 /* 90273 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14776:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31901 /* 90273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ256rm),
31902 /* 90276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31903 /* 90278 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31904 /* 90280 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31905 /* 90284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31906 /* 90289 */ GIR_RootConstrainSelectedInstOperands,
31907 /* 90290 */ // GIR_Coverage, 14084,
31908 /* 90290 */ GIR_EraseRootFromParent_Done,
31909 /* 90291 */ // Label 2506: @90291
31910 /* 90291 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2507*/ GIMT_Encode4(90366), GIMT_Encode2(GIFBS_HasAVX512_HasVAES), // Rule ID 14086 //
31911 /* 90298 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_512),
31912 /* 90303 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
31913 /* 90306 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
31914 /* 90309 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
31915 /* 90312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31916 /* 90316 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31917 /* 90320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31918 /* 90324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31919 /* 90328 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31920 /* 90331 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31921 /* 90335 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31922 /* 90339 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31923 /* 90341 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31924 /* 90348 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14777:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31925 /* 90348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZrm),
31926 /* 90351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31927 /* 90353 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31928 /* 90355 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31929 /* 90359 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31930 /* 90364 */ GIR_RootConstrainSelectedInstOperands,
31931 /* 90365 */ // GIR_Coverage, 14086,
31932 /* 90365 */ GIR_EraseRootFromParent_Done,
31933 /* 90366 */ // Label 2507: @90366
31934 /* 90366 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2508*/ GIMT_Encode4(90441), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16851 //
31935 /* 90373 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4512),
31936 /* 90378 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
31937 /* 90381 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
31938 /* 90384 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
31939 /* 90387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31940 /* 90391 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31941 /* 90395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31942 /* 90399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31943 /* 90403 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31944 /* 90406 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31945 /* 90410 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31946 /* 90414 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31947 /* 90416 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31948 /* 90423 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16362:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Zrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31949 /* 90423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Zrm),
31950 /* 90426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31951 /* 90428 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31952 /* 90430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31953 /* 90434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31954 /* 90439 */ GIR_RootConstrainSelectedInstOperands,
31955 /* 90440 */ // GIR_Coverage, 16851,
31956 /* 90440 */ GIR_EraseRootFromParent_Done,
31957 /* 90441 */ // Label 2508: @90441
31958 /* 90441 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2509*/ GIMT_Encode4(90516), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16857 //
31959 /* 90448 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4512),
31960 /* 90453 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
31961 /* 90456 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
31962 /* 90459 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
31963 /* 90462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31964 /* 90466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31965 /* 90470 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31966 /* 90474 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31967 /* 90478 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31968 /* 90481 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31969 /* 90485 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31970 /* 90489 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31971 /* 90491 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31972 /* 90498 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16365:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Zrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31973 /* 90498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Zrm),
31974 /* 90501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31975 /* 90503 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31976 /* 90505 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31977 /* 90509 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31978 /* 90514 */ GIR_RootConstrainSelectedInstOperands,
31979 /* 90515 */ // GIR_Coverage, 16857,
31980 /* 90515 */ GIR_EraseRootFromParent_Done,
31981 /* 90516 */ // Label 2509: @90516
31982 /* 90516 */ GIM_Try, /*On fail goto*//*Label 2510*/ GIMT_Encode4(90580),
31983 /* 90521 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
31984 /* 90526 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31985 /* 90529 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31986 /* 90532 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31987 /* 90536 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31988 /* 90540 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
31989 /* 90543 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2511*/ GIMT_Encode4(90561), GIMT_Encode2(GIFBS_HasAES_HasAVX), // Rule ID 3355 //
31990 /* 90550 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14785:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2) => (VAESKEYGENASSISTrri:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2)
31991 /* 90550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESKEYGENASSISTrri),
31992 /* 90553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31993 /* 90555 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31994 /* 90557 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
31995 /* 90559 */ GIR_RootConstrainSelectedInstOperands,
31996 /* 90560 */ // GIR_Coverage, 3355,
31997 /* 90560 */ GIR_EraseRootFromParent_Done,
31998 /* 90561 */ // Label 2511: @90561
31999 /* 90561 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2512*/ GIMT_Encode4(90579), GIMT_Encode2(GIFBS_HasAES_NoAVX), // Rule ID 3357 //
32000 /* 90568 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14785:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2) => (AESKEYGENASSISTrri:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2)
32001 /* 90568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESKEYGENASSISTrri),
32002 /* 90571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32003 /* 90573 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32004 /* 90575 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32005 /* 90577 */ GIR_RootConstrainSelectedInstOperands,
32006 /* 90578 */ // GIR_Coverage, 3357,
32007 /* 90578 */ GIR_EraseRootFromParent_Done,
32008 /* 90579 */ // Label 2512: @90579
32009 /* 90579 */ GIM_Reject,
32010 /* 90580 */ // Label 2510: @90580
32011 /* 90580 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2513*/ GIMT_Encode4(90624), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16846 //
32012 /* 90587 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
32013 /* 90592 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32014 /* 90595 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32015 /* 90598 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32016 /* 90601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32017 /* 90605 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32018 /* 90609 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32019 /* 90613 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16360:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VSM4KEY4Z128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
32020 /* 90613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z128rr),
32021 /* 90616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32022 /* 90618 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32023 /* 90620 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32024 /* 90622 */ GIR_RootConstrainSelectedInstOperands,
32025 /* 90623 */ // GIR_Coverage, 16846,
32026 /* 90623 */ GIR_EraseRootFromParent_Done,
32027 /* 90624 */ // Label 2513: @90624
32028 /* 90624 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2514*/ GIMT_Encode4(90668), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16848 //
32029 /* 90631 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
32030 /* 90636 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32031 /* 90639 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32032 /* 90642 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32033 /* 90645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32034 /* 90649 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32035 /* 90653 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32036 /* 90657 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16361:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VSM4KEY4Z256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
32037 /* 90657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z256rr),
32038 /* 90660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32039 /* 90662 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32040 /* 90664 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32041 /* 90666 */ GIR_RootConstrainSelectedInstOperands,
32042 /* 90667 */ // GIR_Coverage, 16848,
32043 /* 90667 */ GIR_EraseRootFromParent_Done,
32044 /* 90668 */ // Label 2514: @90668
32045 /* 90668 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2515*/ GIMT_Encode4(90712), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16852 //
32046 /* 90675 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
32047 /* 90680 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32048 /* 90683 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32049 /* 90686 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32050 /* 90689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32051 /* 90693 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32052 /* 90697 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32053 /* 90701 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16363:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VSM4RNDS4Z128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
32054 /* 90701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z128rr),
32055 /* 90704 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32056 /* 90706 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32057 /* 90708 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32058 /* 90710 */ GIR_RootConstrainSelectedInstOperands,
32059 /* 90711 */ // GIR_Coverage, 16852,
32060 /* 90711 */ GIR_EraseRootFromParent_Done,
32061 /* 90712 */ // Label 2515: @90712
32062 /* 90712 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2516*/ GIMT_Encode4(90756), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16854 //
32063 /* 90719 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
32064 /* 90724 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32065 /* 90727 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32066 /* 90730 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32067 /* 90733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32068 /* 90737 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32069 /* 90741 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32070 /* 90745 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16364:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VSM4RNDS4Z256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
32071 /* 90745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z256rr),
32072 /* 90748 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32073 /* 90750 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32074 /* 90752 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32075 /* 90754 */ GIR_RootConstrainSelectedInstOperands,
32076 /* 90755 */ // GIR_Coverage, 16854,
32077 /* 90755 */ GIR_EraseRootFromParent_Done,
32078 /* 90756 */ // Label 2516: @90756
32079 /* 90756 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2517*/ GIMT_Encode4(90800), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3008 //
32080 /* 90763 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
32081 /* 90768 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
32082 /* 90771 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
32083 /* 90774 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
32084 /* 90777 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32085 /* 90781 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32086 /* 90785 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32087 /* 90789 */ // (intrinsic_wo_chain:{ *:[v16i8] } 16257:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSIGNBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
32088 /* 90789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBrr),
32089 /* 90792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32090 /* 90794 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32091 /* 90796 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32092 /* 90798 */ GIR_RootConstrainSelectedInstOperands,
32093 /* 90799 */ // GIR_Coverage, 3008,
32094 /* 90799 */ GIR_EraseRootFromParent_Done,
32095 /* 90800 */ // Label 2517: @90800
32096 /* 90800 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2518*/ GIMT_Encode4(90844), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3010 //
32097 /* 90807 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
32098 /* 90812 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
32099 /* 90815 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
32100 /* 90818 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
32101 /* 90821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32102 /* 90825 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32103 /* 90829 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32104 /* 90833 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16261:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSIGNWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
32105 /* 90833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWrr),
32106 /* 90836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32107 /* 90838 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32108 /* 90840 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32109 /* 90842 */ GIR_RootConstrainSelectedInstOperands,
32110 /* 90843 */ // GIR_Coverage, 3010,
32111 /* 90843 */ GIR_EraseRootFromParent_Done,
32112 /* 90844 */ // Label 2518: @90844
32113 /* 90844 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2519*/ GIMT_Encode4(90888), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3012 //
32114 /* 90851 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
32115 /* 90856 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32116 /* 90859 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32117 /* 90862 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32118 /* 90865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32119 /* 90869 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32120 /* 90873 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32121 /* 90877 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16259:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPSIGNDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32122 /* 90877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDrr),
32123 /* 90880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32124 /* 90882 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32125 /* 90884 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32126 /* 90886 */ GIR_RootConstrainSelectedInstOperands,
32127 /* 90887 */ // GIR_Coverage, 3012,
32128 /* 90887 */ GIR_EraseRootFromParent_Done,
32129 /* 90888 */ // Label 2519: @90888
32130 /* 90888 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2520*/ GIMT_Encode4(90932), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3032 //
32131 /* 90895 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_b),
32132 /* 90900 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
32133 /* 90903 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
32134 /* 90906 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
32135 /* 90909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32136 /* 90913 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32137 /* 90917 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32138 /* 90921 */ // (intrinsic_wo_chain:{ *:[v32i8] } 15148:{ *:[iPTR] }, VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSIGNBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
32139 /* 90921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBYrr),
32140 /* 90924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32141 /* 90926 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32142 /* 90928 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32143 /* 90930 */ GIR_RootConstrainSelectedInstOperands,
32144 /* 90931 */ // GIR_Coverage, 3032,
32145 /* 90931 */ GIR_EraseRootFromParent_Done,
32146 /* 90932 */ // Label 2520: @90932
32147 /* 90932 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2521*/ GIMT_Encode4(90976), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3034 //
32148 /* 90939 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_w),
32149 /* 90944 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
32150 /* 90947 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
32151 /* 90950 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
32152 /* 90953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32153 /* 90957 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32154 /* 90961 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32155 /* 90965 */ // (intrinsic_wo_chain:{ *:[v16i16] } 15150:{ *:[iPTR] }, VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSIGNWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
32156 /* 90965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWYrr),
32157 /* 90968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32158 /* 90970 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32159 /* 90972 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32160 /* 90974 */ GIR_RootConstrainSelectedInstOperands,
32161 /* 90975 */ // GIR_Coverage, 3034,
32162 /* 90975 */ GIR_EraseRootFromParent_Done,
32163 /* 90976 */ // Label 2521: @90976
32164 /* 90976 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2522*/ GIMT_Encode4(91020), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3036 //
32165 /* 90983 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_d),
32166 /* 90988 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32167 /* 90991 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32168 /* 90994 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32169 /* 90997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32170 /* 91001 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32171 /* 91005 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32172 /* 91009 */ // (intrinsic_wo_chain:{ *:[v8i32] } 15149:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPSIGNDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
32173 /* 91009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDYrr),
32174 /* 91012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32175 /* 91014 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32176 /* 91016 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32177 /* 91018 */ GIR_RootConstrainSelectedInstOperands,
32178 /* 91019 */ // GIR_Coverage, 3036,
32179 /* 91019 */ GIR_EraseRootFromParent_Done,
32180 /* 91020 */ // Label 2522: @91020
32181 /* 91020 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2523*/ GIMT_Encode4(91064), GIMT_Encode2(GIFBS_UseSSSE3), // Rule ID 3050 //
32182 /* 91027 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
32183 /* 91032 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
32184 /* 91035 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
32185 /* 91038 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
32186 /* 91041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32187 /* 91045 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32188 /* 91049 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32189 /* 91053 */ // (intrinsic_wo_chain:{ *:[v16i8] } 16257:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSIGNBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
32190 /* 91053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNBrr),
32191 /* 91056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32192 /* 91058 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32193 /* 91060 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32194 /* 91062 */ GIR_RootConstrainSelectedInstOperands,
32195 /* 91063 */ // GIR_Coverage, 3050,
32196 /* 91063 */ GIR_EraseRootFromParent_Done,
32197 /* 91064 */ // Label 2523: @91064
32198 /* 91064 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2524*/ GIMT_Encode4(91108), GIMT_Encode2(GIFBS_UseSSSE3), // Rule ID 3052 //
32199 /* 91071 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
32200 /* 91076 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
32201 /* 91079 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
32202 /* 91082 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
32203 /* 91085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32204 /* 91089 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32205 /* 91093 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32206 /* 91097 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16261:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSIGNWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
32207 /* 91097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNWrr),
32208 /* 91100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32209 /* 91102 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32210 /* 91104 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32211 /* 91106 */ GIR_RootConstrainSelectedInstOperands,
32212 /* 91107 */ // GIR_Coverage, 3052,
32213 /* 91107 */ GIR_EraseRootFromParent_Done,
32214 /* 91108 */ // Label 2524: @91108
32215 /* 91108 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2525*/ GIMT_Encode4(91152), GIMT_Encode2(GIFBS_UseSSSE3), // Rule ID 3054 //
32216 /* 91115 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
32217 /* 91120 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32218 /* 91123 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32219 /* 91126 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32220 /* 91129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32221 /* 91133 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32222 /* 91137 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32223 /* 91141 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16259:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PSIGNDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32224 /* 91141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNDrr),
32225 /* 91144 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32226 /* 91146 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32227 /* 91148 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32228 /* 91150 */ GIR_RootConstrainSelectedInstOperands,
32229 /* 91151 */ // GIR_Coverage, 3054,
32230 /* 91151 */ GIR_EraseRootFromParent_Done,
32231 /* 91152 */ // Label 2525: @91152
32232 /* 91152 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2526*/ GIMT_Encode4(91196), GIMT_Encode2(GIFBS_HasCRC32_NoEGPR), // Rule ID 3297 //
32233 /* 91159 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
32234 /* 91164 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32235 /* 91167 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32236 /* 91170 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
32237 /* 91173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32238 /* 91177 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32239 /* 91181 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
32240 /* 91185 */ // (intrinsic_wo_chain:{ *:[i32] } 16215:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (CRC32r32r8:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2)
32241 /* 91185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r8),
32242 /* 91188 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32243 /* 91190 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32244 /* 91192 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32245 /* 91194 */ GIR_RootConstrainSelectedInstOperands,
32246 /* 91195 */ // GIR_Coverage, 3297,
32247 /* 91195 */ GIR_EraseRootFromParent_Done,
32248 /* 91196 */ // Label 2526: @91196
32249 /* 91196 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2527*/ GIMT_Encode4(91240), GIMT_Encode2(GIFBS_HasCRC32_NoEGPR), // Rule ID 3299 //
32250 /* 91203 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
32251 /* 91208 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32252 /* 91211 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32253 /* 91214 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
32254 /* 91217 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32255 /* 91221 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32256 /* 91225 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
32257 /* 91229 */ // (intrinsic_wo_chain:{ *:[i32] } 16213:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2) => (CRC32r32r16:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2)
32258 /* 91229 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r16),
32259 /* 91232 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32260 /* 91234 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32261 /* 91236 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32262 /* 91238 */ GIR_RootConstrainSelectedInstOperands,
32263 /* 91239 */ // GIR_Coverage, 3299,
32264 /* 91239 */ GIR_EraseRootFromParent_Done,
32265 /* 91240 */ // Label 2527: @91240
32266 /* 91240 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2528*/ GIMT_Encode4(91284), GIMT_Encode2(GIFBS_HasCRC32_NoEGPR), // Rule ID 3301 //
32267 /* 91247 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
32268 /* 91252 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32269 /* 91255 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32270 /* 91258 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
32271 /* 91261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32272 /* 91265 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32273 /* 91269 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32274 /* 91273 */ // (intrinsic_wo_chain:{ *:[i32] } 16214:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (CRC32r32r32:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
32275 /* 91273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r32),
32276 /* 91276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32277 /* 91278 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32278 /* 91280 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32279 /* 91282 */ GIR_RootConstrainSelectedInstOperands,
32280 /* 91283 */ // GIR_Coverage, 3301,
32281 /* 91283 */ GIR_EraseRootFromParent_Done,
32282 /* 91284 */ // Label 2528: @91284
32283 /* 91284 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2529*/ GIMT_Encode4(91328), GIMT_Encode2(GIFBS_HasCRC32_NoEGPR), // Rule ID 3303 //
32284 /* 91291 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
32285 /* 91296 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
32286 /* 91299 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
32287 /* 91302 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
32288 /* 91305 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32289 /* 91309 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32290 /* 91313 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32291 /* 91317 */ // (intrinsic_wo_chain:{ *:[i64] } 16216:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (CRC32r64r64:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
32292 /* 91317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64r64),
32293 /* 91320 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32294 /* 91322 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32295 /* 91324 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32296 /* 91326 */ GIR_RootConstrainSelectedInstOperands,
32297 /* 91327 */ // GIR_Coverage, 3303,
32298 /* 91327 */ GIR_EraseRootFromParent_Done,
32299 /* 91328 */ // Label 2529: @91328
32300 /* 91328 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2530*/ GIMT_Encode4(91372), GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode), // Rule ID 3305 //
32301 /* 91335 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
32302 /* 91340 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32303 /* 91343 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32304 /* 91346 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
32305 /* 91349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32306 /* 91353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32307 /* 91357 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
32308 /* 91361 */ // (intrinsic_wo_chain:{ *:[i32] } 16215:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (CRC32r32r8_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2)
32309 /* 91361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r8_EVEX),
32310 /* 91364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32311 /* 91366 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32312 /* 91368 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32313 /* 91370 */ GIR_RootConstrainSelectedInstOperands,
32314 /* 91371 */ // GIR_Coverage, 3305,
32315 /* 91371 */ GIR_EraseRootFromParent_Done,
32316 /* 91372 */ // Label 2530: @91372
32317 /* 91372 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2531*/ GIMT_Encode4(91416), GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode), // Rule ID 3307 //
32318 /* 91379 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
32319 /* 91384 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32320 /* 91387 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32321 /* 91390 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
32322 /* 91393 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32323 /* 91397 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32324 /* 91401 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
32325 /* 91405 */ // (intrinsic_wo_chain:{ *:[i32] } 16213:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2) => (CRC32r32r16_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2)
32326 /* 91405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r16_EVEX),
32327 /* 91408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32328 /* 91410 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32329 /* 91412 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32330 /* 91414 */ GIR_RootConstrainSelectedInstOperands,
32331 /* 91415 */ // GIR_Coverage, 3307,
32332 /* 91415 */ GIR_EraseRootFromParent_Done,
32333 /* 91416 */ // Label 2531: @91416
32334 /* 91416 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2532*/ GIMT_Encode4(91460), GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode), // Rule ID 3309 //
32335 /* 91423 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
32336 /* 91428 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32337 /* 91431 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32338 /* 91434 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
32339 /* 91437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32340 /* 91441 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32341 /* 91445 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32342 /* 91449 */ // (intrinsic_wo_chain:{ *:[i32] } 16214:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (CRC32r32r32_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
32343 /* 91449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r32_EVEX),
32344 /* 91452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32345 /* 91454 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32346 /* 91456 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32347 /* 91458 */ GIR_RootConstrainSelectedInstOperands,
32348 /* 91459 */ // GIR_Coverage, 3309,
32349 /* 91459 */ GIR_EraseRootFromParent_Done,
32350 /* 91460 */ // Label 2532: @91460
32351 /* 91460 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2533*/ GIMT_Encode4(91504), GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode), // Rule ID 3311 //
32352 /* 91467 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
32353 /* 91472 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
32354 /* 91475 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
32355 /* 91478 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
32356 /* 91481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32357 /* 91485 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32358 /* 91489 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32359 /* 91493 */ // (intrinsic_wo_chain:{ *:[i64] } 16216:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (CRC32r64r64_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
32360 /* 91493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64r64_EVEX),
32361 /* 91496 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32362 /* 91498 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32363 /* 91500 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32364 /* 91502 */ GIR_RootConstrainSelectedInstOperands,
32365 /* 91503 */ // GIR_Coverage, 3311,
32366 /* 91503 */ GIR_EraseRootFromParent_Done,
32367 /* 91504 */ // Label 2533: @91504
32368 /* 91504 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2534*/ GIMT_Encode4(91548), GIMT_Encode2(GIFBS_HasSHA), // Rule ID 3315 //
32369 /* 91511 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1nexte),
32370 /* 91516 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32371 /* 91519 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32372 /* 91522 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32373 /* 91525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32374 /* 91529 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32375 /* 91533 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32376 /* 91537 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16085:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1NEXTErr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32377 /* 91537 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1NEXTErr),
32378 /* 91540 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32379 /* 91542 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32380 /* 91544 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32381 /* 91546 */ GIR_RootConstrainSelectedInstOperands,
32382 /* 91547 */ // GIR_Coverage, 3315,
32383 /* 91547 */ GIR_EraseRootFromParent_Done,
32384 /* 91548 */ // Label 2534: @91548
32385 /* 91548 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2535*/ GIMT_Encode4(91592), GIMT_Encode2(GIFBS_HasSHA), // Rule ID 3317 //
32386 /* 91555 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1msg1),
32387 /* 91560 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32388 /* 91563 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32389 /* 91566 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32390 /* 91569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32391 /* 91573 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32392 /* 91577 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32393 /* 91581 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16083:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32394 /* 91581 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1MSG1rr),
32395 /* 91584 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32396 /* 91586 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32397 /* 91588 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32398 /* 91590 */ GIR_RootConstrainSelectedInstOperands,
32399 /* 91591 */ // GIR_Coverage, 3317,
32400 /* 91591 */ GIR_EraseRootFromParent_Done,
32401 /* 91592 */ // Label 2535: @91592
32402 /* 91592 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2536*/ GIMT_Encode4(91636), GIMT_Encode2(GIFBS_HasSHA), // Rule ID 3319 //
32403 /* 91599 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1msg2),
32404 /* 91604 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32405 /* 91607 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32406 /* 91610 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32407 /* 91613 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32408 /* 91617 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32409 /* 91621 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32410 /* 91625 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16084:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32411 /* 91625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1MSG2rr),
32412 /* 91628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32413 /* 91630 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32414 /* 91632 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32415 /* 91634 */ GIR_RootConstrainSelectedInstOperands,
32416 /* 91635 */ // GIR_Coverage, 3319,
32417 /* 91635 */ GIR_EraseRootFromParent_Done,
32418 /* 91636 */ // Label 2536: @91636
32419 /* 91636 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2537*/ GIMT_Encode4(91680), GIMT_Encode2(GIFBS_HasSHA), // Rule ID 3323 //
32420 /* 91643 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256msg1),
32421 /* 91648 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32422 /* 91651 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32423 /* 91654 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32424 /* 91657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32425 /* 91661 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32426 /* 91665 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32427 /* 91669 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16087:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA256MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32428 /* 91669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256MSG1rr),
32429 /* 91672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32430 /* 91674 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32431 /* 91676 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32432 /* 91678 */ GIR_RootConstrainSelectedInstOperands,
32433 /* 91679 */ // GIR_Coverage, 3323,
32434 /* 91679 */ GIR_EraseRootFromParent_Done,
32435 /* 91680 */ // Label 2537: @91680
32436 /* 91680 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2538*/ GIMT_Encode4(91724), GIMT_Encode2(GIFBS_HasSHA), // Rule ID 3325 //
32437 /* 91687 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256msg2),
32438 /* 91692 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32439 /* 91695 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32440 /* 91698 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32441 /* 91701 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32442 /* 91705 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32443 /* 91709 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32444 /* 91713 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16088:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA256MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32445 /* 91713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256MSG2rr),
32446 /* 91716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32447 /* 91718 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32448 /* 91720 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32449 /* 91722 */ GIR_RootConstrainSelectedInstOperands,
32450 /* 91723 */ // GIR_Coverage, 3325,
32451 /* 91723 */ GIR_EraseRootFromParent_Done,
32452 /* 91724 */ // Label 2538: @91724
32453 /* 91724 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2539*/ GIMT_Encode4(91768), GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES), // Rule ID 3327 //
32454 /* 91731 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
32455 /* 91736 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32456 /* 91739 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32457 /* 91742 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32458 /* 91745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32459 /* 91749 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32460 /* 91753 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32461 /* 91757 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14778:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESENCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32462 /* 91757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCrr),
32463 /* 91760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32464 /* 91762 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32465 /* 91764 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32466 /* 91766 */ GIR_RootConstrainSelectedInstOperands,
32467 /* 91767 */ // GIR_Coverage, 3327,
32468 /* 91767 */ GIR_EraseRootFromParent_Done,
32469 /* 91768 */ // Label 2539: @91768
32470 /* 91768 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2540*/ GIMT_Encode4(91812), GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES), // Rule ID 3329 //
32471 /* 91775 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
32472 /* 91780 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32473 /* 91783 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32474 /* 91786 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32475 /* 91789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32476 /* 91793 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32477 /* 91797 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32478 /* 91801 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14781:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESENCLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32479 /* 91801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTrr),
32480 /* 91804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32481 /* 91806 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32482 /* 91808 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32483 /* 91810 */ GIR_RootConstrainSelectedInstOperands,
32484 /* 91811 */ // GIR_Coverage, 3329,
32485 /* 91811 */ GIR_EraseRootFromParent_Done,
32486 /* 91812 */ // Label 2540: @91812
32487 /* 91812 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2541*/ GIMT_Encode4(91856), GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES), // Rule ID 3331 //
32488 /* 91819 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
32489 /* 91824 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32490 /* 91827 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32491 /* 91830 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32492 /* 91833 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32493 /* 91837 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32494 /* 91841 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32495 /* 91845 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14772:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESDECrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32496 /* 91845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECrr),
32497 /* 91848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32498 /* 91850 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32499 /* 91852 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32500 /* 91854 */ GIR_RootConstrainSelectedInstOperands,
32501 /* 91855 */ // GIR_Coverage, 3331,
32502 /* 91855 */ GIR_EraseRootFromParent_Done,
32503 /* 91856 */ // Label 2541: @91856
32504 /* 91856 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2542*/ GIMT_Encode4(91900), GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES), // Rule ID 3333 //
32505 /* 91863 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
32506 /* 91868 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32507 /* 91871 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32508 /* 91874 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32509 /* 91877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32510 /* 91881 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32511 /* 91885 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32512 /* 91889 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14775:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESDECLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32513 /* 91889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTrr),
32514 /* 91892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32515 /* 91894 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32516 /* 91896 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32517 /* 91898 */ GIR_RootConstrainSelectedInstOperands,
32518 /* 91899 */ // GIR_Coverage, 3333,
32519 /* 91899 */ GIR_EraseRootFromParent_Done,
32520 /* 91900 */ // Label 2542: @91900
32521 /* 91900 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2543*/ GIMT_Encode4(91944), GIMT_Encode2(GIFBS_HasVAES_NoVLX), // Rule ID 3335 //
32522 /* 91907 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
32523 /* 91912 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32524 /* 91915 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32525 /* 91918 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32526 /* 91921 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32527 /* 91925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32528 /* 91929 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32529 /* 91933 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14779:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESENCYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
32530 /* 91933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCYrr),
32531 /* 91936 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32532 /* 91938 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32533 /* 91940 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32534 /* 91942 */ GIR_RootConstrainSelectedInstOperands,
32535 /* 91943 */ // GIR_Coverage, 3335,
32536 /* 91943 */ GIR_EraseRootFromParent_Done,
32537 /* 91944 */ // Label 2543: @91944
32538 /* 91944 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2544*/ GIMT_Encode4(91988), GIMT_Encode2(GIFBS_HasVAES_NoVLX), // Rule ID 3337 //
32539 /* 91951 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
32540 /* 91956 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32541 /* 91959 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32542 /* 91962 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32543 /* 91965 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32544 /* 91969 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32545 /* 91973 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32546 /* 91977 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14782:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESENCLASTYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
32547 /* 91977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTYrr),
32548 /* 91980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32549 /* 91982 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32550 /* 91984 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32551 /* 91986 */ GIR_RootConstrainSelectedInstOperands,
32552 /* 91987 */ // GIR_Coverage, 3337,
32553 /* 91987 */ GIR_EraseRootFromParent_Done,
32554 /* 91988 */ // Label 2544: @91988
32555 /* 91988 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2545*/ GIMT_Encode4(92032), GIMT_Encode2(GIFBS_HasVAES_NoVLX), // Rule ID 3339 //
32556 /* 91995 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
32557 /* 92000 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32558 /* 92003 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32559 /* 92006 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32560 /* 92009 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32561 /* 92013 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32562 /* 92017 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32563 /* 92021 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14773:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESDECYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
32564 /* 92021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECYrr),
32565 /* 92024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32566 /* 92026 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32567 /* 92028 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32568 /* 92030 */ GIR_RootConstrainSelectedInstOperands,
32569 /* 92031 */ // GIR_Coverage, 3339,
32570 /* 92031 */ GIR_EraseRootFromParent_Done,
32571 /* 92032 */ // Label 2545: @92032
32572 /* 92032 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2546*/ GIMT_Encode4(92076), GIMT_Encode2(GIFBS_HasVAES_NoVLX), // Rule ID 3341 //
32573 /* 92039 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
32574 /* 92044 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32575 /* 92047 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32576 /* 92050 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32577 /* 92053 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32578 /* 92057 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32579 /* 92061 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32580 /* 92065 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14776:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESDECLASTYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
32581 /* 92065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTYrr),
32582 /* 92068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32583 /* 92070 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32584 /* 92072 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32585 /* 92074 */ GIR_RootConstrainSelectedInstOperands,
32586 /* 92075 */ // GIR_Coverage, 3341,
32587 /* 92075 */ GIR_EraseRootFromParent_Done,
32588 /* 92076 */ // Label 2546: @92076
32589 /* 92076 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2547*/ GIMT_Encode4(92120), GIMT_Encode2(GIFBS_HasAES_NoAVX), // Rule ID 3343 //
32590 /* 92083 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
32591 /* 92088 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32592 /* 92091 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32593 /* 92094 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32594 /* 92097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32595 /* 92101 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32596 /* 92105 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32597 /* 92109 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14778:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESENCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32598 /* 92109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESENCrr),
32599 /* 92112 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32600 /* 92114 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32601 /* 92116 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32602 /* 92118 */ GIR_RootConstrainSelectedInstOperands,
32603 /* 92119 */ // GIR_Coverage, 3343,
32604 /* 92119 */ GIR_EraseRootFromParent_Done,
32605 /* 92120 */ // Label 2547: @92120
32606 /* 92120 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2548*/ GIMT_Encode4(92164), GIMT_Encode2(GIFBS_HasAES_NoAVX), // Rule ID 3345 //
32607 /* 92127 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
32608 /* 92132 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32609 /* 92135 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32610 /* 92138 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32611 /* 92141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32612 /* 92145 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32613 /* 92149 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32614 /* 92153 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14781:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESENCLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32615 /* 92153 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESENCLASTrr),
32616 /* 92156 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32617 /* 92158 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32618 /* 92160 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32619 /* 92162 */ GIR_RootConstrainSelectedInstOperands,
32620 /* 92163 */ // GIR_Coverage, 3345,
32621 /* 92163 */ GIR_EraseRootFromParent_Done,
32622 /* 92164 */ // Label 2548: @92164
32623 /* 92164 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2549*/ GIMT_Encode4(92208), GIMT_Encode2(GIFBS_HasAES_NoAVX), // Rule ID 3347 //
32624 /* 92171 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
32625 /* 92176 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32626 /* 92179 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32627 /* 92182 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32628 /* 92185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32629 /* 92189 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32630 /* 92193 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32631 /* 92197 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14772:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESDECrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32632 /* 92197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESDECrr),
32633 /* 92200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32634 /* 92202 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32635 /* 92204 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32636 /* 92206 */ GIR_RootConstrainSelectedInstOperands,
32637 /* 92207 */ // GIR_Coverage, 3347,
32638 /* 92207 */ GIR_EraseRootFromParent_Done,
32639 /* 92208 */ // Label 2549: @92208
32640 /* 92208 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2550*/ GIMT_Encode4(92252), GIMT_Encode2(GIFBS_HasAES_NoAVX), // Rule ID 3349 //
32641 /* 92215 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
32642 /* 92220 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32643 /* 92223 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32644 /* 92226 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32645 /* 92229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32646 /* 92233 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32647 /* 92237 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32648 /* 92241 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14775:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESDECLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32649 /* 92241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESDECLASTrr),
32650 /* 92244 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32651 /* 92246 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32652 /* 92248 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32653 /* 92250 */ GIR_RootConstrainSelectedInstOperands,
32654 /* 92251 */ // GIR_Coverage, 3349,
32655 /* 92251 */ GIR_EraseRootFromParent_Done,
32656 /* 92252 */ // Label 2550: @92252
32657 /* 92252 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2551*/ GIMT_Encode4(92296), GIMT_Encode2(GIFBS_HasSSE4A), // Rule ID 3366 //
32658 /* 92259 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse4a_extrq),
32659 /* 92264 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32660 /* 92267 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32661 /* 92270 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
32662 /* 92273 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32663 /* 92277 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32664 /* 92281 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32665 /* 92285 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16231:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src, VR128:{ *:[v16i8] }:$mask) => (EXTRQ:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src, VR128:{ *:[v16i8] }:$mask)
32666 /* 92285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::EXTRQ),
32667 /* 92288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32668 /* 92290 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32669 /* 92292 */ GIR_RootToRootCopy, /*OpIdx*/3, // mask
32670 /* 92294 */ GIR_RootConstrainSelectedInstOperands,
32671 /* 92295 */ // GIR_Coverage, 3366,
32672 /* 92295 */ GIR_EraseRootFromParent_Done,
32673 /* 92296 */ // Label 2551: @92296
32674 /* 92296 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2552*/ GIMT_Encode4(92340), GIMT_Encode2(GIFBS_HasSSE4A), // Rule ID 3368 //
32675 /* 92303 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse4a_insertq),
32676 /* 92308 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32677 /* 92311 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32678 /* 92314 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32679 /* 92317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32680 /* 92321 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32681 /* 92325 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32682 /* 92329 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16233:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src, VR128:{ *:[v2i64] }:$mask) => (INSERTQ:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src, VR128:{ *:[v2i64] }:$mask)
32683 /* 92329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INSERTQ),
32684 /* 92332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32685 /* 92334 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32686 /* 92336 */ GIR_RootToRootCopy, /*OpIdx*/3, // mask
32687 /* 92338 */ GIR_RootConstrainSelectedInstOperands,
32688 /* 92339 */ // GIR_Coverage, 3368,
32689 /* 92339 */ GIR_EraseRootFromParent_Done,
32690 /* 92340 */ // Label 2552: @92340
32691 /* 92340 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2553*/ GIMT_Encode4(92384), GIMT_Encode2(GIFBS_HasSHA512), // Rule ID 3543 //
32692 /* 92347 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512msg1),
32693 /* 92352 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32694 /* 92355 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32695 /* 92358 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32696 /* 92361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32697 /* 92365 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32698 /* 92369 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32699 /* 92373 */ // (intrinsic_wo_chain:{ *:[v4i64] } 16354:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VSHA512MSG1rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
32700 /* 92373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512MSG1rr),
32701 /* 92376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32702 /* 92378 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32703 /* 92380 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32704 /* 92382 */ GIR_RootConstrainSelectedInstOperands,
32705 /* 92383 */ // GIR_Coverage, 3543,
32706 /* 92383 */ GIR_EraseRootFromParent_Done,
32707 /* 92384 */ // Label 2553: @92384
32708 /* 92384 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2554*/ GIMT_Encode4(92428), GIMT_Encode2(GIFBS_HasSHA512), // Rule ID 3544 //
32709 /* 92391 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512msg2),
32710 /* 92396 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32711 /* 92399 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32712 /* 92402 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32713 /* 92405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32714 /* 92409 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32715 /* 92413 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32716 /* 92417 */ // (intrinsic_wo_chain:{ *:[v4i64] } 16355:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VSHA512MSG2rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
32717 /* 92417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512MSG2rr),
32718 /* 92420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32719 /* 92422 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32720 /* 92424 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32721 /* 92426 */ GIR_RootConstrainSelectedInstOperands,
32722 /* 92427 */ // GIR_Coverage, 3544,
32723 /* 92427 */ GIR_EraseRootFromParent_Done,
32724 /* 92428 */ // Label 2554: @92428
32725 /* 92428 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2555*/ GIMT_Encode4(92472), GIMT_Encode2(GIFBS_HasSM4), // Rule ID 3552 //
32726 /* 92435 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
32727 /* 92440 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32728 /* 92443 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32729 /* 92446 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32730 /* 92449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32731 /* 92453 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32732 /* 92457 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32733 /* 92461 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16360:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VSM4KEY4rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32734 /* 92461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4rr),
32735 /* 92464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32736 /* 92466 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32737 /* 92468 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32738 /* 92470 */ GIR_RootConstrainSelectedInstOperands,
32739 /* 92471 */ // GIR_Coverage, 3552,
32740 /* 92471 */ GIR_EraseRootFromParent_Done,
32741 /* 92472 */ // Label 2555: @92472
32742 /* 92472 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2556*/ GIMT_Encode4(92516), GIMT_Encode2(GIFBS_HasSM4), // Rule ID 3554 //
32743 /* 92479 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
32744 /* 92484 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32745 /* 92487 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32746 /* 92490 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32747 /* 92493 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32748 /* 92497 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32749 /* 92501 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32750 /* 92505 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16361:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VSM4KEY4Yrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
32751 /* 92505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Yrr),
32752 /* 92508 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32753 /* 92510 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32754 /* 92512 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32755 /* 92514 */ GIR_RootConstrainSelectedInstOperands,
32756 /* 92515 */ // GIR_Coverage, 3554,
32757 /* 92515 */ GIR_EraseRootFromParent_Done,
32758 /* 92516 */ // Label 2556: @92516
32759 /* 92516 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2557*/ GIMT_Encode4(92560), GIMT_Encode2(GIFBS_HasSM4), // Rule ID 3556 //
32760 /* 92523 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
32761 /* 92528 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32762 /* 92531 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32763 /* 92534 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32764 /* 92537 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32765 /* 92541 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32766 /* 92545 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32767 /* 92549 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16363:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VSM4RNDS4rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32768 /* 92549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4rr),
32769 /* 92552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32770 /* 92554 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32771 /* 92556 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32772 /* 92558 */ GIR_RootConstrainSelectedInstOperands,
32773 /* 92559 */ // GIR_Coverage, 3556,
32774 /* 92559 */ GIR_EraseRootFromParent_Done,
32775 /* 92560 */ // Label 2557: @92560
32776 /* 92560 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2558*/ GIMT_Encode4(92604), GIMT_Encode2(GIFBS_HasSM4), // Rule ID 3558 //
32777 /* 92567 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
32778 /* 92572 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32779 /* 92575 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32780 /* 92578 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32781 /* 92581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32782 /* 92585 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32783 /* 92589 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32784 /* 92593 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16364:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VSM4RNDS4Yrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
32785 /* 92593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Yrr),
32786 /* 92596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32787 /* 92598 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32788 /* 92600 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32789 /* 92602 */ GIR_RootConstrainSelectedInstOperands,
32790 /* 92603 */ // GIR_Coverage, 3558,
32791 /* 92603 */ GIR_EraseRootFromParent_Done,
32792 /* 92604 */ // Label 2558: @92604
32793 /* 92604 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2559*/ GIMT_Encode4(92648), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14063 //
32794 /* 92611 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
32795 /* 92616 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32796 /* 92619 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32797 /* 92622 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32798 /* 92625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32799 /* 92629 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32800 /* 92633 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32801 /* 92637 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14778:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESENCZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
32802 /* 92637 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ128rr),
32803 /* 92640 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32804 /* 92642 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32805 /* 92644 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32806 /* 92646 */ GIR_RootConstrainSelectedInstOperands,
32807 /* 92647 */ // GIR_Coverage, 14063,
32808 /* 92647 */ GIR_EraseRootFromParent_Done,
32809 /* 92648 */ // Label 2559: @92648
32810 /* 92648 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2560*/ GIMT_Encode4(92692), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14065 //
32811 /* 92655 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
32812 /* 92660 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32813 /* 92663 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32814 /* 92666 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32815 /* 92669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32816 /* 92673 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32817 /* 92677 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32818 /* 92681 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14779:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESENCZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
32819 /* 92681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ256rr),
32820 /* 92684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32821 /* 92686 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32822 /* 92688 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32823 /* 92690 */ GIR_RootConstrainSelectedInstOperands,
32824 /* 92691 */ // GIR_Coverage, 14065,
32825 /* 92691 */ GIR_EraseRootFromParent_Done,
32826 /* 92692 */ // Label 2560: @92692
32827 /* 92692 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2561*/ GIMT_Encode4(92736), GIMT_Encode2(GIFBS_HasAVX512_HasVAES), // Rule ID 14067 //
32828 /* 92699 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_512),
32829 /* 92704 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32830 /* 92707 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32831 /* 92710 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32832 /* 92713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32833 /* 92717 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32834 /* 92721 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32835 /* 92725 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14780:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESENCZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
32836 /* 92725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZrr),
32837 /* 92728 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32838 /* 92730 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32839 /* 92732 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32840 /* 92734 */ GIR_RootConstrainSelectedInstOperands,
32841 /* 92735 */ // GIR_Coverage, 14067,
32842 /* 92735 */ GIR_EraseRootFromParent_Done,
32843 /* 92736 */ // Label 2561: @92736
32844 /* 92736 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2562*/ GIMT_Encode4(92780), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14069 //
32845 /* 92743 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
32846 /* 92748 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32847 /* 92751 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32848 /* 92754 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32849 /* 92757 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32850 /* 92761 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32851 /* 92765 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32852 /* 92769 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14781:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESENCLASTZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
32853 /* 92769 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ128rr),
32854 /* 92772 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32855 /* 92774 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32856 /* 92776 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32857 /* 92778 */ GIR_RootConstrainSelectedInstOperands,
32858 /* 92779 */ // GIR_Coverage, 14069,
32859 /* 92779 */ GIR_EraseRootFromParent_Done,
32860 /* 92780 */ // Label 2562: @92780
32861 /* 92780 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2563*/ GIMT_Encode4(92824), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14071 //
32862 /* 92787 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
32863 /* 92792 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32864 /* 92795 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32865 /* 92798 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32866 /* 92801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32867 /* 92805 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32868 /* 92809 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32869 /* 92813 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14782:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESENCLASTZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
32870 /* 92813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ256rr),
32871 /* 92816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32872 /* 92818 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32873 /* 92820 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32874 /* 92822 */ GIR_RootConstrainSelectedInstOperands,
32875 /* 92823 */ // GIR_Coverage, 14071,
32876 /* 92823 */ GIR_EraseRootFromParent_Done,
32877 /* 92824 */ // Label 2563: @92824
32878 /* 92824 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2564*/ GIMT_Encode4(92868), GIMT_Encode2(GIFBS_HasAVX512_HasVAES), // Rule ID 14073 //
32879 /* 92831 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_512),
32880 /* 92836 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32881 /* 92839 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32882 /* 92842 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32883 /* 92845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32884 /* 92849 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32885 /* 92853 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32886 /* 92857 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14783:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESENCLASTZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
32887 /* 92857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZrr),
32888 /* 92860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32889 /* 92862 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32890 /* 92864 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32891 /* 92866 */ GIR_RootConstrainSelectedInstOperands,
32892 /* 92867 */ // GIR_Coverage, 14073,
32893 /* 92867 */ GIR_EraseRootFromParent_Done,
32894 /* 92868 */ // Label 2564: @92868
32895 /* 92868 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2565*/ GIMT_Encode4(92912), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14075 //
32896 /* 92875 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
32897 /* 92880 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32898 /* 92883 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32899 /* 92886 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32900 /* 92889 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32901 /* 92893 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32902 /* 92897 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32903 /* 92901 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14772:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESDECZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
32904 /* 92901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ128rr),
32905 /* 92904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32906 /* 92906 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32907 /* 92908 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32908 /* 92910 */ GIR_RootConstrainSelectedInstOperands,
32909 /* 92911 */ // GIR_Coverage, 14075,
32910 /* 92911 */ GIR_EraseRootFromParent_Done,
32911 /* 92912 */ // Label 2565: @92912
32912 /* 92912 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2566*/ GIMT_Encode4(92956), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14077 //
32913 /* 92919 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
32914 /* 92924 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32915 /* 92927 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32916 /* 92930 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32917 /* 92933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32918 /* 92937 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32919 /* 92941 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32920 /* 92945 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14773:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESDECZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
32921 /* 92945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ256rr),
32922 /* 92948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32923 /* 92950 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32924 /* 92952 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32925 /* 92954 */ GIR_RootConstrainSelectedInstOperands,
32926 /* 92955 */ // GIR_Coverage, 14077,
32927 /* 92955 */ GIR_EraseRootFromParent_Done,
32928 /* 92956 */ // Label 2566: @92956
32929 /* 92956 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2567*/ GIMT_Encode4(93000), GIMT_Encode2(GIFBS_HasAVX512_HasVAES), // Rule ID 14079 //
32930 /* 92963 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_512),
32931 /* 92968 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32932 /* 92971 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32933 /* 92974 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32934 /* 92977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32935 /* 92981 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32936 /* 92985 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32937 /* 92989 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14774:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESDECZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
32938 /* 92989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZrr),
32939 /* 92992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32940 /* 92994 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32941 /* 92996 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32942 /* 92998 */ GIR_RootConstrainSelectedInstOperands,
32943 /* 92999 */ // GIR_Coverage, 14079,
32944 /* 92999 */ GIR_EraseRootFromParent_Done,
32945 /* 93000 */ // Label 2567: @93000
32946 /* 93000 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2568*/ GIMT_Encode4(93044), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14081 //
32947 /* 93007 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
32948 /* 93012 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32949 /* 93015 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32950 /* 93018 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32951 /* 93021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32952 /* 93025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32953 /* 93029 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32954 /* 93033 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14775:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESDECLASTZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
32955 /* 93033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ128rr),
32956 /* 93036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32957 /* 93038 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32958 /* 93040 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32959 /* 93042 */ GIR_RootConstrainSelectedInstOperands,
32960 /* 93043 */ // GIR_Coverage, 14081,
32961 /* 93043 */ GIR_EraseRootFromParent_Done,
32962 /* 93044 */ // Label 2568: @93044
32963 /* 93044 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2569*/ GIMT_Encode4(93088), GIMT_Encode2(GIFBS_HasVAES_HasVLX), // Rule ID 14083 //
32964 /* 93051 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
32965 /* 93056 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32966 /* 93059 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32967 /* 93062 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32968 /* 93065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32969 /* 93069 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32970 /* 93073 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32971 /* 93077 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14776:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESDECLASTZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
32972 /* 93077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ256rr),
32973 /* 93080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32974 /* 93082 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32975 /* 93084 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32976 /* 93086 */ GIR_RootConstrainSelectedInstOperands,
32977 /* 93087 */ // GIR_Coverage, 14083,
32978 /* 93087 */ GIR_EraseRootFromParent_Done,
32979 /* 93088 */ // Label 2569: @93088
32980 /* 93088 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2570*/ GIMT_Encode4(93132), GIMT_Encode2(GIFBS_HasAVX512_HasVAES), // Rule ID 14085 //
32981 /* 93095 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_512),
32982 /* 93100 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32983 /* 93103 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32984 /* 93106 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32985 /* 93109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32986 /* 93113 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32987 /* 93117 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32988 /* 93121 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14777:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESDECLASTZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
32989 /* 93121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZrr),
32990 /* 93124 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32991 /* 93126 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32992 /* 93128 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32993 /* 93130 */ GIR_RootConstrainSelectedInstOperands,
32994 /* 93131 */ // GIR_Coverage, 14085,
32995 /* 93131 */ GIR_EraseRootFromParent_Done,
32996 /* 93132 */ // Label 2570: @93132
32997 /* 93132 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2571*/ GIMT_Encode4(93176), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16850 //
32998 /* 93139 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4512),
32999 /* 93144 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
33000 /* 93147 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
33001 /* 93150 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
33002 /* 93153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33003 /* 93157 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33004 /* 93161 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33005 /* 93165 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16362:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VSM4KEY4Zrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
33006 /* 93165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Zrr),
33007 /* 93168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33008 /* 93170 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33009 /* 93172 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33010 /* 93174 */ GIR_RootConstrainSelectedInstOperands,
33011 /* 93175 */ // GIR_Coverage, 16850,
33012 /* 93175 */ GIR_EraseRootFromParent_Done,
33013 /* 93176 */ // Label 2571: @93176
33014 /* 93176 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2572*/ GIMT_Encode4(93220), GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4), // Rule ID 16856 //
33015 /* 93183 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4512),
33016 /* 93188 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
33017 /* 93191 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
33018 /* 93194 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
33019 /* 93197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33020 /* 93201 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33021 /* 93205 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33022 /* 93209 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16365:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VSM4RNDS4Zrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
33023 /* 93209 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Zrr),
33024 /* 93212 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33025 /* 93214 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33026 /* 93216 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33027 /* 93218 */ GIR_RootConstrainSelectedInstOperands,
33028 /* 93219 */ // GIR_Coverage, 16856,
33029 /* 93219 */ GIR_EraseRootFromParent_Done,
33030 /* 93220 */ // Label 2572: @93220
33031 /* 93220 */ GIM_Reject,
33032 /* 93221 */ // Label 2464: @93221
33033 /* 93221 */ GIM_Try, /*On fail goto*//*Label 2573*/ GIMT_Encode4(97048),
33034 /* 93226 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/5,
33035 /* 93229 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2574*/ GIMT_Encode4(93309), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 23774 //
33036 /* 93236 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
33037 /* 93241 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33038 /* 93244 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33039 /* 93247 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33040 /* 93250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33041 /* 93254 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33042 /* 93258 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33043 /* 93262 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33044 /* 93265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33045 /* 93269 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33046 /* 93273 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33047 /* 93277 */ // MIs[0] src3
33048 /* 93277 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33049 /* 93280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33050 /* 93282 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33051 /* 93289 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16200:{ *:[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)
33052 /* 93289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrmi),
33053 /* 93292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33054 /* 93294 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33055 /* 93296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33056 /* 93300 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33057 /* 93302 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33058 /* 93307 */ GIR_RootConstrainSelectedInstOperands,
33059 /* 93308 */ // GIR_Coverage, 23774,
33060 /* 93308 */ GIR_EraseRootFromParent_Done,
33061 /* 93309 */ // Label 2574: @93309
33062 /* 93309 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2575*/ GIMT_Encode4(93389), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 23775 //
33063 /* 93316 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
33064 /* 93321 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33065 /* 93324 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33066 /* 93327 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33067 /* 93330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33068 /* 93334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33069 /* 93338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33070 /* 93342 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33071 /* 93345 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33072 /* 93349 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33073 /* 93353 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33074 /* 93357 */ // MIs[0] src3
33075 /* 93357 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33076 /* 93360 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33077 /* 93362 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33078 /* 93369 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16199:{ *:[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)
33079 /* 93369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrmi),
33080 /* 93372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33081 /* 93374 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33082 /* 93376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33083 /* 93380 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33084 /* 93382 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33085 /* 93387 */ GIR_RootConstrainSelectedInstOperands,
33086 /* 93388 */ // GIR_Coverage, 23775,
33087 /* 93388 */ GIR_EraseRootFromParent_Done,
33088 /* 93389 */ // Label 2575: @93389
33089 /* 93389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2576*/ GIMT_Encode4(93469), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 23776 //
33090 /* 93396 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
33091 /* 93401 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33092 /* 93404 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33093 /* 93407 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33094 /* 93410 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33095 /* 93414 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33096 /* 93418 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33097 /* 93422 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33098 /* 93425 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33099 /* 93429 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33100 /* 93433 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33101 /* 93437 */ // MIs[0] src3
33102 /* 93437 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33103 /* 93440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33104 /* 93442 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33105 /* 93449 */ // (intrinsic_wo_chain:{ *:[v8f32] } 14810:{ *:[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)
33106 /* 93449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrmi),
33107 /* 93452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33108 /* 93454 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33109 /* 93456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33110 /* 93460 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33111 /* 93462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33112 /* 93467 */ GIR_RootConstrainSelectedInstOperands,
33113 /* 93468 */ // GIR_Coverage, 23776,
33114 /* 93468 */ GIR_EraseRootFromParent_Done,
33115 /* 93469 */ // Label 2576: @93469
33116 /* 93469 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2577*/ GIMT_Encode4(93549), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3242 //
33117 /* 93476 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
33118 /* 93481 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33119 /* 93484 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33120 /* 93487 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33121 /* 93490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33122 /* 93494 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33123 /* 93498 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33124 /* 93502 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33125 /* 93506 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33126 /* 93509 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33127 /* 93513 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33128 /* 93517 */ // MIs[0] src3
33129 /* 93517 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33130 /* 93520 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33131 /* 93522 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33132 /* 93529 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16200:{ *:[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)
33133 /* 93529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrmi),
33134 /* 93532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33135 /* 93534 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33136 /* 93536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33137 /* 93540 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33138 /* 93542 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33139 /* 93547 */ GIR_RootConstrainSelectedInstOperands,
33140 /* 93548 */ // GIR_Coverage, 3242,
33141 /* 93548 */ GIR_EraseRootFromParent_Done,
33142 /* 93549 */ // Label 2577: @93549
33143 /* 93549 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2578*/ GIMT_Encode4(93629), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3244 //
33144 /* 93556 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
33145 /* 93561 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33146 /* 93564 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33147 /* 93567 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33148 /* 93570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33149 /* 93574 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33150 /* 93578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33151 /* 93582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33152 /* 93586 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33153 /* 93589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33154 /* 93593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33155 /* 93597 */ // MIs[0] src3
33156 /* 93597 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33157 /* 93600 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33158 /* 93602 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33159 /* 93609 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16199:{ *:[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)
33160 /* 93609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrmi),
33161 /* 93612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33162 /* 93614 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33163 /* 93616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33164 /* 93620 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33165 /* 93622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33166 /* 93627 */ GIR_RootConstrainSelectedInstOperands,
33167 /* 93628 */ // GIR_Coverage, 3244,
33168 /* 93628 */ GIR_EraseRootFromParent_Done,
33169 /* 93629 */ // Label 2578: @93629
33170 /* 93629 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2579*/ GIMT_Encode4(93709), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3246 //
33171 /* 93636 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
33172 /* 93641 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33173 /* 93644 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33174 /* 93647 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33175 /* 93650 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33176 /* 93654 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33177 /* 93658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33178 /* 93662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33179 /* 93666 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33180 /* 93669 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33181 /* 93673 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33182 /* 93677 */ // MIs[0] src3
33183 /* 93677 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33184 /* 93680 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33185 /* 93682 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33186 /* 93689 */ // (intrinsic_wo_chain:{ *:[v8f32] } 14810:{ *:[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)
33187 /* 93689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrmi),
33188 /* 93692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33189 /* 93694 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33190 /* 93696 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33191 /* 93700 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33192 /* 93702 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33193 /* 93707 */ GIR_RootConstrainSelectedInstOperands,
33194 /* 93708 */ // GIR_Coverage, 3246,
33195 /* 93708 */ GIR_EraseRootFromParent_Done,
33196 /* 93709 */ // Label 2579: @93709
33197 /* 93709 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2580*/ GIMT_Encode4(93793), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23576 //
33198 /* 93716 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
33199 /* 93721 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33200 /* 93724 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33201 /* 93727 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33202 /* 93730 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33203 /* 93733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33204 /* 93737 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33205 /* 93741 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33206 /* 93745 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33207 /* 93748 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33208 /* 93752 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33209 /* 93756 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33210 /* 93760 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33211 /* 93764 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33212 /* 93766 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33213 /* 93773 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16417:{ *:[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)
33214 /* 93773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrm),
33215 /* 93776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33216 /* 93778 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33217 /* 93780 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33218 /* 93784 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33219 /* 93786 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33220 /* 93791 */ GIR_RootConstrainSelectedInstOperands,
33221 /* 93792 */ // GIR_Coverage, 23576,
33222 /* 93792 */ GIR_EraseRootFromParent_Done,
33223 /* 93793 */ // Label 2580: @93793
33224 /* 93793 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2581*/ GIMT_Encode4(93877), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23577 //
33225 /* 93800 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
33226 /* 93805 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33227 /* 93808 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33228 /* 93811 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33229 /* 93814 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33230 /* 93817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33231 /* 93821 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33232 /* 93825 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33233 /* 93829 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33234 /* 93832 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33235 /* 93836 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33236 /* 93840 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33237 /* 93844 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33238 /* 93848 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33239 /* 93850 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33240 /* 93857 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16416:{ *:[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)
33241 /* 93857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrm),
33242 /* 93860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33243 /* 93862 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33244 /* 93864 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33245 /* 93868 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33246 /* 93870 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33247 /* 93875 */ GIR_RootConstrainSelectedInstOperands,
33248 /* 93876 */ // GIR_Coverage, 23577,
33249 /* 93876 */ GIR_EraseRootFromParent_Done,
33250 /* 93877 */ // Label 2581: @93877
33251 /* 93877 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2582*/ GIMT_Encode4(93961), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23578 //
33252 /* 93884 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
33253 /* 93889 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33254 /* 93892 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33255 /* 93895 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33256 /* 93898 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
33257 /* 93901 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33258 /* 93905 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33259 /* 93909 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33260 /* 93913 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33261 /* 93916 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33262 /* 93920 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33263 /* 93924 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33264 /* 93928 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33265 /* 93932 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33266 /* 93934 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33267 /* 93941 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16415:{ *:[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)
33268 /* 93941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrm),
33269 /* 93944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33270 /* 93946 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33271 /* 93948 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33272 /* 93952 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33273 /* 93954 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33274 /* 93959 */ GIR_RootConstrainSelectedInstOperands,
33275 /* 93960 */ // GIR_Coverage, 23578,
33276 /* 93960 */ GIR_EraseRootFromParent_Done,
33277 /* 93961 */ // Label 2582: @93961
33278 /* 93961 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2583*/ GIMT_Encode4(94045), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23579 //
33279 /* 93968 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
33280 /* 93973 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33281 /* 93976 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33282 /* 93979 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33283 /* 93982 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33284 /* 93985 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33285 /* 93989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33286 /* 93993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33287 /* 93997 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33288 /* 94000 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33289 /* 94004 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33290 /* 94008 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33291 /* 94012 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33292 /* 94016 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33293 /* 94018 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33294 /* 94025 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16414:{ *:[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)
33295 /* 94025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrm),
33296 /* 94028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33297 /* 94030 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33298 /* 94032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33299 /* 94036 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33300 /* 94038 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33301 /* 94043 */ GIR_RootConstrainSelectedInstOperands,
33302 /* 94044 */ // GIR_Coverage, 23579,
33303 /* 94044 */ GIR_EraseRootFromParent_Done,
33304 /* 94045 */ // Label 2583: @94045
33305 /* 94045 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2584*/ GIMT_Encode4(94129), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23580 //
33306 /* 94052 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
33307 /* 94057 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33308 /* 94060 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33309 /* 94063 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33310 /* 94066 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
33311 /* 94069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33312 /* 94073 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33313 /* 94077 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33314 /* 94081 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33315 /* 94084 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33316 /* 94088 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33317 /* 94092 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33318 /* 94096 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33319 /* 94100 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33320 /* 94102 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33321 /* 94109 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16413:{ *:[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)
33322 /* 94109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrm),
33323 /* 94112 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33324 /* 94114 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33325 /* 94116 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33326 /* 94120 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33327 /* 94122 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33328 /* 94127 */ GIR_RootConstrainSelectedInstOperands,
33329 /* 94128 */ // GIR_Coverage, 23580,
33330 /* 94128 */ GIR_EraseRootFromParent_Done,
33331 /* 94129 */ // Label 2584: @94129
33332 /* 94129 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2585*/ GIMT_Encode4(94213), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23581 //
33333 /* 94136 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
33334 /* 94141 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33335 /* 94144 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33336 /* 94147 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33337 /* 94150 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33338 /* 94153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33339 /* 94157 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33340 /* 94161 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33341 /* 94165 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33342 /* 94168 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33343 /* 94172 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33344 /* 94176 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33345 /* 94180 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33346 /* 94184 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33347 /* 94186 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33348 /* 94193 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16412:{ *:[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)
33349 /* 94193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrm),
33350 /* 94196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33351 /* 94198 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33352 /* 94200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33353 /* 94204 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33354 /* 94206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33355 /* 94211 */ GIR_RootConstrainSelectedInstOperands,
33356 /* 94212 */ // GIR_Coverage, 23581,
33357 /* 94212 */ GIR_EraseRootFromParent_Done,
33358 /* 94213 */ // Label 2585: @94213
33359 /* 94213 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2586*/ GIMT_Encode4(94297), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23582 //
33360 /* 94220 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
33361 /* 94225 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33362 /* 94228 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33363 /* 94231 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33364 /* 94234 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33365 /* 94237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33366 /* 94241 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33367 /* 94245 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33368 /* 94249 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33369 /* 94252 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33370 /* 94256 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33371 /* 94260 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33372 /* 94264 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33373 /* 94268 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33374 /* 94270 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33375 /* 94277 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16411:{ *:[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)
33376 /* 94277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrm),
33377 /* 94280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33378 /* 94282 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33379 /* 94284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33380 /* 94288 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33381 /* 94290 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33382 /* 94295 */ GIR_RootConstrainSelectedInstOperands,
33383 /* 94296 */ // GIR_Coverage, 23582,
33384 /* 94296 */ GIR_EraseRootFromParent_Done,
33385 /* 94297 */ // Label 2586: @94297
33386 /* 94297 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2587*/ GIMT_Encode4(94381), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23583 //
33387 /* 94304 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
33388 /* 94309 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33389 /* 94312 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33390 /* 94315 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33391 /* 94318 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33392 /* 94321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33393 /* 94325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33394 /* 94329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33395 /* 94333 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33396 /* 94336 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33397 /* 94340 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33398 /* 94344 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33399 /* 94348 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33400 /* 94352 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33401 /* 94354 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33402 /* 94361 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16410:{ *:[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)
33403 /* 94361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrm),
33404 /* 94364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33405 /* 94366 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33406 /* 94368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33407 /* 94372 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33408 /* 94374 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33409 /* 94379 */ GIR_RootConstrainSelectedInstOperands,
33410 /* 94380 */ // GIR_Coverage, 23583,
33411 /* 94380 */ GIR_EraseRootFromParent_Done,
33412 /* 94381 */ // Label 2587: @94381
33413 /* 94381 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2588*/ GIMT_Encode4(94465), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23584 //
33414 /* 94388 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
33415 /* 94393 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33416 /* 94396 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33417 /* 94399 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33418 /* 94402 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33419 /* 94405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33420 /* 94409 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33421 /* 94413 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33422 /* 94417 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33423 /* 94420 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33424 /* 94424 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33425 /* 94428 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33426 /* 94432 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33427 /* 94436 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33428 /* 94438 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33429 /* 94445 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16409:{ *:[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)
33430 /* 94445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrm),
33431 /* 94448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33432 /* 94450 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33433 /* 94452 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33434 /* 94456 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33435 /* 94458 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33436 /* 94463 */ GIR_RootConstrainSelectedInstOperands,
33437 /* 94464 */ // GIR_Coverage, 23584,
33438 /* 94464 */ GIR_EraseRootFromParent_Done,
33439 /* 94465 */ // Label 2588: @94465
33440 /* 94465 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2589*/ GIMT_Encode4(94549), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23585 //
33441 /* 94472 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
33442 /* 94477 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33443 /* 94480 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33444 /* 94483 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33445 /* 94486 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33446 /* 94489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33447 /* 94493 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33448 /* 94497 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33449 /* 94501 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33450 /* 94504 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33451 /* 94508 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33452 /* 94512 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33453 /* 94516 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33454 /* 94520 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33455 /* 94522 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33456 /* 94529 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16408:{ *:[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)
33457 /* 94529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrm),
33458 /* 94532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33459 /* 94534 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33460 /* 94536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33461 /* 94540 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33462 /* 94542 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33463 /* 94547 */ GIR_RootConstrainSelectedInstOperands,
33464 /* 94548 */ // GIR_Coverage, 23585,
33465 /* 94548 */ GIR_EraseRootFromParent_Done,
33466 /* 94549 */ // Label 2589: @94549
33467 /* 94549 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2590*/ GIMT_Encode4(94633), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23586 //
33468 /* 94556 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
33469 /* 94561 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33470 /* 94564 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33471 /* 94567 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33472 /* 94570 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33473 /* 94573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33474 /* 94577 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33475 /* 94581 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33476 /* 94585 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33477 /* 94588 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33478 /* 94592 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33479 /* 94596 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33480 /* 94600 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33481 /* 94604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33482 /* 94606 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33483 /* 94613 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16407:{ *:[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)
33484 /* 94613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrm),
33485 /* 94616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33486 /* 94618 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33487 /* 94620 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33488 /* 94624 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33489 /* 94626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33490 /* 94631 */ GIR_RootConstrainSelectedInstOperands,
33491 /* 94632 */ // GIR_Coverage, 23586,
33492 /* 94632 */ GIR_EraseRootFromParent_Done,
33493 /* 94633 */ // Label 2590: @94633
33494 /* 94633 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2591*/ GIMT_Encode4(94717), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 23587 //
33495 /* 94640 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
33496 /* 94645 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33497 /* 94648 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33498 /* 94651 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33499 /* 94654 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33500 /* 94657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33501 /* 94661 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33502 /* 94665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33503 /* 94669 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33504 /* 94672 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33505 /* 94676 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33506 /* 94680 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33507 /* 94684 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33508 /* 94688 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33509 /* 94690 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33510 /* 94697 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16406:{ *:[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)
33511 /* 94697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrm),
33512 /* 94700 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33513 /* 94702 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33514 /* 94704 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33515 /* 94708 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33516 /* 94710 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33517 /* 94715 */ GIR_RootConstrainSelectedInstOperands,
33518 /* 94716 */ // GIR_Coverage, 23587,
33519 /* 94716 */ GIR_EraseRootFromParent_Done,
33520 /* 94717 */ // Label 2591: @94717
33521 /* 94717 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2592*/ GIMT_Encode4(94801), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1596 //
33522 /* 94724 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
33523 /* 94729 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33524 /* 94732 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33525 /* 94735 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33526 /* 94738 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33527 /* 94741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33528 /* 94745 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33529 /* 94749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33530 /* 94753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33531 /* 94757 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33532 /* 94760 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33533 /* 94764 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33534 /* 94768 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33535 /* 94772 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33536 /* 94774 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33537 /* 94781 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16417:{ *:[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)
33538 /* 94781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrm),
33539 /* 94784 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33540 /* 94786 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33541 /* 94788 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33542 /* 94792 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33543 /* 94794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33544 /* 94799 */ GIR_RootConstrainSelectedInstOperands,
33545 /* 94800 */ // GIR_Coverage, 1596,
33546 /* 94800 */ GIR_EraseRootFromParent_Done,
33547 /* 94801 */ // Label 2592: @94801
33548 /* 94801 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2593*/ GIMT_Encode4(94885), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1598 //
33549 /* 94808 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
33550 /* 94813 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33551 /* 94816 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33552 /* 94819 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33553 /* 94822 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33554 /* 94825 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33555 /* 94829 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33556 /* 94833 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33557 /* 94837 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33558 /* 94841 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33559 /* 94844 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33560 /* 94848 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33561 /* 94852 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33562 /* 94856 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33563 /* 94858 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33564 /* 94865 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16416:{ *:[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)
33565 /* 94865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrm),
33566 /* 94868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33567 /* 94870 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33568 /* 94872 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33569 /* 94876 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33570 /* 94878 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33571 /* 94883 */ GIR_RootConstrainSelectedInstOperands,
33572 /* 94884 */ // GIR_Coverage, 1598,
33573 /* 94884 */ GIR_EraseRootFromParent_Done,
33574 /* 94885 */ // Label 2593: @94885
33575 /* 94885 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2594*/ GIMT_Encode4(94969), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1600 //
33576 /* 94892 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
33577 /* 94897 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33578 /* 94900 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33579 /* 94903 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33580 /* 94906 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
33581 /* 94909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33582 /* 94913 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33583 /* 94917 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33584 /* 94921 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33585 /* 94925 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33586 /* 94928 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33587 /* 94932 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33588 /* 94936 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33589 /* 94940 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33590 /* 94942 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33591 /* 94949 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16415:{ *:[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)
33592 /* 94949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrm),
33593 /* 94952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33594 /* 94954 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33595 /* 94956 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33596 /* 94960 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33597 /* 94962 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33598 /* 94967 */ GIR_RootConstrainSelectedInstOperands,
33599 /* 94968 */ // GIR_Coverage, 1600,
33600 /* 94968 */ GIR_EraseRootFromParent_Done,
33601 /* 94969 */ // Label 2594: @94969
33602 /* 94969 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2595*/ GIMT_Encode4(95053), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1602 //
33603 /* 94976 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
33604 /* 94981 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33605 /* 94984 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33606 /* 94987 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33607 /* 94990 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33608 /* 94993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33609 /* 94997 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33610 /* 95001 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33611 /* 95005 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33612 /* 95009 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33613 /* 95012 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33614 /* 95016 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33615 /* 95020 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33616 /* 95024 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33617 /* 95026 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33618 /* 95033 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16414:{ *:[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)
33619 /* 95033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrm),
33620 /* 95036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33621 /* 95038 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33622 /* 95040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33623 /* 95044 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33624 /* 95046 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33625 /* 95051 */ GIR_RootConstrainSelectedInstOperands,
33626 /* 95052 */ // GIR_Coverage, 1602,
33627 /* 95052 */ GIR_EraseRootFromParent_Done,
33628 /* 95053 */ // Label 2595: @95053
33629 /* 95053 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2596*/ GIMT_Encode4(95137), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1604 //
33630 /* 95060 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
33631 /* 95065 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33632 /* 95068 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33633 /* 95071 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33634 /* 95074 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
33635 /* 95077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33636 /* 95081 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33637 /* 95085 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33638 /* 95089 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33639 /* 95093 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33640 /* 95096 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33641 /* 95100 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33642 /* 95104 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33643 /* 95108 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33644 /* 95110 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33645 /* 95117 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16413:{ *:[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)
33646 /* 95117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrm),
33647 /* 95120 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33648 /* 95122 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33649 /* 95124 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33650 /* 95128 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33651 /* 95130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33652 /* 95135 */ GIR_RootConstrainSelectedInstOperands,
33653 /* 95136 */ // GIR_Coverage, 1604,
33654 /* 95136 */ GIR_EraseRootFromParent_Done,
33655 /* 95137 */ // Label 2596: @95137
33656 /* 95137 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2597*/ GIMT_Encode4(95221), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1606 //
33657 /* 95144 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
33658 /* 95149 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33659 /* 95152 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33660 /* 95155 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33661 /* 95158 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33662 /* 95161 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33663 /* 95165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33664 /* 95169 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33665 /* 95173 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33666 /* 95177 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33667 /* 95180 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33668 /* 95184 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33669 /* 95188 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33670 /* 95192 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33671 /* 95194 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33672 /* 95201 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16412:{ *:[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)
33673 /* 95201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrm),
33674 /* 95204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33675 /* 95206 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33676 /* 95208 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33677 /* 95212 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33678 /* 95214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33679 /* 95219 */ GIR_RootConstrainSelectedInstOperands,
33680 /* 95220 */ // GIR_Coverage, 1606,
33681 /* 95220 */ GIR_EraseRootFromParent_Done,
33682 /* 95221 */ // Label 2597: @95221
33683 /* 95221 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2598*/ GIMT_Encode4(95305), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1608 //
33684 /* 95228 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
33685 /* 95233 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33686 /* 95236 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33687 /* 95239 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33688 /* 95242 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33689 /* 95245 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33690 /* 95249 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33691 /* 95253 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33692 /* 95257 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33693 /* 95261 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33694 /* 95264 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33695 /* 95268 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33696 /* 95272 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33697 /* 95276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33698 /* 95278 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33699 /* 95285 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16411:{ *:[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)
33700 /* 95285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrm),
33701 /* 95288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33702 /* 95290 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33703 /* 95292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33704 /* 95296 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33705 /* 95298 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33706 /* 95303 */ GIR_RootConstrainSelectedInstOperands,
33707 /* 95304 */ // GIR_Coverage, 1608,
33708 /* 95304 */ GIR_EraseRootFromParent_Done,
33709 /* 95305 */ // Label 2598: @95305
33710 /* 95305 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2599*/ GIMT_Encode4(95389), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1610 //
33711 /* 95312 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
33712 /* 95317 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33713 /* 95320 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33714 /* 95323 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33715 /* 95326 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33716 /* 95329 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33717 /* 95333 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33718 /* 95337 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33719 /* 95341 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33720 /* 95345 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33721 /* 95348 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33722 /* 95352 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33723 /* 95356 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33724 /* 95360 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33725 /* 95362 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33726 /* 95369 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16410:{ *:[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)
33727 /* 95369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrm),
33728 /* 95372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33729 /* 95374 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33730 /* 95376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33731 /* 95380 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33732 /* 95382 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33733 /* 95387 */ GIR_RootConstrainSelectedInstOperands,
33734 /* 95388 */ // GIR_Coverage, 1610,
33735 /* 95388 */ GIR_EraseRootFromParent_Done,
33736 /* 95389 */ // Label 2599: @95389
33737 /* 95389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2600*/ GIMT_Encode4(95473), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1612 //
33738 /* 95396 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
33739 /* 95401 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33740 /* 95404 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33741 /* 95407 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33742 /* 95410 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33743 /* 95413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33744 /* 95417 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33745 /* 95421 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33746 /* 95425 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33747 /* 95429 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33748 /* 95432 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33749 /* 95436 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33750 /* 95440 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33751 /* 95444 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33752 /* 95446 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33753 /* 95453 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16409:{ *:[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)
33754 /* 95453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrm),
33755 /* 95456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33756 /* 95458 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33757 /* 95460 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33758 /* 95464 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33759 /* 95466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33760 /* 95471 */ GIR_RootConstrainSelectedInstOperands,
33761 /* 95472 */ // GIR_Coverage, 1612,
33762 /* 95472 */ GIR_EraseRootFromParent_Done,
33763 /* 95473 */ // Label 2600: @95473
33764 /* 95473 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2601*/ GIMT_Encode4(95557), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1614 //
33765 /* 95480 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
33766 /* 95485 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33767 /* 95488 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33768 /* 95491 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33769 /* 95494 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33770 /* 95497 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33771 /* 95501 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33772 /* 95505 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33773 /* 95509 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33774 /* 95513 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33775 /* 95516 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33776 /* 95520 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33777 /* 95524 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33778 /* 95528 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33779 /* 95530 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33780 /* 95537 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16408:{ *:[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)
33781 /* 95537 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrm),
33782 /* 95540 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33783 /* 95542 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33784 /* 95544 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33785 /* 95548 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33786 /* 95550 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33787 /* 95555 */ GIR_RootConstrainSelectedInstOperands,
33788 /* 95556 */ // GIR_Coverage, 1614,
33789 /* 95556 */ GIR_EraseRootFromParent_Done,
33790 /* 95557 */ // Label 2601: @95557
33791 /* 95557 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2602*/ GIMT_Encode4(95641), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1616 //
33792 /* 95564 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
33793 /* 95569 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33794 /* 95572 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33795 /* 95575 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33796 /* 95578 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33797 /* 95581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33798 /* 95585 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33799 /* 95589 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33800 /* 95593 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33801 /* 95597 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33802 /* 95600 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33803 /* 95604 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33804 /* 95608 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33805 /* 95612 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33806 /* 95614 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33807 /* 95621 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16407:{ *:[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)
33808 /* 95621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrm),
33809 /* 95624 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33810 /* 95626 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33811 /* 95628 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33812 /* 95632 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33813 /* 95634 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33814 /* 95639 */ GIR_RootConstrainSelectedInstOperands,
33815 /* 95640 */ // GIR_Coverage, 1616,
33816 /* 95640 */ GIR_EraseRootFromParent_Done,
33817 /* 95641 */ // Label 2602: @95641
33818 /* 95641 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2603*/ GIMT_Encode4(95725), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1618 //
33819 /* 95648 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
33820 /* 95653 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33821 /* 95656 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33822 /* 95659 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33823 /* 95662 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33824 /* 95665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33825 /* 95669 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33826 /* 95673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33827 /* 95677 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33828 /* 95681 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33829 /* 95684 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33830 /* 95688 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33831 /* 95692 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33832 /* 95696 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33833 /* 95698 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33834 /* 95705 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16406:{ *:[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)
33835 /* 95705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrm),
33836 /* 95708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33837 /* 95710 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33838 /* 95712 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33839 /* 95716 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33840 /* 95718 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33841 /* 95723 */ GIR_RootConstrainSelectedInstOperands,
33842 /* 95724 */ // GIR_Coverage, 1618,
33843 /* 95724 */ GIR_EraseRootFromParent_Done,
33844 /* 95725 */ // Label 2603: @95725
33845 /* 95725 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2604*/ GIMT_Encode4(95809), GIMT_Encode2(GIFBS_HasSM3), // Rule ID 3547 //
33846 /* 95732 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg1),
33847 /* 95737 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33848 /* 95740 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33849 /* 95743 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33850 /* 95746 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33851 /* 95749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33852 /* 95753 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33853 /* 95757 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33854 /* 95761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
33855 /* 95765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33856 /* 95769 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33857 /* 95772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33858 /* 95776 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33859 /* 95780 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33860 /* 95782 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33861 /* 95789 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16357:{ *:[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)
33862 /* 95789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG1rm),
33863 /* 95792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33864 /* 95794 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33865 /* 95796 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33866 /* 95798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
33867 /* 95802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33868 /* 95807 */ GIR_RootConstrainSelectedInstOperands,
33869 /* 95808 */ // GIR_Coverage, 3547,
33870 /* 95808 */ GIR_EraseRootFromParent_Done,
33871 /* 95809 */ // Label 2604: @95809
33872 /* 95809 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2605*/ GIMT_Encode4(95893), GIMT_Encode2(GIFBS_HasSM3), // Rule ID 3549 //
33873 /* 95816 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg2),
33874 /* 95821 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33875 /* 95824 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33876 /* 95827 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33877 /* 95830 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33878 /* 95833 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33879 /* 95837 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33880 /* 95841 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33881 /* 95845 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
33882 /* 95849 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33883 /* 95853 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33884 /* 95856 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33885 /* 95860 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33886 /* 95864 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33887 /* 95866 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33888 /* 95873 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16358:{ *:[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)
33889 /* 95873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG2rm),
33890 /* 95876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33891 /* 95878 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33892 /* 95880 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33893 /* 95882 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
33894 /* 95886 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33895 /* 95891 */ GIR_RootConstrainSelectedInstOperands,
33896 /* 95892 */ // GIR_Coverage, 3549,
33897 /* 95892 */ GIR_EraseRootFromParent_Done,
33898 /* 95893 */ // Label 2605: @95893
33899 /* 95893 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2606*/ GIMT_Encode4(95942), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3241 //
33900 /* 95900 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
33901 /* 95905 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33902 /* 95908 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33903 /* 95911 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33904 /* 95914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33905 /* 95918 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33906 /* 95922 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33907 /* 95926 */ // MIs[0] src3
33908 /* 95926 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33909 /* 95929 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16200:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPSrri:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3)
33910 /* 95929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrri),
33911 /* 95932 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33912 /* 95934 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33913 /* 95936 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33914 /* 95938 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33915 /* 95940 */ GIR_RootConstrainSelectedInstOperands,
33916 /* 95941 */ // GIR_Coverage, 3241,
33917 /* 95941 */ GIR_EraseRootFromParent_Done,
33918 /* 95942 */ // Label 2606: @95942
33919 /* 95942 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2607*/ GIMT_Encode4(95991), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3243 //
33920 /* 95949 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
33921 /* 95954 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33922 /* 95957 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33923 /* 95960 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33924 /* 95963 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33925 /* 95967 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33926 /* 95971 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33927 /* 95975 */ // MIs[0] src3
33928 /* 95975 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33929 /* 95978 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16199:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPDrri:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3)
33930 /* 95978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrri),
33931 /* 95981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33932 /* 95983 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33933 /* 95985 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33934 /* 95987 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33935 /* 95989 */ GIR_RootConstrainSelectedInstOperands,
33936 /* 95990 */ // GIR_Coverage, 3243,
33937 /* 95990 */ GIR_EraseRootFromParent_Done,
33938 /* 95991 */ // Label 2607: @95991
33939 /* 95991 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2608*/ GIMT_Encode4(96040), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3245 //
33940 /* 95998 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
33941 /* 96003 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33942 /* 96006 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33943 /* 96009 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33944 /* 96012 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33945 /* 96016 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33946 /* 96020 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33947 /* 96024 */ // MIs[0] src3
33948 /* 96024 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33949 /* 96027 */ // (intrinsic_wo_chain:{ *:[v8f32] } 14810:{ *:[iPTR] }, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPSYrri:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, (timm:{ *:[i8] }):$src3)
33950 /* 96027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrri),
33951 /* 96030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33952 /* 96032 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33953 /* 96034 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33954 /* 96036 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33955 /* 96038 */ GIR_RootConstrainSelectedInstOperands,
33956 /* 96039 */ // GIR_Coverage, 3245,
33957 /* 96039 */ GIR_EraseRootFromParent_Done,
33958 /* 96040 */ // Label 2608: @96040
33959 /* 96040 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2609*/ GIMT_Encode4(96089), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3251 //
33960 /* 96047 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
33961 /* 96052 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33962 /* 96055 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33963 /* 96058 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33964 /* 96061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33965 /* 96065 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33966 /* 96069 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33967 /* 96073 */ // MIs[0] src3
33968 /* 96073 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33969 /* 96076 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16200:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3) => (DPPSrri:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3)
33970 /* 96076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DPPSrri),
33971 /* 96079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33972 /* 96081 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33973 /* 96083 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33974 /* 96085 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33975 /* 96087 */ GIR_RootConstrainSelectedInstOperands,
33976 /* 96088 */ // GIR_Coverage, 3251,
33977 /* 96088 */ GIR_EraseRootFromParent_Done,
33978 /* 96089 */ // Label 2609: @96089
33979 /* 96089 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2610*/ GIMT_Encode4(96138), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3253 //
33980 /* 96096 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
33981 /* 96101 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33982 /* 96104 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33983 /* 96107 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33984 /* 96110 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33985 /* 96114 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33986 /* 96118 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33987 /* 96122 */ // MIs[0] src3
33988 /* 96122 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33989 /* 96125 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16199:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3) => (DPPDrri:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3)
33990 /* 96125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DPPDrri),
33991 /* 96128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33992 /* 96130 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33993 /* 96132 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33994 /* 96134 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33995 /* 96136 */ GIR_RootConstrainSelectedInstOperands,
33996 /* 96137 */ // GIR_Coverage, 3253,
33997 /* 96137 */ GIR_EraseRootFromParent_Done,
33998 /* 96138 */ // Label 2610: @96138
33999 /* 96138 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2611*/ GIMT_Encode4(96187), GIMT_Encode2(GIFBS_HasSHA), // Rule ID 3313 //
34000 /* 96145 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1rnds4),
34001 /* 96150 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34002 /* 96153 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34003 /* 96156 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34004 /* 96159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34005 /* 96163 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34006 /* 96167 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34007 /* 96171 */ // MIs[0] src3
34008 /* 96171 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34009 /* 96174 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16086:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, (timm:{ *:[i8] }):$src3) => (SHA1RNDS4rri:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, (timm:{ *:[i8] }):$src3)
34010 /* 96174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1RNDS4rri),
34011 /* 96177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34012 /* 96179 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34013 /* 96181 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34014 /* 96183 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34015 /* 96185 */ GIR_RootConstrainSelectedInstOperands,
34016 /* 96186 */ // GIR_Coverage, 3313,
34017 /* 96186 */ GIR_EraseRootFromParent_Done,
34018 /* 96187 */ // Label 2611: @96187
34019 /* 96187 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2612*/ GIMT_Encode4(96240), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1595 //
34020 /* 96194 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
34021 /* 96199 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34022 /* 96202 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34023 /* 96205 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34024 /* 96208 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34025 /* 96211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34026 /* 96215 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34027 /* 96219 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34028 /* 96223 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34029 /* 96227 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16417:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMADCSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
34030 /* 96227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrr),
34031 /* 96230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34032 /* 96232 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34033 /* 96234 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34034 /* 96236 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34035 /* 96238 */ GIR_RootConstrainSelectedInstOperands,
34036 /* 96239 */ // GIR_Coverage, 1595,
34037 /* 96239 */ GIR_EraseRootFromParent_Done,
34038 /* 96240 */ // Label 2612: @96240
34039 /* 96240 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2613*/ GIMT_Encode4(96293), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1597 //
34040 /* 96247 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
34041 /* 96252 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34042 /* 96255 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34043 /* 96258 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34044 /* 96261 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34045 /* 96264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34046 /* 96268 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34047 /* 96272 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34048 /* 96276 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34049 /* 96280 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16416:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMADCSSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
34050 /* 96280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrr),
34051 /* 96283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34052 /* 96285 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34053 /* 96287 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34054 /* 96289 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34055 /* 96291 */ GIR_RootConstrainSelectedInstOperands,
34056 /* 96292 */ // GIR_Coverage, 1597,
34057 /* 96292 */ GIR_EraseRootFromParent_Done,
34058 /* 96293 */ // Label 2613: @96293
34059 /* 96293 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2614*/ GIMT_Encode4(96346), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1599 //
34060 /* 96300 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
34061 /* 96305 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34062 /* 96308 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34063 /* 96311 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34064 /* 96314 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34065 /* 96317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34066 /* 96321 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34067 /* 96325 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34068 /* 96329 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34069 /* 96333 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16415:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
34070 /* 96333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
34071 /* 96336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34072 /* 96338 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34073 /* 96340 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34074 /* 96342 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34075 /* 96344 */ GIR_RootConstrainSelectedInstOperands,
34076 /* 96345 */ // GIR_Coverage, 1599,
34077 /* 96345 */ GIR_EraseRootFromParent_Done,
34078 /* 96346 */ // Label 2614: @96346
34079 /* 96346 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2615*/ GIMT_Encode4(96399), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1601 //
34080 /* 96353 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
34081 /* 96358 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34082 /* 96361 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34083 /* 96364 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34084 /* 96367 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34085 /* 96370 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34086 /* 96374 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34087 /* 96378 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34088 /* 96382 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34089 /* 96386 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16414:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
34090 /* 96386 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrr),
34091 /* 96389 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34092 /* 96391 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34093 /* 96393 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34094 /* 96395 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34095 /* 96397 */ GIR_RootConstrainSelectedInstOperands,
34096 /* 96398 */ // GIR_Coverage, 1601,
34097 /* 96398 */ GIR_EraseRootFromParent_Done,
34098 /* 96399 */ // Label 2615: @96399
34099 /* 96399 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2616*/ GIMT_Encode4(96452), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1603 //
34100 /* 96406 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
34101 /* 96411 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34102 /* 96414 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34103 /* 96417 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34104 /* 96420 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34105 /* 96423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34106 /* 96427 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34107 /* 96431 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34108 /* 96435 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34109 /* 96439 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16413:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3) => (VPMACSSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
34110 /* 96439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrr),
34111 /* 96442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34112 /* 96444 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34113 /* 96446 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34114 /* 96448 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34115 /* 96450 */ GIR_RootConstrainSelectedInstOperands,
34116 /* 96451 */ // GIR_Coverage, 1603,
34117 /* 96451 */ GIR_EraseRootFromParent_Done,
34118 /* 96452 */ // Label 2616: @96452
34119 /* 96452 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2617*/ GIMT_Encode4(96505), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1605 //
34120 /* 96459 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
34121 /* 96464 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34122 /* 96467 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34123 /* 96470 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34124 /* 96473 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34125 /* 96476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34126 /* 96480 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34127 /* 96484 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34128 /* 96488 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34129 /* 96492 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16412:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
34130 /* 96492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrr),
34131 /* 96495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34132 /* 96497 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34133 /* 96499 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34134 /* 96501 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34135 /* 96503 */ GIR_RootConstrainSelectedInstOperands,
34136 /* 96504 */ // GIR_Coverage, 1605,
34137 /* 96504 */ GIR_EraseRootFromParent_Done,
34138 /* 96505 */ // Label 2617: @96505
34139 /* 96505 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2618*/ GIMT_Encode4(96558), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1607 //
34140 /* 96512 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
34141 /* 96517 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34142 /* 96520 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34143 /* 96523 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34144 /* 96526 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34145 /* 96529 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34146 /* 96533 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34147 /* 96537 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34148 /* 96541 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34149 /* 96545 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16411:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSSDQLrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
34150 /* 96545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrr),
34151 /* 96548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34152 /* 96550 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34153 /* 96552 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34154 /* 96554 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34155 /* 96556 */ GIR_RootConstrainSelectedInstOperands,
34156 /* 96557 */ // GIR_Coverage, 1607,
34157 /* 96557 */ GIR_EraseRootFromParent_Done,
34158 /* 96558 */ // Label 2618: @96558
34159 /* 96558 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2619*/ GIMT_Encode4(96611), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1609 //
34160 /* 96565 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
34161 /* 96570 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34162 /* 96573 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34163 /* 96576 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34164 /* 96579 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34165 /* 96582 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34166 /* 96586 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34167 /* 96590 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34168 /* 96594 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34169 /* 96598 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16410:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSSDQHrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
34170 /* 96598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrr),
34171 /* 96601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34172 /* 96603 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34173 /* 96605 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34174 /* 96607 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34175 /* 96609 */ GIR_RootConstrainSelectedInstOperands,
34176 /* 96610 */ // GIR_Coverage, 1609,
34177 /* 96610 */ GIR_EraseRootFromParent_Done,
34178 /* 96611 */ // Label 2619: @96611
34179 /* 96611 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2620*/ GIMT_Encode4(96664), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1611 //
34180 /* 96618 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
34181 /* 96623 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34182 /* 96626 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34183 /* 96629 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34184 /* 96632 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34185 /* 96635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34186 /* 96639 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34187 /* 96643 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34188 /* 96647 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34189 /* 96651 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16409:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
34190 /* 96651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrr),
34191 /* 96654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34192 /* 96656 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34193 /* 96658 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34194 /* 96660 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34195 /* 96662 */ GIR_RootConstrainSelectedInstOperands,
34196 /* 96663 */ // GIR_Coverage, 1611,
34197 /* 96663 */ GIR_EraseRootFromParent_Done,
34198 /* 96664 */ // Label 2620: @96664
34199 /* 96664 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2621*/ GIMT_Encode4(96717), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1613 //
34200 /* 96671 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
34201 /* 96676 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34202 /* 96679 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34203 /* 96682 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34204 /* 96685 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34205 /* 96688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34206 /* 96692 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34207 /* 96696 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34208 /* 96700 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34209 /* 96704 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16408:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSDQLrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
34210 /* 96704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrr),
34211 /* 96707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34212 /* 96709 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34213 /* 96711 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34214 /* 96713 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34215 /* 96715 */ GIR_RootConstrainSelectedInstOperands,
34216 /* 96716 */ // GIR_Coverage, 1613,
34217 /* 96716 */ GIR_EraseRootFromParent_Done,
34218 /* 96717 */ // Label 2621: @96717
34219 /* 96717 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2622*/ GIMT_Encode4(96770), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1615 //
34220 /* 96724 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
34221 /* 96729 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34222 /* 96732 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34223 /* 96735 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34224 /* 96738 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34225 /* 96741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34226 /* 96745 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34227 /* 96749 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34228 /* 96753 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34229 /* 96757 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16407:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSDQHrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
34230 /* 96757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrr),
34231 /* 96760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34232 /* 96762 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34233 /* 96764 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34234 /* 96766 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34235 /* 96768 */ GIR_RootConstrainSelectedInstOperands,
34236 /* 96769 */ // GIR_Coverage, 1615,
34237 /* 96769 */ GIR_EraseRootFromParent_Done,
34238 /* 96770 */ // Label 2622: @96770
34239 /* 96770 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2623*/ GIMT_Encode4(96823), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1617 //
34240 /* 96777 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
34241 /* 96782 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34242 /* 96785 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34243 /* 96788 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34244 /* 96791 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34245 /* 96794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34246 /* 96798 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34247 /* 96802 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34248 /* 96806 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34249 /* 96810 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16406:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
34250 /* 96810 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
34251 /* 96813 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34252 /* 96815 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34253 /* 96817 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34254 /* 96819 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34255 /* 96821 */ GIR_RootConstrainSelectedInstOperands,
34256 /* 96822 */ // GIR_Coverage, 1617,
34257 /* 96822 */ GIR_EraseRootFromParent_Done,
34258 /* 96823 */ // Label 2623: @96823
34259 /* 96823 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2624*/ GIMT_Encode4(96888), GIMT_Encode2(GIFBS_HasSHA), // Rule ID 3321 //
34260 /* 96830 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256rnds2),
34261 /* 96835 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34262 /* 96838 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34263 /* 96841 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34264 /* 96844 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34265 /* 96847 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34266 /* 96851 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34267 /* 96855 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34268 /* 96859 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34269 /* 96863 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16089:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, XMM0:{ *:[v4i32] }) => (SHA256RNDS2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
34270 /* 96863 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
34271 /* 96867 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::XMM0), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
34272 /* 96873 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/4, // XMM0
34273 /* 96877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256RNDS2rr),
34274 /* 96880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34275 /* 96882 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34276 /* 96884 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34277 /* 96886 */ GIR_RootConstrainSelectedInstOperands,
34278 /* 96887 */ // GIR_Coverage, 3321,
34279 /* 96887 */ GIR_EraseRootFromParent_Done,
34280 /* 96888 */ // Label 2624: @96888
34281 /* 96888 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2625*/ GIMT_Encode4(96941), GIMT_Encode2(GIFBS_HasSHA512), // Rule ID 3545 //
34282 /* 96895 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512rnds2),
34283 /* 96900 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
34284 /* 96903 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
34285 /* 96906 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
34286 /* 96909 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34287 /* 96912 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34288 /* 96916 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34289 /* 96920 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34290 /* 96924 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34291 /* 96928 */ // (intrinsic_wo_chain:{ *:[v4i64] } 16356:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VSHA512RNDS2rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2, VR128:{ *:[v2i64] }:$src3)
34292 /* 96928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512RNDS2rr),
34293 /* 96931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34294 /* 96933 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34295 /* 96935 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34296 /* 96937 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34297 /* 96939 */ GIR_RootConstrainSelectedInstOperands,
34298 /* 96940 */ // GIR_Coverage, 3545,
34299 /* 96940 */ GIR_EraseRootFromParent_Done,
34300 /* 96941 */ // Label 2625: @96941
34301 /* 96941 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2626*/ GIMT_Encode4(96994), GIMT_Encode2(GIFBS_HasSM3), // Rule ID 3546 //
34302 /* 96948 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg1),
34303 /* 96953 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34304 /* 96956 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34305 /* 96959 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34306 /* 96962 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34307 /* 96965 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34308 /* 96969 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34309 /* 96973 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34310 /* 96977 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34311 /* 96981 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16357:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VSM3MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
34312 /* 96981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG1rr),
34313 /* 96984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34314 /* 96986 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34315 /* 96988 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34316 /* 96990 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34317 /* 96992 */ GIR_RootConstrainSelectedInstOperands,
34318 /* 96993 */ // GIR_Coverage, 3546,
34319 /* 96993 */ GIR_EraseRootFromParent_Done,
34320 /* 96994 */ // Label 2626: @96994
34321 /* 96994 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2627*/ GIMT_Encode4(97047), GIMT_Encode2(GIFBS_HasSM3), // Rule ID 3548 //
34322 /* 97001 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg2),
34323 /* 97006 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34324 /* 97009 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34325 /* 97012 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34326 /* 97015 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34327 /* 97018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34328 /* 97022 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34329 /* 97026 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34330 /* 97030 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34331 /* 97034 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16358:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VSM3MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
34332 /* 97034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG2rr),
34333 /* 97037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34334 /* 97039 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34335 /* 97041 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34336 /* 97043 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34337 /* 97045 */ GIR_RootConstrainSelectedInstOperands,
34338 /* 97046 */ // GIR_Coverage, 3548,
34339 /* 97046 */ GIR_EraseRootFromParent_Done,
34340 /* 97047 */ // Label 2627: @97047
34341 /* 97047 */ GIM_Reject,
34342 /* 97048 */ // Label 2573: @97048
34343 /* 97048 */ GIM_Try, /*On fail goto*//*Label 2628*/ GIMT_Encode4(97175),
34344 /* 97053 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/6,
34345 /* 97056 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3rnds2),
34346 /* 97061 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34347 /* 97064 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34348 /* 97067 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34349 /* 97070 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34350 /* 97073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34351 /* 97077 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34352 /* 97081 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34353 /* 97085 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2629*/ GIMT_Encode4(97145), GIMT_Encode2(GIFBS_HasSM3), // Rule ID 3551 //
34354 /* 97092 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
34355 /* 97096 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34356 /* 97100 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34357 /* 97103 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34358 /* 97107 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34359 /* 97111 */ // MIs[0] src4
34360 /* 97111 */ GIM_CheckIsImm, /*MI*/0, /*Op*/5,
34361 /* 97114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34362 /* 97116 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34363 /* 97123 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16359:{ *:[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)
34364 /* 97123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3RNDS2rmi),
34365 /* 97126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34366 /* 97128 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34367 /* 97130 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34368 /* 97132 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
34369 /* 97136 */ GIR_RootToRootCopy, /*OpIdx*/5, // src4
34370 /* 97138 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34371 /* 97143 */ GIR_RootConstrainSelectedInstOperands,
34372 /* 97144 */ // GIR_Coverage, 3551,
34373 /* 97144 */ GIR_EraseRootFromParent_Done,
34374 /* 97145 */ // Label 2629: @97145
34375 /* 97145 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2630*/ GIMT_Encode4(97174), GIMT_Encode2(GIFBS_HasSM3), // Rule ID 3550 //
34376 /* 97152 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34377 /* 97156 */ // MIs[0] src4
34378 /* 97156 */ GIM_CheckIsImm, /*MI*/0, /*Op*/5,
34379 /* 97159 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16359:{ *:[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)
34380 /* 97159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3RNDS2rri),
34381 /* 97162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34382 /* 97164 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34383 /* 97166 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34384 /* 97168 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34385 /* 97170 */ GIR_RootToRootCopy, /*OpIdx*/5, // src4
34386 /* 97172 */ GIR_RootConstrainSelectedInstOperands,
34387 /* 97173 */ // GIR_Coverage, 3550,
34388 /* 97173 */ GIR_EraseRootFromParent_Done,
34389 /* 97174 */ // Label 2630: @97174
34390 /* 97174 */ GIM_Reject,
34391 /* 97175 */ // Label 2628: @97175
34392 /* 97175 */ GIM_Reject,
34393 /* 97176 */ // Label 21: @97176
34394 /* 97176 */ GIM_Try, /*On fail goto*//*Label 2631*/ GIMT_Encode4(97721),
34395 /* 97181 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/1,
34396 /* 97184 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2632*/ GIMT_Encode4(97205), GIMT_Encode2(GIFBS_HasSERIALIZE), // Rule ID 149 //
34397 /* 97191 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_serialize),
34398 /* 97196 */ // (intrinsic_void 16081:{ *:[iPTR] }) => (SERIALIZE)
34399 /* 97196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SERIALIZE),
34400 /* 97199 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34401 /* 97203 */ GIR_RootConstrainSelectedInstOperands,
34402 /* 97204 */ // GIR_Coverage, 149,
34403 /* 97204 */ GIR_EraseRootFromParent_Done,
34404 /* 97205 */ // Label 2632: @97205
34405 /* 97205 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2633*/ GIMT_Encode4(97226), GIMT_Encode2(GIFBS_HasTSXLDTRK), // Rule ID 150 //
34406 /* 97212 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsusldtrk),
34407 /* 97217 */ // (intrinsic_void 16441:{ *:[iPTR] }) => (XSUSLDTRK)
34408 /* 97217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSUSLDTRK),
34409 /* 97220 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34410 /* 97224 */ GIR_RootConstrainSelectedInstOperands,
34411 /* 97225 */ // GIR_Coverage, 150,
34412 /* 97225 */ GIR_EraseRootFromParent_Done,
34413 /* 97226 */ // Label 2633: @97226
34414 /* 97226 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2634*/ GIMT_Encode4(97247), GIMT_Encode2(GIFBS_HasTSXLDTRK), // Rule ID 151 //
34415 /* 97233 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xresldtrk),
34416 /* 97238 */ // (intrinsic_void 16427:{ *:[iPTR] }) => (XRESLDTRK)
34417 /* 97238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRESLDTRK),
34418 /* 97241 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34419 /* 97245 */ GIR_RootConstrainSelectedInstOperands,
34420 /* 97246 */ // GIR_Coverage, 151,
34421 /* 97246 */ GIR_EraseRootFromParent_Done,
34422 /* 97247 */ // Label 2634: @97247
34423 /* 97247 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2635*/ GIMT_Encode4(97268), GIMT_Encode2(GIFBS_HasUINTR_In64BitMode), // Rule ID 152 //
34424 /* 97254 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clui),
34425 /* 97259 */ // (intrinsic_void 15939:{ *:[iPTR] }) => (CLUI)
34426 /* 97259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLUI),
34427 /* 97262 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34428 /* 97266 */ GIR_RootConstrainSelectedInstOperands,
34429 /* 97267 */ // GIR_Coverage, 152,
34430 /* 97267 */ GIR_EraseRootFromParent_Done,
34431 /* 97268 */ // Label 2635: @97268
34432 /* 97268 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2636*/ GIMT_Encode4(97289), GIMT_Encode2(GIFBS_HasUINTR_In64BitMode), // Rule ID 153 //
34433 /* 97275 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_stui),
34434 /* 97280 */ // (intrinsic_void 16263:{ *:[iPTR] }) => (STUI)
34435 /* 97280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STUI),
34436 /* 97283 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34437 /* 97287 */ GIR_RootConstrainSelectedInstOperands,
34438 /* 97288 */ // GIR_Coverage, 153,
34439 /* 97288 */ GIR_EraseRootFromParent_Done,
34440 /* 97289 */ // Label 2636: @97289
34441 /* 97289 */ GIM_Try, /*On fail goto*//*Label 2637*/ GIMT_Encode4(97308), // Rule ID 2491 //
34442 /* 97294 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_pause),
34443 /* 97299 */ // (intrinsic_void 16158:{ *:[iPTR] }) => (PAUSE)
34444 /* 97299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PAUSE),
34445 /* 97302 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34446 /* 97306 */ GIR_RootConstrainSelectedInstOperands,
34447 /* 97307 */ // GIR_Coverage, 2491,
34448 /* 97307 */ GIR_EraseRootFromParent_Done,
34449 /* 97308 */ // Label 2637: @97308
34450 /* 97308 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2638*/ GIMT_Encode4(97329), GIMT_Encode2(GIFBS_HasSSE1), // Rule ID 2492 //
34451 /* 97315 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_sfence),
34452 /* 97320 */ // (intrinsic_void 16120:{ *:[iPTR] }) => (SFENCE)
34453 /* 97320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SFENCE),
34454 /* 97323 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34455 /* 97327 */ GIR_RootConstrainSelectedInstOperands,
34456 /* 97328 */ // GIR_Coverage, 2492,
34457 /* 97328 */ GIR_EraseRootFromParent_Done,
34458 /* 97329 */ // Label 2638: @97329
34459 /* 97329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2639*/ GIMT_Encode4(97350), GIMT_Encode2(GIFBS_HasSSE2), // Rule ID 2493 //
34460 /* 97336 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_lfence),
34461 /* 97341 */ // (intrinsic_void 16147:{ *:[iPTR] }) => (LFENCE)
34462 /* 97341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LFENCE),
34463 /* 97344 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34464 /* 97348 */ GIR_RootConstrainSelectedInstOperands,
34465 /* 97349 */ // GIR_Coverage, 2493,
34466 /* 97349 */ GIR_EraseRootFromParent_Done,
34467 /* 97350 */ // Label 2639: @97350
34468 /* 97350 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2640*/ GIMT_Encode4(97371), GIMT_Encode2(GIFBS_HasMFence), // Rule ID 2494 //
34469 /* 97357 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_mfence),
34470 /* 97362 */ // (intrinsic_void 16151:{ *:[iPTR] }) => (MFENCE)
34471 /* 97362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MFENCE),
34472 /* 97365 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34473 /* 97369 */ GIR_RootConstrainSelectedInstOperands,
34474 /* 97370 */ // GIR_Coverage, 2494,
34475 /* 97370 */ GIR_EraseRootFromParent_Done,
34476 /* 97371 */ // Label 2640: @97371
34477 /* 97371 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2641*/ GIMT_Encode4(97436), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3415 //
34478 /* 97378 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_vzeroall),
34479 /* 97383 */ // (intrinsic_void 14853:{ *:[iPTR] }) => (VZEROALL)
34480 /* 97383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VZEROALL),
34481 /* 97386 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM0*/0,
34482 /* 97389 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM1*/1,
34483 /* 97392 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM2*/2,
34484 /* 97395 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM3*/3,
34485 /* 97398 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM4*/4,
34486 /* 97401 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM5*/5,
34487 /* 97404 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM6*/6,
34488 /* 97407 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM7*/7,
34489 /* 97410 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM8*/8,
34490 /* 97413 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM9*/9,
34491 /* 97416 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM10*/10,
34492 /* 97419 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM11*/11,
34493 /* 97422 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM12*/12,
34494 /* 97425 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM13*/13,
34495 /* 97428 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM14*/14,
34496 /* 97431 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM15*/15,
34497 /* 97434 */ GIR_RootConstrainSelectedInstOperands,
34498 /* 97435 */ // GIR_Coverage, 3415,
34499 /* 97435 */ GIR_EraseRootFromParent_Done,
34500 /* 97436 */ // Label 2641: @97436
34501 /* 97436 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2642*/ GIMT_Encode4(97501), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3416 //
34502 /* 97443 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_vzeroupper),
34503 /* 97448 */ // (intrinsic_void 14854:{ *:[iPTR] }) => (VZEROUPPER)
34504 /* 97448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VZEROUPPER),
34505 /* 97451 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM0*/0,
34506 /* 97454 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM1*/1,
34507 /* 97457 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM2*/2,
34508 /* 97460 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM3*/3,
34509 /* 97463 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM4*/4,
34510 /* 97466 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM5*/5,
34511 /* 97469 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM6*/6,
34512 /* 97472 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM7*/7,
34513 /* 97475 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM8*/8,
34514 /* 97478 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM9*/9,
34515 /* 97481 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM10*/10,
34516 /* 97484 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM11*/11,
34517 /* 97487 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM12*/12,
34518 /* 97490 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM13*/13,
34519 /* 97493 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM14*/14,
34520 /* 97496 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM15*/15,
34521 /* 97499 */ GIR_RootConstrainSelectedInstOperands,
34522 /* 97500 */ // GIR_Coverage, 3416,
34523 /* 97500 */ GIR_EraseRootFromParent_Done,
34524 /* 97501 */ // Label 2642: @97501
34525 /* 97501 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2643*/ GIMT_Encode4(97570), GIMT_Encode2(GIFBS_HasMMX), // Rule ID 16859 //
34526 /* 97508 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_mmx_emms),
34527 /* 97513 */ // (intrinsic_void 15974:{ *:[iPTR] }) => (MMX_EMMS:{ *:[x86mmx] })
34528 /* 97513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MMX_EMMS),
34529 /* 97516 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM0*/0,
34530 /* 97519 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM1*/1,
34531 /* 97522 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM2*/2,
34532 /* 97525 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM3*/3,
34533 /* 97528 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM4*/4,
34534 /* 97531 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM5*/5,
34535 /* 97534 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM6*/6,
34536 /* 97537 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM7*/7,
34537 /* 97540 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST0*/8,
34538 /* 97543 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST1*/9,
34539 /* 97546 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST2*/10,
34540 /* 97549 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST3*/11,
34541 /* 97552 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST4*/12,
34542 /* 97555 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST5*/13,
34543 /* 97558 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST6*/14,
34544 /* 97561 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST7*/15,
34545 /* 97564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34546 /* 97568 */ GIR_RootConstrainSelectedInstOperands,
34547 /* 97569 */ // GIR_Coverage, 16859,
34548 /* 97569 */ GIR_EraseRootFromParent_Done,
34549 /* 97570 */ // Label 2643: @97570
34550 /* 97570 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2644*/ GIMT_Encode4(97591), GIMT_Encode2(GIFBS_HasRTM), // Rule ID 17042 //
34551 /* 97577 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xend),
34552 /* 97582 */ // (intrinsic_void 16379:{ *:[iPTR] }) => (XEND)
34553 /* 97582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XEND),
34554 /* 97585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34555 /* 97589 */ GIR_RootConstrainSelectedInstOperands,
34556 /* 97590 */ // GIR_Coverage, 17042,
34557 /* 97590 */ GIR_EraseRootFromParent_Done,
34558 /* 97591 */ // Label 2644: @97591
34559 /* 97591 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2645*/ GIMT_Encode4(97636), GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode), // Rule ID 17054 //
34560 /* 97598 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tilerelease),
34561 /* 97603 */ // (intrinsic_void 16319:{ *:[iPTR] }) => (TILERELEASE:{ *:[x86amx] })
34562 /* 97603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TILERELEASE),
34563 /* 97606 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
34564 /* 97609 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
34565 /* 97612 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
34566 /* 97615 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
34567 /* 97618 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
34568 /* 97621 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
34569 /* 97624 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
34570 /* 97627 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
34571 /* 97630 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34572 /* 97634 */ GIR_RootConstrainSelectedInstOperands,
34573 /* 97635 */ // GIR_Coverage, 17054,
34574 /* 97635 */ GIR_EraseRootFromParent_Done,
34575 /* 97636 */ // Label 2645: @97636
34576 /* 97636 */ GIM_Try, /*On fail goto*//*Label 2646*/ GIMT_Encode4(97655), // Rule ID 17125 //
34577 /* 97641 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wbinvd),
34578 /* 97646 */ // (intrinsic_void 16366:{ *:[iPTR] }) => (WBINVD)
34579 /* 97646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WBINVD),
34580 /* 97649 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34581 /* 97653 */ GIR_RootConstrainSelectedInstOperands,
34582 /* 97654 */ // GIR_Coverage, 17125,
34583 /* 97654 */ GIR_EraseRootFromParent_Done,
34584 /* 97655 */ // Label 2646: @97655
34585 /* 97655 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2647*/ GIMT_Encode4(97676), GIMT_Encode2(GIFBS_HasWBNOINVD), // Rule ID 17126 //
34586 /* 97662 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wbnoinvd),
34587 /* 97667 */ // (intrinsic_void 16367:{ *:[iPTR] }) => (WBNOINVD)
34588 /* 97667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WBNOINVD),
34589 /* 97670 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34590 /* 97674 */ GIR_RootConstrainSelectedInstOperands,
34591 /* 97675 */ // GIR_Coverage, 17126,
34592 /* 97675 */ GIR_EraseRootFromParent_Done,
34593 /* 97676 */ // Label 2647: @97676
34594 /* 97676 */ GIM_Try, /*On fail goto*//*Label 2648*/ GIMT_Encode4(97698), // Rule ID 17131 //
34595 /* 97681 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_saveprevssp),
34596 /* 97686 */ // (intrinsic_void 16076:{ *:[iPTR] }) => (SAVEPREVSSP)
34597 /* 97686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAVEPREVSSP),
34598 /* 97689 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
34599 /* 97692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34600 /* 97696 */ GIR_RootConstrainSelectedInstOperands,
34601 /* 97697 */ // GIR_Coverage, 17131,
34602 /* 97697 */ GIR_EraseRootFromParent_Done,
34603 /* 97698 */ // Label 2648: @97698
34604 /* 97698 */ GIM_Try, /*On fail goto*//*Label 2649*/ GIMT_Encode4(97720), // Rule ID 17141 //
34605 /* 97703 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_setssbsy),
34606 /* 97708 */ // (intrinsic_void 16082:{ *:[iPTR] }) => (SETSSBSY)
34607 /* 97708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SETSSBSY),
34608 /* 97711 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
34609 /* 97714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34610 /* 97718 */ GIR_RootConstrainSelectedInstOperands,
34611 /* 97719 */ // GIR_Coverage, 17141,
34612 /* 97719 */ GIR_EraseRootFromParent_Done,
34613 /* 97720 */ // Label 2649: @97720
34614 /* 97720 */ GIM_Reject,
34615 /* 97721 */ // Label 2631: @97721
34616 /* 97721 */ GIM_Try, /*On fail goto*//*Label 2650*/ GIMT_Encode4(99572),
34617 /* 97726 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/2,
34618 /* 97729 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2651*/ GIMT_Encode4(97786), GIMT_Encode2(GIFBS_HasPTWRITE_In64BitMode), // Rule ID 17169 //
34619 /* 97736 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite64),
34620 /* 97741 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
34621 /* 97744 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
34622 /* 97748 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34623 /* 97752 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34624 /* 97755 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34625 /* 97759 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34626 /* 97763 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34627 /* 97765 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34628 /* 97772 */ // (intrinsic_void 16056:{ *:[iPTR] }, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (PTWRITE64m addr:{ *:[iPTR] }:$dst)
34629 /* 97772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITE64m),
34630 /* 97775 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
34631 /* 97779 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34632 /* 97784 */ GIR_RootConstrainSelectedInstOperands,
34633 /* 97785 */ // GIR_Coverage, 17169,
34634 /* 97785 */ GIR_EraseRootFromParent_Done,
34635 /* 97786 */ // Label 2651: @97786
34636 /* 97786 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2652*/ GIMT_Encode4(97843), GIMT_Encode2(GIFBS_HasPTWRITE), // Rule ID 17168 //
34637 /* 97793 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite32),
34638 /* 97798 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
34639 /* 97801 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
34640 /* 97805 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34641 /* 97809 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34642 /* 97812 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34643 /* 97816 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
34644 /* 97820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34645 /* 97822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34646 /* 97829 */ // (intrinsic_void 16055:{ *:[iPTR] }, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (PTWRITEm addr:{ *:[iPTR] }:$dst)
34647 /* 97829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITEm),
34648 /* 97832 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
34649 /* 97836 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34650 /* 97841 */ GIR_RootConstrainSelectedInstOperands,
34651 /* 97842 */ // GIR_Coverage, 17168,
34652 /* 97842 */ GIR_EraseRootFromParent_Done,
34653 /* 97843 */ // Label 2652: @97843
34654 /* 97843 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2653*/ GIMT_Encode4(97879), GIMT_Encode2(GIFBS_HasCLFLUSHOPT), // Rule ID 162 //
34655 /* 97850 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clflushopt),
34656 /* 97855 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34657 /* 97859 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34658 /* 97866 */ // (intrinsic_void 15937:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLFLUSHOPT addr:{ *:[iPTR] }:$src)
34659 /* 97866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLFLUSHOPT),
34660 /* 97869 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34661 /* 97873 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34662 /* 97877 */ GIR_RootConstrainSelectedInstOperands,
34663 /* 97878 */ // GIR_Coverage, 162,
34664 /* 97878 */ GIR_EraseRootFromParent_Done,
34665 /* 97879 */ // Label 2653: @97879
34666 /* 97879 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2654*/ GIMT_Encode4(97915), GIMT_Encode2(GIFBS_HasCLWB), // Rule ID 163 //
34667 /* 97886 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clwb),
34668 /* 97891 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34669 /* 97895 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34670 /* 97902 */ // (intrinsic_void 15940:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLWB addr:{ *:[iPTR] }:$src)
34671 /* 97902 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLWB),
34672 /* 97905 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34673 /* 97909 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34674 /* 97913 */ GIR_RootConstrainSelectedInstOperands,
34675 /* 97914 */ // GIR_Coverage, 163,
34676 /* 97914 */ GIR_EraseRootFromParent_Done,
34677 /* 97915 */ // Label 2654: @97915
34678 /* 97915 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2655*/ GIMT_Encode4(97951), GIMT_Encode2(GIFBS_HasCLDEMOTE), // Rule ID 164 //
34679 /* 97922 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_cldemote),
34680 /* 97927 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34681 /* 97931 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34682 /* 97938 */ // (intrinsic_void 15936:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLDEMOTE addr:{ *:[iPTR] }:$src)
34683 /* 97938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLDEMOTE),
34684 /* 97941 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34685 /* 97945 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34686 /* 97949 */ GIR_RootConstrainSelectedInstOperands,
34687 /* 97950 */ // GIR_Coverage, 164,
34688 /* 97950 */ GIR_EraseRootFromParent_Done,
34689 /* 97951 */ // Label 2655: @97951
34690 /* 97951 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2656*/ GIMT_Encode4(97987), GIMT_Encode2(GIFBS_HasMOVRS), // Rule ID 169 //
34691 /* 97958 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_prefetchrs),
34692 /* 97963 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34693 /* 97967 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34694 /* 97974 */ // (intrinsic_void 16054:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (PREFETCHRST2 addr:{ *:[iPTR] }:$src)
34695 /* 97974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHRST2),
34696 /* 97977 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34697 /* 97981 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34698 /* 97985 */ GIR_RootConstrainSelectedInstOperands,
34699 /* 97986 */ // GIR_Coverage, 169,
34700 /* 97986 */ GIR_EraseRootFromParent_Done,
34701 /* 97987 */ // Label 2656: @97987
34702 /* 97987 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2657*/ GIMT_Encode4(98023), GIMT_Encode2(GIFBS_HasFXSR), // Rule ID 1109 //
34703 /* 97994 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxsave),
34704 /* 97999 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34705 /* 98003 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34706 /* 98010 */ // (intrinsic_void 15960:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (FXSAVE addr:{ *:[iPTR] }:$dst)
34707 /* 98010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXSAVE),
34708 /* 98013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
34709 /* 98017 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34710 /* 98021 */ GIR_RootConstrainSelectedInstOperands,
34711 /* 98022 */ // GIR_Coverage, 1109,
34712 /* 98022 */ GIR_EraseRootFromParent_Done,
34713 /* 98023 */ // Label 2657: @98023
34714 /* 98023 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2658*/ GIMT_Encode4(98059), GIMT_Encode2(GIFBS_HasFXSR_In64BitMode), // Rule ID 1110 //
34715 /* 98030 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxsave64),
34716 /* 98035 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34717 /* 98039 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34718 /* 98046 */ // (intrinsic_void 15961:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (FXSAVE64 addr:{ *:[iPTR] }:$dst)
34719 /* 98046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXSAVE64),
34720 /* 98049 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
34721 /* 98053 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34722 /* 98057 */ GIR_RootConstrainSelectedInstOperands,
34723 /* 98058 */ // GIR_Coverage, 1110,
34724 /* 98058 */ GIR_EraseRootFromParent_Done,
34725 /* 98059 */ // Label 2658: @98059
34726 /* 98059 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2659*/ GIMT_Encode4(98101), GIMT_Encode2(GIFBS_HasFXSR), // Rule ID 1111 //
34727 /* 98066 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxrstor),
34728 /* 98071 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34729 /* 98075 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34730 /* 98082 */ // (intrinsic_void 15958:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (FXRSTOR:{ *:[i16] } addr:{ *:[iPTR] }:$src)
34731 /* 98082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXRSTOR),
34732 /* 98085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34733 /* 98089 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
34734 /* 98092 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
34735 /* 98095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34736 /* 98099 */ GIR_RootConstrainSelectedInstOperands,
34737 /* 98100 */ // GIR_Coverage, 1111,
34738 /* 98100 */ GIR_EraseRootFromParent_Done,
34739 /* 98101 */ // Label 2659: @98101
34740 /* 98101 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2660*/ GIMT_Encode4(98143), GIMT_Encode2(GIFBS_HasFXSR_In64BitMode), // Rule ID 1112 //
34741 /* 98108 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxrstor64),
34742 /* 98113 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34743 /* 98117 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34744 /* 98124 */ // (intrinsic_void 15959:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (FXRSTOR64:{ *:[i16] } addr:{ *:[iPTR] }:$src)
34745 /* 98124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXRSTOR64),
34746 /* 98127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34747 /* 98131 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
34748 /* 98134 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
34749 /* 98137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34750 /* 98141 */ GIR_RootConstrainSelectedInstOperands,
34751 /* 98142 */ // GIR_Coverage, 1112,
34752 /* 98142 */ GIR_EraseRootFromParent_Done,
34753 /* 98143 */ // Label 2660: @98143
34754 /* 98143 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2661*/ GIMT_Encode4(98179), GIMT_Encode2(GIFBS_HasCLFLUSH), // Rule ID 2490 //
34755 /* 98150 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_clflush),
34756 /* 98155 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34757 /* 98159 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34758 /* 98166 */ // (intrinsic_void 16128:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLFLUSH addr:{ *:[iPTR] }:$src)
34759 /* 98166 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLFLUSH),
34760 /* 98169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34761 /* 98173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34762 /* 98177 */ GIR_RootConstrainSelectedInstOperands,
34763 /* 98178 */ // GIR_Coverage, 2490,
34764 /* 98178 */ GIR_EraseRootFromParent_Done,
34765 /* 98179 */ // Label 2661: @98179
34766 /* 98179 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2662*/ GIMT_Encode4(98218), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 2495 //
34767 /* 98186 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_ldmxcsr),
34768 /* 98191 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34769 /* 98195 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34770 /* 98202 */ // (intrinsic_void 16109:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDMXCSR addr:{ *:[iPTR] }:$src)
34771 /* 98202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDMXCSR),
34772 /* 98205 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34773 /* 98209 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MXCSR*/0,
34774 /* 98212 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34775 /* 98216 */ GIR_RootConstrainSelectedInstOperands,
34776 /* 98217 */ // GIR_Coverage, 2495,
34777 /* 98217 */ GIR_EraseRootFromParent_Done,
34778 /* 98218 */ // Label 2662: @98218
34779 /* 98218 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2663*/ GIMT_Encode4(98254), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 2496 //
34780 /* 98225 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_stmxcsr),
34781 /* 98230 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34782 /* 98234 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34783 /* 98241 */ // (intrinsic_void 16121:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (VSTMXCSR addr:{ *:[iPTR] }:$dst)
34784 /* 98241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSTMXCSR),
34785 /* 98244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
34786 /* 98248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34787 /* 98252 */ GIR_RootConstrainSelectedInstOperands,
34788 /* 98253 */ // GIR_Coverage, 2496,
34789 /* 98253 */ GIR_EraseRootFromParent_Done,
34790 /* 98254 */ // Label 2663: @98254
34791 /* 98254 */ GIM_Try, /*On fail goto*//*Label 2664*/ GIMT_Encode4(98291), // Rule ID 2497 //
34792 /* 98259 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_ldmxcsr),
34793 /* 98264 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34794 /* 98268 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34795 /* 98275 */ // (intrinsic_void 16109:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDMXCSR addr:{ *:[iPTR] }:$src)
34796 /* 98275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDMXCSR),
34797 /* 98278 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34798 /* 98282 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MXCSR*/0,
34799 /* 98285 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34800 /* 98289 */ GIR_RootConstrainSelectedInstOperands,
34801 /* 98290 */ // GIR_Coverage, 2497,
34802 /* 98290 */ GIR_EraseRootFromParent_Done,
34803 /* 98291 */ // Label 2664: @98291
34804 /* 98291 */ GIM_Try, /*On fail goto*//*Label 2665*/ GIMT_Encode4(98325), // Rule ID 2498 //
34805 /* 98296 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_stmxcsr),
34806 /* 98301 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34807 /* 98305 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34808 /* 98312 */ // (intrinsic_void 16121:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (STMXCSR addr:{ *:[iPTR] }:$dst)
34809 /* 98312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STMXCSR),
34810 /* 98315 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
34811 /* 98319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34812 /* 98323 */ GIR_RootConstrainSelectedInstOperands,
34813 /* 98324 */ // GIR_Coverage, 2498,
34814 /* 98324 */ GIR_EraseRootFromParent_Done,
34815 /* 98325 */ // Label 2665: @98325
34816 /* 98325 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2666*/ GIMT_Encode4(98385), GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode_NoEGPR), // Rule ID 17050 //
34817 /* 98332 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ldtilecfg),
34818 /* 98337 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34819 /* 98341 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34820 /* 98348 */ // (intrinsic_void 15966:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDTILECFG:{ *:[x86amx] } addr:{ *:[iPTR] }:$src)
34821 /* 98348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDTILECFG),
34822 /* 98351 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34823 /* 98355 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
34824 /* 98358 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
34825 /* 98361 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
34826 /* 98364 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
34827 /* 98367 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
34828 /* 98370 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
34829 /* 98373 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
34830 /* 98376 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
34831 /* 98379 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34832 /* 98383 */ GIR_RootConstrainSelectedInstOperands,
34833 /* 98384 */ // GIR_Coverage, 17050,
34834 /* 98384 */ GIR_EraseRootFromParent_Done,
34835 /* 98385 */ // Label 2666: @98385
34836 /* 98385 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2667*/ GIMT_Encode4(98421), GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode_NoEGPR), // Rule ID 17051 //
34837 /* 98392 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sttilecfg),
34838 /* 98397 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34839 /* 98401 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34840 /* 98408 */ // (intrinsic_void 16262:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (STTILECFG addr:{ *:[iPTR] }:$src)
34841 /* 98408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STTILECFG),
34842 /* 98411 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34843 /* 98415 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34844 /* 98419 */ GIR_RootConstrainSelectedInstOperands,
34845 /* 98420 */ // GIR_Coverage, 17051,
34846 /* 98420 */ GIR_EraseRootFromParent_Done,
34847 /* 98421 */ // Label 2667: @98421
34848 /* 98421 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2668*/ GIMT_Encode4(98481), GIMT_Encode2(GIFBS_HasAMXTILE_HasEGPR_In64BitMode), // Rule ID 17052 //
34849 /* 98428 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ldtilecfg),
34850 /* 98433 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34851 /* 98437 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34852 /* 98444 */ // (intrinsic_void 15966:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDTILECFG_EVEX:{ *:[x86amx] } addr:{ *:[iPTR] }:$src)
34853 /* 98444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDTILECFG_EVEX),
34854 /* 98447 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34855 /* 98451 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
34856 /* 98454 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
34857 /* 98457 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
34858 /* 98460 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
34859 /* 98463 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
34860 /* 98466 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
34861 /* 98469 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
34862 /* 98472 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
34863 /* 98475 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34864 /* 98479 */ GIR_RootConstrainSelectedInstOperands,
34865 /* 98480 */ // GIR_Coverage, 17052,
34866 /* 98480 */ GIR_EraseRootFromParent_Done,
34867 /* 98481 */ // Label 2668: @98481
34868 /* 98481 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2669*/ GIMT_Encode4(98517), GIMT_Encode2(GIFBS_HasAMXTILE_HasEGPR_In64BitMode), // Rule ID 17053 //
34869 /* 98488 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sttilecfg),
34870 /* 98493 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34871 /* 98497 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34872 /* 98504 */ // (intrinsic_void 16262:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (STTILECFG_EVEX addr:{ *:[iPTR] }:$src)
34873 /* 98504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STTILECFG_EVEX),
34874 /* 98507 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34875 /* 98511 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34876 /* 98515 */ GIR_RootConstrainSelectedInstOperands,
34877 /* 98516 */ // GIR_Coverage, 17053,
34878 /* 98516 */ GIR_EraseRootFromParent_Done,
34879 /* 98517 */ // Label 2669: @98517
34880 /* 98517 */ GIM_Try, /*On fail goto*//*Label 2670*/ GIMT_Encode4(98554), // Rule ID 17132 //
34881 /* 98522 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_rstorssp),
34882 /* 98527 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34883 /* 98531 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34884 /* 98538 */ // (intrinsic_void 16075:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (RSTORSSP addr:{ *:[iPTR] }:$src)
34885 /* 98538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RSTORSSP),
34886 /* 98541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34887 /* 98545 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
34888 /* 98548 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34889 /* 98552 */ GIR_RootConstrainSelectedInstOperands,
34890 /* 98553 */ // GIR_Coverage, 17132,
34891 /* 98553 */ GIR_EraseRootFromParent_Done,
34892 /* 98554 */ // Label 2670: @98554
34893 /* 98554 */ GIM_Try, /*On fail goto*//*Label 2671*/ GIMT_Encode4(98591), // Rule ID 17142 //
34894 /* 98559 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clrssbsy),
34895 /* 98564 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
34896 /* 98568 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34897 /* 98575 */ // (intrinsic_void 15938:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLRSSBSY addr:{ *:[iPTR] }:$src)
34898 /* 98575 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLRSSBSY),
34899 /* 98578 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
34900 /* 98582 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
34901 /* 98585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34902 /* 98589 */ GIR_RootConstrainSelectedInstOperands,
34903 /* 98590 */ // GIR_Coverage, 17142,
34904 /* 98590 */ GIR_EraseRootFromParent_Done,
34905 /* 98591 */ // Label 2671: @98591
34906 /* 98591 */ GIM_Try, /*On fail goto*//*Label 2672*/ GIMT_Encode4(98621), // Rule ID 17114 //
34907 /* 98596 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_int),
34908 /* 98601 */ // MIs[0] Operand 1
34909 /* 98601 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(3),
34910 /* 98612 */ // (intrinsic_void 15964:{ *:[iPTR] }, 3:{ *:[i8] }) => (INT3)
34911 /* 98612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT3),
34912 /* 98615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34913 /* 98619 */ GIR_RootConstrainSelectedInstOperands,
34914 /* 98620 */ // GIR_Coverage, 17114,
34915 /* 98620 */ GIR_EraseRootFromParent_Done,
34916 /* 98621 */ // Label 2672: @98621
34917 /* 98621 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2673*/ GIMT_Encode4(98647), GIMT_Encode2(GIFBS_HasRTM), // Rule ID 17044 //
34918 /* 98628 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xabort),
34919 /* 98633 */ // MIs[0] imm
34920 /* 98633 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
34921 /* 98636 */ // (intrinsic_void 16377:{ *:[iPTR] }, (timm:{ *:[i8] }):$imm) => (XABORT (timm:{ *:[i8] }):$imm)
34922 /* 98636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XABORT),
34923 /* 98639 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm
34924 /* 98641 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34925 /* 98645 */ GIR_RootConstrainSelectedInstOperands,
34926 /* 98646 */ // GIR_Coverage, 17044,
34927 /* 98646 */ GIR_EraseRootFromParent_Done,
34928 /* 98647 */ // Label 2673: @98647
34929 /* 98647 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2674*/ GIMT_Encode4(98673), GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode), // Rule ID 17056 //
34930 /* 98654 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tilezero),
34931 /* 98659 */ // MIs[0] src
34932 /* 98659 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
34933 /* 98662 */ // (intrinsic_void 16322:{ *:[iPTR] }, (timm:{ *:[i8] }):$src) => (PTILEZERO (timm:{ *:[i8] }):$src)
34934 /* 98662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEZERO),
34935 /* 98665 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
34936 /* 98667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34937 /* 98671 */ GIR_RootConstrainSelectedInstOperands,
34938 /* 98672 */ // GIR_Coverage, 17056,
34939 /* 98672 */ GIR_EraseRootFromParent_Done,
34940 /* 98673 */ // Label 2674: @98673
34941 /* 98673 */ GIM_Try, /*On fail goto*//*Label 2675*/ GIMT_Encode4(98697), // Rule ID 17116 //
34942 /* 98678 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_int),
34943 /* 98683 */ // MIs[0] trap
34944 /* 98683 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
34945 /* 98686 */ // (intrinsic_void 15964:{ *:[iPTR] }, (timm:{ *:[i8] }):$trap) => (INT (timm:{ *:[i8] }):$trap)
34946 /* 98686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT),
34947 /* 98689 */ GIR_RootToRootCopy, /*OpIdx*/1, // trap
34948 /* 98691 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34949 /* 98695 */ GIR_RootConstrainSelectedInstOperands,
34950 /* 98696 */ // GIR_Coverage, 17116,
34951 /* 98696 */ GIR_EraseRootFromParent_Done,
34952 /* 98697 */ // Label 2675: @98697
34953 /* 98697 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2676*/ GIMT_Encode4(98730), GIMT_Encode2(GIFBS_Not64BitMode), // Rule ID 1 //
34954 /* 98704 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_flags_read_u32),
34955 /* 98709 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
34956 /* 98712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
34957 /* 98716 */ // (intrinsic_w_chain:{ *:[i32] } 15950:{ *:[iPTR] }) => (RDFLAGS32:{ *:[i32] }:{ *:[i32] })
34958 /* 98716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFLAGS32),
34959 /* 98719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34960 /* 98721 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
34961 /* 98724 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34962 /* 98728 */ GIR_RootConstrainSelectedInstOperands,
34963 /* 98729 */ // GIR_Coverage, 1,
34964 /* 98729 */ GIR_EraseRootFromParent_Done,
34965 /* 98730 */ // Label 2676: @98730
34966 /* 98730 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2677*/ GIMT_Encode4(98763), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 2 //
34967 /* 98737 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_flags_read_u64),
34968 /* 98742 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
34969 /* 98745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
34970 /* 98749 */ // (intrinsic_w_chain:{ *:[i64] } 15951:{ *:[iPTR] }) => (RDFLAGS64:{ *:[i64] }:{ *:[i32] })
34971 /* 98749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFLAGS64),
34972 /* 98752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34973 /* 98754 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
34974 /* 98757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34975 /* 98761 */ GIR_RootConstrainSelectedInstOperands,
34976 /* 98762 */ // GIR_Coverage, 2,
34977 /* 98762 */ GIR_EraseRootFromParent_Done,
34978 /* 98763 */ // Label 2677: @98763
34979 /* 98763 */ GIM_Try, /*On fail goto*//*Label 2678*/ GIMT_Encode4(98839),
34980 /* 98768 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_slwpcb),
34981 /* 98773 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 2681*/ GIMT_Encode4(98838),
34982 /* 98784 */ /*GILLT_s32*//*Label 2679*/ GIMT_Encode4(98792),
34983 /* 98788 */ /*GILLT_s64*//*Label 2680*/ GIMT_Encode4(98815),
34984 /* 98792 */ // Label 2679: @98792
34985 /* 98792 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2682*/ GIMT_Encode4(98814), GIMT_Encode2(GIFBS_HasLWP), // Rule ID 115 //
34986 /* 98799 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
34987 /* 98803 */ // (intrinsic_w_chain:{ *:[i32] } 16090:{ *:[iPTR] }) => (SLWPCB:{ *:[i32] })
34988 /* 98803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SLWPCB),
34989 /* 98806 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34990 /* 98808 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
34991 /* 98812 */ GIR_RootConstrainSelectedInstOperands,
34992 /* 98813 */ // GIR_Coverage, 115,
34993 /* 98813 */ GIR_EraseRootFromParent_Done,
34994 /* 98814 */ // Label 2682: @98814
34995 /* 98814 */ GIM_Reject,
34996 /* 98815 */ // Label 2680: @98815
34997 /* 98815 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2683*/ GIMT_Encode4(98837), GIMT_Encode2(GIFBS_HasLWP), // Rule ID 117 //
34998 /* 98822 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
34999 /* 98826 */ // (intrinsic_w_chain:{ *:[i64] } 16090:{ *:[iPTR] }) => (SLWPCB64:{ *:[i64] })
35000 /* 98826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SLWPCB64),
35001 /* 98829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35002 /* 98831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35003 /* 98835 */ GIR_RootConstrainSelectedInstOperands,
35004 /* 98836 */ // GIR_Coverage, 117,
35005 /* 98836 */ GIR_EraseRootFromParent_Done,
35006 /* 98837 */ // Label 2683: @98837
35007 /* 98837 */ GIM_Reject,
35008 /* 98838 */ // Label 2681: @98838
35009 /* 98838 */ GIM_Reject,
35010 /* 98839 */ // Label 2678: @98839
35011 /* 98839 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2684*/ GIMT_Encode4(98869), GIMT_Encode2(GIFBS_HasRTM), // Rule ID 17041 //
35012 /* 98846 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xbegin),
35013 /* 98851 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35014 /* 98854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35015 /* 98858 */ // (intrinsic_w_chain:{ *:[i32] } 16378:{ *:[iPTR] }) => (XBEGIN:{ *:[i32] })
35016 /* 98858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XBEGIN),
35017 /* 98861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35018 /* 98863 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35019 /* 98867 */ GIR_RootConstrainSelectedInstOperands,
35020 /* 98868 */ // GIR_Coverage, 17041,
35021 /* 98868 */ GIR_EraseRootFromParent_Done,
35022 /* 98869 */ // Label 2684: @98869
35023 /* 98869 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2685*/ GIMT_Encode4(98899), GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode), // Rule ID 17158 //
35024 /* 98876 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdfsbase_32),
35025 /* 98881 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35026 /* 98884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35027 /* 98888 */ // (intrinsic_w_chain:{ *:[i32] } 16057:{ *:[iPTR] }) => (RDFSBASE:{ *:[i32] })
35028 /* 98888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFSBASE),
35029 /* 98891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35030 /* 98893 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35031 /* 98897 */ GIR_RootConstrainSelectedInstOperands,
35032 /* 98898 */ // GIR_Coverage, 17158,
35033 /* 98898 */ GIR_EraseRootFromParent_Done,
35034 /* 98899 */ // Label 2685: @98899
35035 /* 98899 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2686*/ GIMT_Encode4(98929), GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode), // Rule ID 17159 //
35036 /* 98906 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdfsbase_64),
35037 /* 98911 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35038 /* 98914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35039 /* 98918 */ // (intrinsic_w_chain:{ *:[i64] } 16058:{ *:[iPTR] }) => (RDFSBASE64:{ *:[i64] })
35040 /* 98918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFSBASE64),
35041 /* 98921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35042 /* 98923 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35043 /* 98927 */ GIR_RootConstrainSelectedInstOperands,
35044 /* 98928 */ // GIR_Coverage, 17159,
35045 /* 98928 */ GIR_EraseRootFromParent_Done,
35046 /* 98929 */ // Label 2686: @98929
35047 /* 98929 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2687*/ GIMT_Encode4(98959), GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode), // Rule ID 17160 //
35048 /* 98936 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdgsbase_32),
35049 /* 98941 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35050 /* 98944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35051 /* 98948 */ // (intrinsic_w_chain:{ *:[i32] } 16059:{ *:[iPTR] }) => (RDGSBASE:{ *:[i32] })
35052 /* 98948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDGSBASE),
35053 /* 98951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35054 /* 98953 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35055 /* 98957 */ GIR_RootConstrainSelectedInstOperands,
35056 /* 98958 */ // GIR_Coverage, 17160,
35057 /* 98958 */ GIR_EraseRootFromParent_Done,
35058 /* 98959 */ // Label 2687: @98959
35059 /* 98959 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2688*/ GIMT_Encode4(98989), GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode), // Rule ID 17161 //
35060 /* 98966 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdgsbase_64),
35061 /* 98971 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35062 /* 98974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35063 /* 98978 */ // (intrinsic_w_chain:{ *:[i64] } 16060:{ *:[iPTR] }) => (RDGSBASE64:{ *:[i64] })
35064 /* 98978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDGSBASE64),
35065 /* 98981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35066 /* 98983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35067 /* 98987 */ GIR_RootConstrainSelectedInstOperands,
35068 /* 98988 */ // GIR_Coverage, 17161,
35069 /* 98988 */ GIR_EraseRootFromParent_Done,
35070 /* 98989 */ // Label 2688: @98989
35071 /* 98989 */ GIM_Try, /*On fail goto*//*Label 2689*/ GIMT_Encode4(99069),
35072 /* 98994 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdpid),
35073 /* 98999 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35074 /* 99002 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35075 /* 99006 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2690*/ GIMT_Encode4(99024), GIMT_Encode2(GIFBS_HasRDPID_Not64BitMode), // Rule ID 17167 //
35076 /* 99013 */ // (intrinsic_w_chain:{ *:[i32] } 16061:{ *:[iPTR] }) => (RDPID32:{ *:[i32] })
35077 /* 99013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDPID32),
35078 /* 99016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35079 /* 99018 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35080 /* 99022 */ GIR_RootConstrainSelectedInstOperands,
35081 /* 99023 */ // GIR_Coverage, 17167,
35082 /* 99023 */ GIR_EraseRootFromParent_Done,
35083 /* 99024 */ // Label 2690: @99024
35084 /* 99024 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2691*/ GIMT_Encode4(99068), GIMT_Encode2(GIFBS_HasRDPID_In64BitMode), // Rule ID 22581 //
35085 /* 99031 */ // (intrinsic_w_chain:{ *:[i32] } 16061:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[i32] } (RDPID64:{ *:[i64] }), sub_32bit:{ *:[i32] })
35086 /* 99031 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
35087 /* 99034 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::RDPID64),
35088 /* 99038 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
35089 /* 99043 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
35090 /* 99045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
35091 /* 99048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35092 /* 99050 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_32bit),
35093 /* 99057 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
35094 /* 99062 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
35095 /* 99067 */ // GIR_Coverage, 22581,
35096 /* 99067 */ GIR_EraseRootFromParent_Done,
35097 /* 99068 */ // Label 2691: @99068
35098 /* 99068 */ GIM_Reject,
35099 /* 99069 */ // Label 2689: @99069
35100 /* 99069 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2692*/ GIMT_Encode4(99108), GIMT_Encode2(GIFBS_Not64BitMode), // Rule ID 3 //
35101 /* 99076 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_flags_write_u32),
35102 /* 99081 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35103 /* 99084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35104 /* 99088 */ // (intrinsic_void 15952:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRFLAGS32:{ *:[i32] } GR32:{ *:[i32] }:$src)
35105 /* 99088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFLAGS32),
35106 /* 99091 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35107 /* 99093 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
35108 /* 99096 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/1,
35109 /* 99099 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::DF*/2,
35110 /* 99102 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35111 /* 99106 */ GIR_RootConstrainSelectedInstOperands,
35112 /* 99107 */ // GIR_Coverage, 3,
35113 /* 99107 */ GIR_EraseRootFromParent_Done,
35114 /* 99108 */ // Label 2692: @99108
35115 /* 99108 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2693*/ GIMT_Encode4(99147), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 4 //
35116 /* 99115 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_flags_write_u64),
35117 /* 99120 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35118 /* 99123 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35119 /* 99127 */ // (intrinsic_void 15953:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRFLAGS64:{ *:[i64] } GR64:{ *:[i64] }:$src)
35120 /* 99127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFLAGS64),
35121 /* 99130 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35122 /* 99132 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::RSP*/0,
35123 /* 99135 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/1,
35124 /* 99138 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::DF*/2,
35125 /* 99141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35126 /* 99145 */ GIR_RootConstrainSelectedInstOperands,
35127 /* 99146 */ // GIR_Coverage, 4,
35128 /* 99146 */ GIR_EraseRootFromParent_Done,
35129 /* 99147 */ // Label 2693: @99147
35130 /* 99147 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2694*/ GIMT_Encode4(99177), GIMT_Encode2(GIFBS_HasUINTR_In64BitMode), // Rule ID 154 //
35131 /* 99154 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_senduipi),
35132 /* 99159 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35133 /* 99162 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35134 /* 99166 */ // (intrinsic_void 16080:{ *:[iPTR] }, GR64:{ *:[i64] }:$arg) => (SENDUIPI GR64:{ *:[i64] }:$arg)
35135 /* 99166 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SENDUIPI),
35136 /* 99169 */ GIR_RootToRootCopy, /*OpIdx*/1, // arg
35137 /* 99171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35138 /* 99175 */ GIR_RootConstrainSelectedInstOperands,
35139 /* 99176 */ // GIR_Coverage, 154,
35140 /* 99176 */ GIR_EraseRootFromParent_Done,
35141 /* 99177 */ // Label 2694: @99177
35142 /* 99177 */ GIM_Try, /*On fail goto*//*Label 2695*/ GIMT_Encode4(99208), // Rule ID 17127 //
35143 /* 99182 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_incsspd),
35144 /* 99187 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35145 /* 99190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35146 /* 99194 */ // (intrinsic_void 15962:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (INCSSPD GR32:{ *:[i32] }:$src)
35147 /* 99194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INCSSPD),
35148 /* 99197 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35149 /* 99199 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35150 /* 99202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35151 /* 99206 */ GIR_RootConstrainSelectedInstOperands,
35152 /* 99207 */ // GIR_Coverage, 17127,
35153 /* 99207 */ GIR_EraseRootFromParent_Done,
35154 /* 99208 */ // Label 2695: @99208
35155 /* 99208 */ GIM_Try, /*On fail goto*//*Label 2696*/ GIMT_Encode4(99239), // Rule ID 17128 //
35156 /* 99213 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_incsspq),
35157 /* 99218 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35158 /* 99221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35159 /* 99225 */ // (intrinsic_void 15963:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (INCSSPQ GR64:{ *:[i64] }:$src)
35160 /* 99225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INCSSPQ),
35161 /* 99228 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35162 /* 99230 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35163 /* 99233 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35164 /* 99237 */ GIR_RootConstrainSelectedInstOperands,
35165 /* 99238 */ // GIR_Coverage, 17128,
35166 /* 99238 */ GIR_EraseRootFromParent_Done,
35167 /* 99239 */ // Label 2696: @99239
35168 /* 99239 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2697*/ GIMT_Encode4(99269), GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode), // Rule ID 17162 //
35169 /* 99246 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrfsbase_32),
35170 /* 99251 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35171 /* 99254 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35172 /* 99258 */ // (intrinsic_void 16368:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRFSBASE GR32:{ *:[i32] }:$src)
35173 /* 99258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFSBASE),
35174 /* 99261 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35175 /* 99263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35176 /* 99267 */ GIR_RootConstrainSelectedInstOperands,
35177 /* 99268 */ // GIR_Coverage, 17162,
35178 /* 99268 */ GIR_EraseRootFromParent_Done,
35179 /* 99269 */ // Label 2697: @99269
35180 /* 99269 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2698*/ GIMT_Encode4(99299), GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode), // Rule ID 17163 //
35181 /* 99276 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrfsbase_64),
35182 /* 99281 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35183 /* 99284 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35184 /* 99288 */ // (intrinsic_void 16369:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRFSBASE64 GR64:{ *:[i64] }:$src)
35185 /* 99288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFSBASE64),
35186 /* 99291 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35187 /* 99293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35188 /* 99297 */ GIR_RootConstrainSelectedInstOperands,
35189 /* 99298 */ // GIR_Coverage, 17163,
35190 /* 99298 */ GIR_EraseRootFromParent_Done,
35191 /* 99299 */ // Label 2698: @99299
35192 /* 99299 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2699*/ GIMT_Encode4(99329), GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode), // Rule ID 17164 //
35193 /* 99306 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrgsbase_32),
35194 /* 99311 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35195 /* 99314 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35196 /* 99318 */ // (intrinsic_void 16370:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRGSBASE GR32:{ *:[i32] }:$src)
35197 /* 99318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRGSBASE),
35198 /* 99321 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35199 /* 99323 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35200 /* 99327 */ GIR_RootConstrainSelectedInstOperands,
35201 /* 99328 */ // GIR_Coverage, 17164,
35202 /* 99328 */ GIR_EraseRootFromParent_Done,
35203 /* 99329 */ // Label 2699: @99329
35204 /* 99329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2700*/ GIMT_Encode4(99359), GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode), // Rule ID 17165 //
35205 /* 99336 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrgsbase_64),
35206 /* 99341 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35207 /* 99344 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35208 /* 99348 */ // (intrinsic_void 16371:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRGSBASE64 GR64:{ *:[i64] }:$src)
35209 /* 99348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRGSBASE64),
35210 /* 99351 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35211 /* 99353 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35212 /* 99357 */ GIR_RootConstrainSelectedInstOperands,
35213 /* 99358 */ // GIR_Coverage, 17165,
35214 /* 99358 */ GIR_EraseRootFromParent_Done,
35215 /* 99359 */ // Label 2700: @99359
35216 /* 99359 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2701*/ GIMT_Encode4(99389), GIMT_Encode2(GIFBS_HasPTWRITE), // Rule ID 17170 //
35217 /* 99366 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite32),
35218 /* 99371 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35219 /* 99374 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35220 /* 99378 */ // (intrinsic_void 16055:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst) => (PTWRITEr GR32:{ *:[i32] }:$dst)
35221 /* 99378 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITEr),
35222 /* 99381 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
35223 /* 99383 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35224 /* 99387 */ GIR_RootConstrainSelectedInstOperands,
35225 /* 99388 */ // GIR_Coverage, 17170,
35226 /* 99388 */ GIR_EraseRootFromParent_Done,
35227 /* 99389 */ // Label 2701: @99389
35228 /* 99389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2702*/ GIMT_Encode4(99419), GIMT_Encode2(GIFBS_HasPTWRITE_In64BitMode), // Rule ID 17171 //
35229 /* 99396 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite64),
35230 /* 99401 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35231 /* 99404 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35232 /* 99408 */ // (intrinsic_void 16056:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst) => (PTWRITE64r GR64:{ *:[i64] }:$dst)
35233 /* 99408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITE64r),
35234 /* 99411 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
35235 /* 99413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35236 /* 99417 */ GIR_RootConstrainSelectedInstOperands,
35237 /* 99418 */ // GIR_Coverage, 17171,
35238 /* 99418 */ GIR_EraseRootFromParent_Done,
35239 /* 99419 */ // Label 2702: @99419
35240 /* 99419 */ GIM_Try, /*On fail goto*//*Label 2703*/ GIMT_Encode4(99482),
35241 /* 99424 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_llwpcb),
35242 /* 99429 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2704*/ GIMT_Encode4(99455), GIMT_Encode2(GIFBS_HasLWP), // Rule ID 114 //
35243 /* 99436 */ // MIs[0] src
35244 /* 99436 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
35245 /* 99440 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35246 /* 99444 */ // (intrinsic_void 15968:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (LLWPCB GR32:{ *:[i32] }:$src)
35247 /* 99444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LLWPCB),
35248 /* 99447 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35249 /* 99449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35250 /* 99453 */ GIR_RootConstrainSelectedInstOperands,
35251 /* 99454 */ // GIR_Coverage, 114,
35252 /* 99454 */ GIR_EraseRootFromParent_Done,
35253 /* 99455 */ // Label 2704: @99455
35254 /* 99455 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2705*/ GIMT_Encode4(99481), GIMT_Encode2(GIFBS_HasLWP), // Rule ID 116 //
35255 /* 99462 */ // MIs[0] src
35256 /* 99462 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
35257 /* 99466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35258 /* 99470 */ // (intrinsic_void 15968:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (LLWPCB64 GR64:{ *:[i64] }:$src)
35259 /* 99470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LLWPCB64),
35260 /* 99473 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35261 /* 99475 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35262 /* 99479 */ GIR_RootConstrainSelectedInstOperands,
35263 /* 99480 */ // GIR_Coverage, 116,
35264 /* 99480 */ GIR_EraseRootFromParent_Done,
35265 /* 99481 */ // Label 2705: @99481
35266 /* 99481 */ GIM_Reject,
35267 /* 99482 */ // Label 2703: @99482
35268 /* 99482 */ GIM_Try, /*On fail goto*//*Label 2706*/ GIMT_Encode4(99571),
35269 /* 99487 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_umonitor),
35270 /* 99492 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2707*/ GIMT_Encode4(99518), GIMT_Encode2(GIFBS_HasWAITPKG_Not64BitMode), // Rule ID 126 //
35271 /* 99499 */ // MIs[0] src
35272 /* 99499 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/16,
35273 /* 99503 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
35274 /* 99507 */ // (intrinsic_void 16325:{ *:[iPTR] }, GR16:{ *:[i16] }:$src) => (UMONITOR16 GR16:{ *:[i16] }:$src)
35275 /* 99507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR16),
35276 /* 99510 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35277 /* 99512 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35278 /* 99516 */ GIR_RootConstrainSelectedInstOperands,
35279 /* 99517 */ // GIR_Coverage, 126,
35280 /* 99517 */ GIR_EraseRootFromParent_Done,
35281 /* 99518 */ // Label 2707: @99518
35282 /* 99518 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2708*/ GIMT_Encode4(99544), GIMT_Encode2(GIFBS_HasWAITPKG), // Rule ID 127 //
35283 /* 99525 */ // MIs[0] src
35284 /* 99525 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
35285 /* 99529 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35286 /* 99533 */ // (intrinsic_void 16325:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (UMONITOR32 GR32:{ *:[i32] }:$src)
35287 /* 99533 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR32),
35288 /* 99536 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35289 /* 99538 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35290 /* 99542 */ GIR_RootConstrainSelectedInstOperands,
35291 /* 99543 */ // GIR_Coverage, 127,
35292 /* 99543 */ GIR_EraseRootFromParent_Done,
35293 /* 99544 */ // Label 2708: @99544
35294 /* 99544 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2709*/ GIMT_Encode4(99570), GIMT_Encode2(GIFBS_HasWAITPKG_In64BitMode), // Rule ID 128 //
35295 /* 99551 */ // MIs[0] src
35296 /* 99551 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
35297 /* 99555 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35298 /* 99559 */ // (intrinsic_void 16325:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (UMONITOR64 GR64:{ *:[i64] }:$src)
35299 /* 99559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR64),
35300 /* 99562 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35301 /* 99564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35302 /* 99568 */ GIR_RootConstrainSelectedInstOperands,
35303 /* 99569 */ // GIR_Coverage, 128,
35304 /* 99569 */ GIR_EraseRootFromParent_Done,
35305 /* 99570 */ // Label 2709: @99570
35306 /* 99570 */ GIM_Reject,
35307 /* 99571 */ // Label 2706: @99571
35308 /* 99571 */ GIM_Reject,
35309 /* 99572 */ // Label 2650: @99572
35310 /* 99572 */ GIM_Try, /*On fail goto*//*Label 2710*/ GIMT_Encode4(102376),
35311 /* 99577 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
35312 /* 99580 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2711*/ GIMT_Encode4(99625), GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR), // Rule ID 165 //
35313 /* 99587 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsqi),
35314 /* 99592 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s8,
35315 /* 99595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
35316 /* 99599 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35317 /* 99603 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35318 /* 99610 */ // (intrinsic_w_chain:{ *:[i8] } 16048:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
35319 /* 99610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS8rm),
35320 /* 99613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35321 /* 99615 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35322 /* 99619 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35323 /* 99623 */ GIR_RootConstrainSelectedInstOperands,
35324 /* 99624 */ // GIR_Coverage, 165,
35325 /* 99624 */ GIR_EraseRootFromParent_Done,
35326 /* 99625 */ // Label 2711: @99625
35327 /* 99625 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2712*/ GIMT_Encode4(99670), GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR), // Rule ID 166 //
35328 /* 99632 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrshi),
35329 /* 99637 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s16,
35330 /* 99640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
35331 /* 99644 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35332 /* 99648 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35333 /* 99655 */ // (intrinsic_w_chain:{ *:[i16] } 16047:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
35334 /* 99655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS16rm),
35335 /* 99658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35336 /* 99660 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35337 /* 99664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35338 /* 99668 */ GIR_RootConstrainSelectedInstOperands,
35339 /* 99669 */ // GIR_Coverage, 166,
35340 /* 99669 */ GIR_EraseRootFromParent_Done,
35341 /* 99670 */ // Label 2712: @99670
35342 /* 99670 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2713*/ GIMT_Encode4(99715), GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR), // Rule ID 167 //
35343 /* 99677 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrssi),
35344 /* 99682 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35345 /* 99685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35346 /* 99689 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35347 /* 99693 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35348 /* 99700 */ // (intrinsic_w_chain:{ *:[i32] } 16049:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
35349 /* 99700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS32rm),
35350 /* 99703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35351 /* 99705 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35352 /* 99709 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35353 /* 99713 */ GIR_RootConstrainSelectedInstOperands,
35354 /* 99714 */ // GIR_Coverage, 167,
35355 /* 99714 */ GIR_EraseRootFromParent_Done,
35356 /* 99715 */ // Label 2713: @99715
35357 /* 99715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2714*/ GIMT_Encode4(99760), GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR), // Rule ID 168 //
35358 /* 99722 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsdi),
35359 /* 99727 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35360 /* 99730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35361 /* 99734 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35362 /* 99738 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35363 /* 99745 */ // (intrinsic_w_chain:{ *:[i64] } 16046:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
35364 /* 99745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS64rm),
35365 /* 99748 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35366 /* 99750 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35367 /* 99754 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35368 /* 99758 */ GIR_RootConstrainSelectedInstOperands,
35369 /* 99759 */ // GIR_Coverage, 168,
35370 /* 99759 */ GIR_EraseRootFromParent_Done,
35371 /* 99760 */ // Label 2714: @99760
35372 /* 99760 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2715*/ GIMT_Encode4(99805), GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode), // Rule ID 170 //
35373 /* 99767 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsqi),
35374 /* 99772 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s8,
35375 /* 99775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
35376 /* 99779 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35377 /* 99783 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35378 /* 99790 */ // (intrinsic_w_chain:{ *:[i8] } 16048:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS8rm_EVEX:{ *:[i8] } addr:{ *:[iPTR] }:$src)
35379 /* 99790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS8rm_EVEX),
35380 /* 99793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35381 /* 99795 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35382 /* 99799 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35383 /* 99803 */ GIR_RootConstrainSelectedInstOperands,
35384 /* 99804 */ // GIR_Coverage, 170,
35385 /* 99804 */ GIR_EraseRootFromParent_Done,
35386 /* 99805 */ // Label 2715: @99805
35387 /* 99805 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2716*/ GIMT_Encode4(99850), GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode), // Rule ID 171 //
35388 /* 99812 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrshi),
35389 /* 99817 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s16,
35390 /* 99820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
35391 /* 99824 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35392 /* 99828 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35393 /* 99835 */ // (intrinsic_w_chain:{ *:[i16] } 16047:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS16rm_EVEX:{ *:[i16] } addr:{ *:[iPTR] }:$src)
35394 /* 99835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS16rm_EVEX),
35395 /* 99838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35396 /* 99840 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35397 /* 99844 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35398 /* 99848 */ GIR_RootConstrainSelectedInstOperands,
35399 /* 99849 */ // GIR_Coverage, 171,
35400 /* 99849 */ GIR_EraseRootFromParent_Done,
35401 /* 99850 */ // Label 2716: @99850
35402 /* 99850 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2717*/ GIMT_Encode4(99895), GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode), // Rule ID 172 //
35403 /* 99857 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrssi),
35404 /* 99862 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35405 /* 99865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35406 /* 99869 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35407 /* 99873 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35408 /* 99880 */ // (intrinsic_w_chain:{ *:[i32] } 16049:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS32rm_EVEX:{ *:[i32] } addr:{ *:[iPTR] }:$src)
35409 /* 99880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS32rm_EVEX),
35410 /* 99883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35411 /* 99885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35412 /* 99889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35413 /* 99893 */ GIR_RootConstrainSelectedInstOperands,
35414 /* 99894 */ // GIR_Coverage, 172,
35415 /* 99894 */ GIR_EraseRootFromParent_Done,
35416 /* 99895 */ // Label 2717: @99895
35417 /* 99895 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2718*/ GIMT_Encode4(99940), GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode), // Rule ID 173 //
35418 /* 99902 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsdi),
35419 /* 99907 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35420 /* 99910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35421 /* 99914 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35422 /* 99918 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35423 /* 99925 */ // (intrinsic_w_chain:{ *:[i64] } 16046:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS64rm_EVEX:{ *:[i64] } addr:{ *:[iPTR] }:$src)
35424 /* 99925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS64rm_EVEX),
35425 /* 99928 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35426 /* 99930 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35427 /* 99934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35428 /* 99938 */ GIR_RootConstrainSelectedInstOperands,
35429 /* 99939 */ // GIR_Coverage, 173,
35430 /* 99939 */ GIR_EraseRootFromParent_Done,
35431 /* 99940 */ // Label 2718: @99940
35432 /* 99940 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2719*/ GIMT_Encode4(99985), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 2937 //
35433 /* 99947 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse3_ldu_dq),
35434 /* 99952 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
35435 /* 99955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35436 /* 99959 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35437 /* 99963 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35438 /* 99970 */ // (intrinsic_w_chain:{ *:[v16i8] } 16194:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
35439 /* 99970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDDQUrm),
35440 /* 99973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35441 /* 99975 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35442 /* 99979 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35443 /* 99983 */ GIR_RootConstrainSelectedInstOperands,
35444 /* 99984 */ // GIR_Coverage, 2937,
35445 /* 99984 */ GIR_EraseRootFromParent_Done,
35446 /* 99985 */ // Label 2719: @99985
35447 /* 99985 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2720*/ GIMT_Encode4(100030), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 2938 //
35448 /* 99992 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_ldu_dq_256),
35449 /* 99997 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
35450 /* 100000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35451 /* 100004 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35452 /* 100008 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35453 /* 100015 */ // (intrinsic_w_chain:{ *:[v32i8] } 14815:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDDQUYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
35454 /* 100015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDDQUYrm),
35455 /* 100018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35456 /* 100020 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35457 /* 100024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35458 /* 100028 */ GIR_RootConstrainSelectedInstOperands,
35459 /* 100029 */ // GIR_Coverage, 2938,
35460 /* 100029 */ GIR_EraseRootFromParent_Done,
35461 /* 100030 */ // Label 2720: @100030
35462 /* 100030 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2721*/ GIMT_Encode4(100075), GIMT_Encode2(GIFBS_UseSSE3), // Rule ID 2939 //
35463 /* 100037 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse3_ldu_dq),
35464 /* 100042 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
35465 /* 100045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35466 /* 100049 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35467 /* 100053 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35468 /* 100060 */ // (intrinsic_w_chain:{ *:[v16i8] } 16194:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
35469 /* 100060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDDQUrm),
35470 /* 100063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35471 /* 100065 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35472 /* 100069 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35473 /* 100073 */ GIR_RootConstrainSelectedInstOperands,
35474 /* 100074 */ // GIR_Coverage, 2939,
35475 /* 100074 */ GIR_EraseRootFromParent_Done,
35476 /* 100075 */ // Label 2721: @100075
35477 /* 100075 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2722*/ GIMT_Encode4(100120), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3531 //
35478 /* 100082 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnebf162ps128),
35479 /* 100087 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35480 /* 100090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35481 /* 100094 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35482 /* 100098 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35483 /* 100105 */ // (intrinsic_w_chain:{ *:[v4f32] } 16329:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNEBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
35484 /* 100105 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNEBF162PSrm),
35485 /* 100108 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35486 /* 100110 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35487 /* 100114 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35488 /* 100118 */ GIR_RootConstrainSelectedInstOperands,
35489 /* 100119 */ // GIR_Coverage, 3531,
35490 /* 100119 */ GIR_EraseRootFromParent_Done,
35491 /* 100120 */ // Label 2722: @100120
35492 /* 100120 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2723*/ GIMT_Encode4(100165), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3532 //
35493 /* 100127 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnebf162ps256),
35494 /* 100132 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35495 /* 100135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35496 /* 100139 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35497 /* 100143 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35498 /* 100150 */ // (intrinsic_w_chain:{ *:[v8f32] } 16330:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNEBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
35499 /* 100150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNEBF162PSYrm),
35500 /* 100153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35501 /* 100155 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35502 /* 100159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35503 /* 100163 */ GIR_RootConstrainSelectedInstOperands,
35504 /* 100164 */ // GIR_Coverage, 3532,
35505 /* 100164 */ GIR_EraseRootFromParent_Done,
35506 /* 100165 */ // Label 2723: @100165
35507 /* 100165 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2724*/ GIMT_Encode4(100210), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3533 //
35508 /* 100172 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnesh2ps128),
35509 /* 100177 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35510 /* 100180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35511 /* 100184 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35512 /* 100188 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35513 /* 100195 */ // (intrinsic_w_chain:{ *:[v4f32] } 16331:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNESH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
35514 /* 100195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNESH2PSrm),
35515 /* 100198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35516 /* 100200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35517 /* 100204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35518 /* 100208 */ GIR_RootConstrainSelectedInstOperands,
35519 /* 100209 */ // GIR_Coverage, 3533,
35520 /* 100209 */ GIR_EraseRootFromParent_Done,
35521 /* 100210 */ // Label 2724: @100210
35522 /* 100210 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2725*/ GIMT_Encode4(100255), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3534 //
35523 /* 100217 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnesh2ps256),
35524 /* 100222 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35525 /* 100225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35526 /* 100229 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35527 /* 100233 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35528 /* 100240 */ // (intrinsic_w_chain:{ *:[v8f32] } 16332:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNESH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
35529 /* 100240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNESH2PSYrm),
35530 /* 100243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35531 /* 100245 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35532 /* 100249 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35533 /* 100253 */ GIR_RootConstrainSelectedInstOperands,
35534 /* 100254 */ // GIR_Coverage, 3534,
35535 /* 100254 */ GIR_EraseRootFromParent_Done,
35536 /* 100255 */ // Label 2725: @100255
35537 /* 100255 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2726*/ GIMT_Encode4(100300), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3535 //
35538 /* 100262 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneebf162ps128),
35539 /* 100267 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35540 /* 100270 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35541 /* 100274 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35542 /* 100278 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35543 /* 100285 */ // (intrinsic_w_chain:{ *:[v4f32] } 16333:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
35544 /* 100285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEBF162PSrm),
35545 /* 100288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35546 /* 100290 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35547 /* 100294 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35548 /* 100298 */ GIR_RootConstrainSelectedInstOperands,
35549 /* 100299 */ // GIR_Coverage, 3535,
35550 /* 100299 */ GIR_EraseRootFromParent_Done,
35551 /* 100300 */ // Label 2726: @100300
35552 /* 100300 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2727*/ GIMT_Encode4(100345), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3536 //
35553 /* 100307 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneebf162ps256),
35554 /* 100312 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35555 /* 100315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35556 /* 100319 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35557 /* 100323 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35558 /* 100330 */ // (intrinsic_w_chain:{ *:[v8f32] } 16334:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
35559 /* 100330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEBF162PSYrm),
35560 /* 100333 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35561 /* 100335 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35562 /* 100339 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35563 /* 100343 */ GIR_RootConstrainSelectedInstOperands,
35564 /* 100344 */ // GIR_Coverage, 3536,
35565 /* 100344 */ GIR_EraseRootFromParent_Done,
35566 /* 100345 */ // Label 2727: @100345
35567 /* 100345 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2728*/ GIMT_Encode4(100390), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3537 //
35568 /* 100352 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneeph2ps128),
35569 /* 100357 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35570 /* 100360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35571 /* 100364 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35572 /* 100368 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35573 /* 100375 */ // (intrinsic_w_chain:{ *:[v4f32] } 16335:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEPH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
35574 /* 100375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEPH2PSrm),
35575 /* 100378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35576 /* 100380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35577 /* 100384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35578 /* 100388 */ GIR_RootConstrainSelectedInstOperands,
35579 /* 100389 */ // GIR_Coverage, 3537,
35580 /* 100389 */ GIR_EraseRootFromParent_Done,
35581 /* 100390 */ // Label 2728: @100390
35582 /* 100390 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2729*/ GIMT_Encode4(100435), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3538 //
35583 /* 100397 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneeph2ps256),
35584 /* 100402 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35585 /* 100405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35586 /* 100409 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35587 /* 100413 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35588 /* 100420 */ // (intrinsic_w_chain:{ *:[v8f32] } 16336:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEPH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
35589 /* 100420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEPH2PSYrm),
35590 /* 100423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35591 /* 100425 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35592 /* 100429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35593 /* 100433 */ GIR_RootConstrainSelectedInstOperands,
35594 /* 100434 */ // GIR_Coverage, 3538,
35595 /* 100434 */ GIR_EraseRootFromParent_Done,
35596 /* 100435 */ // Label 2729: @100435
35597 /* 100435 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2730*/ GIMT_Encode4(100480), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3539 //
35598 /* 100442 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneobf162ps128),
35599 /* 100447 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35600 /* 100450 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35601 /* 100454 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35602 /* 100458 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35603 /* 100465 */ // (intrinsic_w_chain:{ *:[v4f32] } 16337:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
35604 /* 100465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOBF162PSrm),
35605 /* 100468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35606 /* 100470 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35607 /* 100474 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35608 /* 100478 */ GIR_RootConstrainSelectedInstOperands,
35609 /* 100479 */ // GIR_Coverage, 3539,
35610 /* 100479 */ GIR_EraseRootFromParent_Done,
35611 /* 100480 */ // Label 2730: @100480
35612 /* 100480 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2731*/ GIMT_Encode4(100525), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3540 //
35613 /* 100487 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneobf162ps256),
35614 /* 100492 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35615 /* 100495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35616 /* 100499 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35617 /* 100503 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35618 /* 100510 */ // (intrinsic_w_chain:{ *:[v8f32] } 16338:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
35619 /* 100510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOBF162PSYrm),
35620 /* 100513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35621 /* 100515 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35622 /* 100519 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35623 /* 100523 */ GIR_RootConstrainSelectedInstOperands,
35624 /* 100524 */ // GIR_Coverage, 3540,
35625 /* 100524 */ GIR_EraseRootFromParent_Done,
35626 /* 100525 */ // Label 2731: @100525
35627 /* 100525 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2732*/ GIMT_Encode4(100570), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3541 //
35628 /* 100532 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneoph2ps128),
35629 /* 100537 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35630 /* 100540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35631 /* 100544 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35632 /* 100548 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35633 /* 100555 */ // (intrinsic_w_chain:{ *:[v4f32] } 16339:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOPH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
35634 /* 100555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOPH2PSrm),
35635 /* 100558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35636 /* 100560 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35637 /* 100564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35638 /* 100568 */ GIR_RootConstrainSelectedInstOperands,
35639 /* 100569 */ // GIR_Coverage, 3541,
35640 /* 100569 */ GIR_EraseRootFromParent_Done,
35641 /* 100570 */ // Label 2732: @100570
35642 /* 100570 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2733*/ GIMT_Encode4(100615), GIMT_Encode2(GIFBS_HasAVXNECONVERT), // Rule ID 3542 //
35643 /* 100577 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneoph2ps256),
35644 /* 100582 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35645 /* 100585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35646 /* 100589 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35647 /* 100593 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35648 /* 100600 */ // (intrinsic_w_chain:{ *:[v8f32] } 16340:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOPH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
35649 /* 100600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOPH2PSYrm),
35650 /* 100603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35651 /* 100605 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35652 /* 100609 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35653 /* 100613 */ GIR_RootConstrainSelectedInstOperands,
35654 /* 100614 */ // GIR_Coverage, 3542,
35655 /* 100614 */ GIR_EraseRootFromParent_Done,
35656 /* 100615 */ // Label 2733: @100615
35657 /* 100615 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2734*/ GIMT_Encode4(100660), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16810 //
35658 /* 100622 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb512),
35659 /* 100627 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v64s8,
35660 /* 100630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
35661 /* 100634 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35662 /* 100638 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35663 /* 100645 */ // (intrinsic_w_chain:{ *:[v64i8] } 15071:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
35664 /* 100645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZm),
35665 /* 100648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35666 /* 100650 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35667 /* 100654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35668 /* 100658 */ GIR_RootConstrainSelectedInstOperands,
35669 /* 100659 */ // GIR_Coverage, 16810,
35670 /* 100659 */ GIR_EraseRootFromParent_Done,
35671 /* 100660 */ // Label 2734: @100660
35672 /* 100660 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2735*/ GIMT_Encode4(100705), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16813 //
35673 /* 100667 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb128),
35674 /* 100672 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
35675 /* 100675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
35676 /* 100679 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35677 /* 100683 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35678 /* 100690 */ // (intrinsic_w_chain:{ *:[v16i8] } 15069:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZ128m:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
35679 /* 100690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZ128m),
35680 /* 100693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35681 /* 100695 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35682 /* 100699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35683 /* 100703 */ GIR_RootConstrainSelectedInstOperands,
35684 /* 100704 */ // GIR_Coverage, 16813,
35685 /* 100704 */ GIR_EraseRootFromParent_Done,
35686 /* 100705 */ // Label 2735: @100705
35687 /* 100705 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2736*/ GIMT_Encode4(100750), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16816 //
35688 /* 100712 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb256),
35689 /* 100717 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
35690 /* 100720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
35691 /* 100724 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35692 /* 100728 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35693 /* 100735 */ // (intrinsic_w_chain:{ *:[v32i8] } 15070:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZ256m:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
35694 /* 100735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZ256m),
35695 /* 100738 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35696 /* 100740 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35697 /* 100744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35698 /* 100748 */ GIR_RootConstrainSelectedInstOperands,
35699 /* 100749 */ // GIR_Coverage, 16816,
35700 /* 100749 */ GIR_EraseRootFromParent_Done,
35701 /* 100750 */ // Label 2736: @100750
35702 /* 100750 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2737*/ GIMT_Encode4(100795), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16819 //
35703 /* 100757 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw512),
35704 /* 100762 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
35705 /* 100765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
35706 /* 100769 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35707 /* 100773 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35708 /* 100780 */ // (intrinsic_w_chain:{ *:[v32i16] } 15080:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
35709 /* 100780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZm),
35710 /* 100783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35711 /* 100785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35712 /* 100789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35713 /* 100793 */ GIR_RootConstrainSelectedInstOperands,
35714 /* 100794 */ // GIR_Coverage, 16819,
35715 /* 100794 */ GIR_EraseRootFromParent_Done,
35716 /* 100795 */ // Label 2737: @100795
35717 /* 100795 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2738*/ GIMT_Encode4(100840), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16822 //
35718 /* 100802 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw128),
35719 /* 100807 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
35720 /* 100810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
35721 /* 100814 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35722 /* 100818 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35723 /* 100825 */ // (intrinsic_w_chain:{ *:[v8i16] } 15078:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZ128m:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
35724 /* 100825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZ128m),
35725 /* 100828 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35726 /* 100830 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35727 /* 100834 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35728 /* 100838 */ GIR_RootConstrainSelectedInstOperands,
35729 /* 100839 */ // GIR_Coverage, 16822,
35730 /* 100839 */ GIR_EraseRootFromParent_Done,
35731 /* 100840 */ // Label 2738: @100840
35732 /* 100840 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2739*/ GIMT_Encode4(100885), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16825 //
35733 /* 100847 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw256),
35734 /* 100852 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
35735 /* 100855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
35736 /* 100859 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35737 /* 100863 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35738 /* 100870 */ // (intrinsic_w_chain:{ *:[v16i16] } 15079:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZ256m:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
35739 /* 100870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZ256m),
35740 /* 100873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35741 /* 100875 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35742 /* 100879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35743 /* 100883 */ GIR_RootConstrainSelectedInstOperands,
35744 /* 100884 */ // GIR_Coverage, 16825,
35745 /* 100884 */ GIR_EraseRootFromParent_Done,
35746 /* 100885 */ // Label 2739: @100885
35747 /* 100885 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2740*/ GIMT_Encode4(100930), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16828 //
35748 /* 100892 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd512),
35749 /* 100897 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
35750 /* 100900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
35751 /* 100904 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35752 /* 100908 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35753 /* 100915 */ // (intrinsic_w_chain:{ *:[v16i32] } 15074:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
35754 /* 100915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZm),
35755 /* 100918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35756 /* 100920 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35757 /* 100924 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35758 /* 100928 */ GIR_RootConstrainSelectedInstOperands,
35759 /* 100929 */ // GIR_Coverage, 16828,
35760 /* 100929 */ GIR_EraseRootFromParent_Done,
35761 /* 100930 */ // Label 2740: @100930
35762 /* 100930 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2741*/ GIMT_Encode4(100975), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16831 //
35763 /* 100937 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd128),
35764 /* 100942 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35765 /* 100945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
35766 /* 100949 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35767 /* 100953 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35768 /* 100960 */ // (intrinsic_w_chain:{ *:[v4i32] } 15072:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZ128m:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
35769 /* 100960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZ128m),
35770 /* 100963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35771 /* 100965 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35772 /* 100969 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35773 /* 100973 */ GIR_RootConstrainSelectedInstOperands,
35774 /* 100974 */ // GIR_Coverage, 16831,
35775 /* 100974 */ GIR_EraseRootFromParent_Done,
35776 /* 100975 */ // Label 2741: @100975
35777 /* 100975 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2742*/ GIMT_Encode4(101020), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16834 //
35778 /* 100982 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd256),
35779 /* 100987 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35780 /* 100990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
35781 /* 100994 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35782 /* 100998 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35783 /* 101005 */ // (intrinsic_w_chain:{ *:[v8i32] } 15073:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZ256m:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
35784 /* 101005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZ256m),
35785 /* 101008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35786 /* 101010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35787 /* 101014 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35788 /* 101018 */ GIR_RootConstrainSelectedInstOperands,
35789 /* 101019 */ // GIR_Coverage, 16834,
35790 /* 101019 */ GIR_EraseRootFromParent_Done,
35791 /* 101020 */ // Label 2742: @101020
35792 /* 101020 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2743*/ GIMT_Encode4(101065), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16837 //
35793 /* 101027 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq512),
35794 /* 101032 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
35795 /* 101035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
35796 /* 101039 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35797 /* 101043 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35798 /* 101050 */ // (intrinsic_w_chain:{ *:[v8i64] } 15077:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
35799 /* 101050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZm),
35800 /* 101053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35801 /* 101055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35802 /* 101059 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35803 /* 101063 */ GIR_RootConstrainSelectedInstOperands,
35804 /* 101064 */ // GIR_Coverage, 16837,
35805 /* 101064 */ GIR_EraseRootFromParent_Done,
35806 /* 101065 */ // Label 2743: @101065
35807 /* 101065 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2744*/ GIMT_Encode4(101110), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16840 //
35808 /* 101072 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq128),
35809 /* 101077 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35810 /* 101080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
35811 /* 101084 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35812 /* 101088 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35813 /* 101095 */ // (intrinsic_w_chain:{ *:[v2i64] } 15075:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZ128m:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
35814 /* 101095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZ128m),
35815 /* 101098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35816 /* 101100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35817 /* 101104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35818 /* 101108 */ GIR_RootConstrainSelectedInstOperands,
35819 /* 101109 */ // GIR_Coverage, 16840,
35820 /* 101109 */ GIR_EraseRootFromParent_Done,
35821 /* 101110 */ // Label 2744: @101110
35822 /* 101110 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2745*/ GIMT_Encode4(101155), GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode), // Rule ID 16843 //
35823 /* 101117 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq256),
35824 /* 101122 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
35825 /* 101125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
35826 /* 101129 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35827 /* 101133 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35828 /* 101140 */ // (intrinsic_w_chain:{ *:[v4i64] } 15076:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZ256m:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
35829 /* 101140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZ256m),
35830 /* 101143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35831 /* 101145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35832 /* 101149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35833 /* 101153 */ GIR_RootConstrainSelectedInstOperands,
35834 /* 101154 */ // GIR_Coverage, 16843,
35835 /* 101154 */ GIR_EraseRootFromParent_Done,
35836 /* 101155 */ // Label 2745: @101155
35837 /* 101155 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2746*/ GIMT_Encode4(101200), GIMT_Encode2(GIFBS_NoEGPR), // Rule ID 17133 //
35838 /* 101162 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssd),
35839 /* 101167 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35840 /* 101170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35841 /* 101174 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35842 /* 101178 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35843 /* 101185 */ // (intrinsic_void 16373:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSD addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
35844 /* 101185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSD),
35845 /* 101188 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35846 /* 101192 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35847 /* 101194 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35848 /* 101198 */ GIR_RootConstrainSelectedInstOperands,
35849 /* 101199 */ // GIR_Coverage, 17133,
35850 /* 101199 */ GIR_EraseRootFromParent_Done,
35851 /* 101200 */ // Label 2746: @101200
35852 /* 101200 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2747*/ GIMT_Encode4(101245), GIMT_Encode2(GIFBS_NoEGPR), // Rule ID 17134 //
35853 /* 101207 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssq),
35854 /* 101212 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35855 /* 101215 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35856 /* 101219 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35857 /* 101223 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35858 /* 101230 */ // (intrinsic_void 16374:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSQ addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
35859 /* 101230 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSQ),
35860 /* 101233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35861 /* 101237 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35862 /* 101239 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35863 /* 101243 */ GIR_RootConstrainSelectedInstOperands,
35864 /* 101244 */ // GIR_Coverage, 17134,
35865 /* 101244 */ GIR_EraseRootFromParent_Done,
35866 /* 101245 */ // Label 2747: @101245
35867 /* 101245 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2748*/ GIMT_Encode4(101290), GIMT_Encode2(GIFBS_NoEGPR), // Rule ID 17135 //
35868 /* 101252 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussd),
35869 /* 101257 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35870 /* 101260 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35871 /* 101264 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35872 /* 101268 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35873 /* 101275 */ // (intrinsic_void 16375:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSD addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
35874 /* 101275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSD),
35875 /* 101278 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35876 /* 101282 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35877 /* 101284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35878 /* 101288 */ GIR_RootConstrainSelectedInstOperands,
35879 /* 101289 */ // GIR_Coverage, 17135,
35880 /* 101289 */ GIR_EraseRootFromParent_Done,
35881 /* 101290 */ // Label 2748: @101290
35882 /* 101290 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2749*/ GIMT_Encode4(101335), GIMT_Encode2(GIFBS_NoEGPR), // Rule ID 17136 //
35883 /* 101297 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussq),
35884 /* 101302 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35885 /* 101305 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35886 /* 101309 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35887 /* 101313 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35888 /* 101320 */ // (intrinsic_void 16376:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSQ addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
35889 /* 101320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSQ),
35890 /* 101323 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35891 /* 101327 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35892 /* 101329 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35893 /* 101333 */ GIR_RootConstrainSelectedInstOperands,
35894 /* 101334 */ // GIR_Coverage, 17136,
35895 /* 101334 */ GIR_EraseRootFromParent_Done,
35896 /* 101335 */ // Label 2749: @101335
35897 /* 101335 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2750*/ GIMT_Encode4(101380), GIMT_Encode2(GIFBS_HasEGPR_In64BitMode), // Rule ID 17137 //
35898 /* 101342 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssd),
35899 /* 101347 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35900 /* 101350 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35901 /* 101354 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35902 /* 101358 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35903 /* 101365 */ // (intrinsic_void 16373:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSD_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
35904 /* 101365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSD_EVEX),
35905 /* 101368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35906 /* 101372 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35907 /* 101374 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35908 /* 101378 */ GIR_RootConstrainSelectedInstOperands,
35909 /* 101379 */ // GIR_Coverage, 17137,
35910 /* 101379 */ GIR_EraseRootFromParent_Done,
35911 /* 101380 */ // Label 2750: @101380
35912 /* 101380 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2751*/ GIMT_Encode4(101425), GIMT_Encode2(GIFBS_HasEGPR_In64BitMode), // Rule ID 17138 //
35913 /* 101387 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssq),
35914 /* 101392 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35915 /* 101395 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35916 /* 101399 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35917 /* 101403 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35918 /* 101410 */ // (intrinsic_void 16374:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSQ_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
35919 /* 101410 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSQ_EVEX),
35920 /* 101413 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35921 /* 101417 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35922 /* 101419 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35923 /* 101423 */ GIR_RootConstrainSelectedInstOperands,
35924 /* 101424 */ // GIR_Coverage, 17138,
35925 /* 101424 */ GIR_EraseRootFromParent_Done,
35926 /* 101425 */ // Label 2751: @101425
35927 /* 101425 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2752*/ GIMT_Encode4(101470), GIMT_Encode2(GIFBS_HasEGPR_In64BitMode), // Rule ID 17139 //
35928 /* 101432 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussd),
35929 /* 101437 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35930 /* 101440 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35931 /* 101444 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35932 /* 101448 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35933 /* 101455 */ // (intrinsic_void 16375:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSD_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
35934 /* 101455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSD_EVEX),
35935 /* 101458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35936 /* 101462 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35937 /* 101464 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35938 /* 101468 */ GIR_RootConstrainSelectedInstOperands,
35939 /* 101469 */ // GIR_Coverage, 17139,
35940 /* 101469 */ GIR_EraseRootFromParent_Done,
35941 /* 101470 */ // Label 2752: @101470
35942 /* 101470 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2753*/ GIMT_Encode4(101515), GIMT_Encode2(GIFBS_HasEGPR_In64BitMode), // Rule ID 17140 //
35943 /* 101477 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussq),
35944 /* 101482 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35945 /* 101485 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35946 /* 101489 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35947 /* 101493 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35948 /* 101500 */ // (intrinsic_void 16376:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSQ_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
35949 /* 101500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSQ_EVEX),
35950 /* 101503 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35951 /* 101507 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35952 /* 101509 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35953 /* 101513 */ GIR_RootConstrainSelectedInstOperands,
35954 /* 101514 */ // GIR_Coverage, 17140,
35955 /* 101514 */ GIR_EraseRootFromParent_Done,
35956 /* 101515 */ // Label 2753: @101515
35957 /* 101515 */ GIM_Try, /*On fail goto*//*Label 2754*/ GIMT_Encode4(101710),
35958 /* 101520 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_invpcid),
35959 /* 101525 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35960 /* 101528 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35961 /* 101532 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
35962 /* 101536 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2755*/ GIMT_Encode4(101565), GIMT_Encode2(GIFBS_HasINVPCID_Not64BitMode), // Rule ID 17166 //
35963 /* 101543 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35964 /* 101550 */ // (intrinsic_void 15965:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID32 GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
35965 /* 101550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID32),
35966 /* 101553 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
35967 /* 101555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
35968 /* 101559 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35969 /* 101563 */ GIR_RootConstrainSelectedInstOperands,
35970 /* 101564 */ // GIR_Coverage, 17166,
35971 /* 101564 */ GIR_EraseRootFromParent_Done,
35972 /* 101565 */ // Label 2755: @101565
35973 /* 101565 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2756*/ GIMT_Encode4(101637), GIMT_Encode2(GIFBS_HasINVPCID_NoEGPR), // Rule ID 22579 //
35974 /* 101572 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35975 /* 101579 */ // (intrinsic_void 15965:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID64 (SUBREG_TO_REG:{ *:[i64] } (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1), sub_32bit:{ *:[i32] }), addr:{ *:[iPTR] }:$src2)
35976 /* 101579 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
35977 /* 101582 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
35978 /* 101586 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
35979 /* 101591 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
35980 /* 101595 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
35981 /* 101597 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
35982 /* 101600 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
35983 /* 101604 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
35984 /* 101609 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
35985 /* 101612 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/6,
35986 /* 101615 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
35987 /* 101620 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
35988 /* 101625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID64),
35989 /* 101628 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
35990 /* 101631 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
35991 /* 101635 */ GIR_RootConstrainSelectedInstOperands,
35992 /* 101636 */ // GIR_Coverage, 22579,
35993 /* 101636 */ GIR_EraseRootFromParent_Done,
35994 /* 101637 */ // Label 2756: @101637
35995 /* 101637 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2757*/ GIMT_Encode4(101709), GIMT_Encode2(GIFBS_HasEGPR_HasINVPCID), // Rule ID 22580 //
35996 /* 101644 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35997 /* 101651 */ // (intrinsic_void 15965:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID64_EVEX (SUBREG_TO_REG:{ *:[i64] } (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1), sub_32bit:{ *:[i32] }), addr:{ *:[iPTR] }:$src2)
35998 /* 101651 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
35999 /* 101654 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
36000 /* 101658 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36001 /* 101663 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
36002 /* 101667 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
36003 /* 101669 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
36004 /* 101672 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
36005 /* 101676 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36006 /* 101681 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
36007 /* 101684 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/6,
36008 /* 101687 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
36009 /* 101692 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
36010 /* 101697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID64_EVEX),
36011 /* 101700 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
36012 /* 101703 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36013 /* 101707 */ GIR_RootConstrainSelectedInstOperands,
36014 /* 101708 */ // GIR_Coverage, 22580,
36015 /* 101708 */ GIR_EraseRootFromParent_Done,
36016 /* 101709 */ // Label 2757: @101709
36017 /* 101709 */ GIM_Reject,
36018 /* 101710 */ // Label 2754: @101710
36019 /* 101710 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2758*/ GIMT_Encode4(101755), GIMT_Encode2(GIFBS_HasMOVDIRI_NoEGPR), // Rule ID 131 //
36020 /* 101717 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore32),
36021 /* 101722 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36022 /* 101725 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36023 /* 101729 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36024 /* 101733 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36025 /* 101740 */ // (intrinsic_void 15944:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src) => (MOVDIRI32 addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
36026 /* 101740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI32),
36027 /* 101743 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36028 /* 101747 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36029 /* 101749 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36030 /* 101753 */ GIR_RootConstrainSelectedInstOperands,
36031 /* 101754 */ // GIR_Coverage, 131,
36032 /* 101754 */ GIR_EraseRootFromParent_Done,
36033 /* 101755 */ // Label 2758: @101755
36034 /* 101755 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2759*/ GIMT_Encode4(101800), GIMT_Encode2(GIFBS_HasMOVDIRI_In64BitMode_NoEGPR), // Rule ID 132 //
36035 /* 101762 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore64),
36036 /* 101767 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36037 /* 101770 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36038 /* 101774 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36039 /* 101778 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36040 /* 101785 */ // (intrinsic_void 15945:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src) => (MOVDIRI64 addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
36041 /* 101785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI64),
36042 /* 101788 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36043 /* 101792 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36044 /* 101794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36045 /* 101798 */ GIR_RootConstrainSelectedInstOperands,
36046 /* 101799 */ // GIR_Coverage, 132,
36047 /* 101799 */ GIR_EraseRootFromParent_Done,
36048 /* 101800 */ // Label 2759: @101800
36049 /* 101800 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2760*/ GIMT_Encode4(101845), GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIRI_In64BitMode), // Rule ID 133 //
36050 /* 101807 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore32),
36051 /* 101812 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36052 /* 101815 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36053 /* 101819 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36054 /* 101823 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36055 /* 101830 */ // (intrinsic_void 15944:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src) => (MOVDIRI32_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
36056 /* 101830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI32_EVEX),
36057 /* 101833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36058 /* 101837 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36059 /* 101839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36060 /* 101843 */ GIR_RootConstrainSelectedInstOperands,
36061 /* 101844 */ // GIR_Coverage, 133,
36062 /* 101844 */ GIR_EraseRootFromParent_Done,
36063 /* 101845 */ // Label 2760: @101845
36064 /* 101845 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2761*/ GIMT_Encode4(101890), GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIRI_In64BitMode), // Rule ID 134 //
36065 /* 101852 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore64),
36066 /* 101857 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36067 /* 101860 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36068 /* 101864 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36069 /* 101868 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36070 /* 101875 */ // (intrinsic_void 15945:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src) => (MOVDIRI64_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
36071 /* 101875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI64_EVEX),
36072 /* 101878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36073 /* 101882 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36074 /* 101884 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36075 /* 101888 */ GIR_RootConstrainSelectedInstOperands,
36076 /* 101889 */ // GIR_Coverage, 134,
36077 /* 101889 */ GIR_EraseRootFromParent_Done,
36078 /* 101890 */ // Label 2761: @101890
36079 /* 101890 */ GIM_Try, /*On fail goto*//*Label 2762*/ GIMT_Encode4(102065),
36080 /* 101895 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
36081 /* 101900 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2763*/ GIMT_Encode4(101941), GIMT_Encode2(GIFBS_HasMOVDIR64B_NoEGPR), // Rule ID 135 //
36082 /* 101907 */ // MIs[0] dst
36083 /* 101907 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
36084 /* 101911 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36085 /* 101915 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36086 /* 101919 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36087 /* 101926 */ // (intrinsic_void 16045:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B32 GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src)
36088 /* 101926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B32),
36089 /* 101929 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36090 /* 101931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36091 /* 101935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36092 /* 101939 */ GIR_RootConstrainSelectedInstOperands,
36093 /* 101940 */ // GIR_Coverage, 135,
36094 /* 101940 */ GIR_EraseRootFromParent_Done,
36095 /* 101941 */ // Label 2763: @101941
36096 /* 101941 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2764*/ GIMT_Encode4(101982), GIMT_Encode2(GIFBS_HasMOVDIR64B_In64BitMode_NoEGPR), // Rule ID 136 //
36097 /* 101948 */ // MIs[0] dst
36098 /* 101948 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
36099 /* 101952 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36100 /* 101956 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36101 /* 101960 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36102 /* 101967 */ // (intrinsic_void 16045:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B64 GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src)
36103 /* 101967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B64),
36104 /* 101970 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36105 /* 101972 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36106 /* 101976 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36107 /* 101980 */ GIR_RootConstrainSelectedInstOperands,
36108 /* 101981 */ // GIR_Coverage, 136,
36109 /* 101981 */ GIR_EraseRootFromParent_Done,
36110 /* 101982 */ // Label 2764: @101982
36111 /* 101982 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2765*/ GIMT_Encode4(102023), GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIR64B_In64BitMode), // Rule ID 137 //
36112 /* 101989 */ // MIs[0] dst
36113 /* 101989 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
36114 /* 101993 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36115 /* 101997 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36116 /* 102001 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36117 /* 102008 */ // (intrinsic_void 16045:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B32_EVEX GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src)
36118 /* 102008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B32_EVEX),
36119 /* 102011 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36120 /* 102013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36121 /* 102017 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36122 /* 102021 */ GIR_RootConstrainSelectedInstOperands,
36123 /* 102022 */ // GIR_Coverage, 137,
36124 /* 102022 */ GIR_EraseRootFromParent_Done,
36125 /* 102023 */ // Label 2765: @102023
36126 /* 102023 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2766*/ GIMT_Encode4(102064), GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIR64B_In64BitMode), // Rule ID 138 //
36127 /* 102030 */ // MIs[0] dst
36128 /* 102030 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
36129 /* 102034 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36130 /* 102038 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36131 /* 102042 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36132 /* 102049 */ // (intrinsic_void 16045:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B64_EVEX GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src)
36133 /* 102049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B64_EVEX),
36134 /* 102052 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36135 /* 102054 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36136 /* 102058 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36137 /* 102062 */ GIR_RootConstrainSelectedInstOperands,
36138 /* 102063 */ // GIR_Coverage, 138,
36139 /* 102063 */ GIR_EraseRootFromParent_Done,
36140 /* 102064 */ // Label 2766: @102064
36141 /* 102064 */ GIM_Reject,
36142 /* 102065 */ // Label 2762: @102065
36143 /* 102065 */ GIM_Try, /*On fail goto*//*Label 2767*/ GIMT_Encode4(102108), // Rule ID 17191 //
36144 /* 102070 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::asan_check_memaccess),
36145 /* 102075 */ // MIs[0] addr
36146 /* 102075 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
36147 /* 102079 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64PLTSafeRegClassID),
36148 /* 102083 */ // MIs[0] accessinfo
36149 /* 102083 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36150 /* 102086 */ // (intrinsic_void 14:{ *:[iPTR] }, GR64PLTSafe:{ *:[i64] }:$addr, (timm:{ *:[i32] }):$accessinfo) => (ASAN_CHECK_MEMACCESS:{ *:[i64] } GR64PLTSafe:{ *:[i64] }:$addr, (timm:{ *:[i32] }):$accessinfo)
36151 /* 102086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ASAN_CHECK_MEMACCESS),
36152 /* 102089 */ GIR_RootToRootCopy, /*OpIdx*/1, // addr
36153 /* 102091 */ GIR_RootToRootCopy, /*OpIdx*/2, // accessinfo
36154 /* 102093 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::R10*/0,
36155 /* 102096 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::R11*/1,
36156 /* 102099 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/2,
36157 /* 102102 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36158 /* 102106 */ GIR_RootConstrainSelectedInstOperands,
36159 /* 102107 */ // GIR_Coverage, 17191,
36160 /* 102107 */ GIR_EraseRootFromParent_Done,
36161 /* 102108 */ // Label 2767: @102108
36162 /* 102108 */ GIM_Try, /*On fail goto*//*Label 2768*/ GIMT_Encode4(102173),
36163 /* 102113 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_urdmsr),
36164 /* 102118 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36165 /* 102121 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36166 /* 102124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36167 /* 102128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36168 /* 102132 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2769*/ GIMT_Encode4(102152), GIMT_Encode2(GIFBS_HasUSERMSR_NoEGPR), // Rule ID 17117 //
36169 /* 102139 */ // (intrinsic_w_chain:{ *:[i64] } 16327:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (URDMSRrr:{ *:[i64] } GR64:{ *:[i64] }:$src)
36170 /* 102139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::URDMSRrr),
36171 /* 102142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36172 /* 102144 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36173 /* 102146 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36174 /* 102150 */ GIR_RootConstrainSelectedInstOperands,
36175 /* 102151 */ // GIR_Coverage, 17117,
36176 /* 102151 */ GIR_EraseRootFromParent_Done,
36177 /* 102152 */ // Label 2769: @102152
36178 /* 102152 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2770*/ GIMT_Encode4(102172), GIMT_Encode2(GIFBS_HasEGPR_HasUSERMSR_In64BitMode), // Rule ID 17121 //
36179 /* 102159 */ // (intrinsic_w_chain:{ *:[i64] } 16327:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (URDMSRrr_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src)
36180 /* 102159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::URDMSRrr_EVEX),
36181 /* 102162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36182 /* 102164 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36183 /* 102166 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36184 /* 102170 */ GIR_RootConstrainSelectedInstOperands,
36185 /* 102171 */ // GIR_Coverage, 17121,
36186 /* 102171 */ GIR_EraseRootFromParent_Done,
36187 /* 102172 */ // Label 2770: @102172
36188 /* 102172 */ GIM_Reject,
36189 /* 102173 */ // Label 2768: @102173
36190 /* 102173 */ GIM_Try, /*On fail goto*//*Label 2771*/ GIMT_Encode4(102210), // Rule ID 17129 //
36191 /* 102178 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdsspd),
36192 /* 102183 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36193 /* 102186 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36194 /* 102189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36195 /* 102193 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36196 /* 102197 */ // (intrinsic_w_chain:{ *:[i32] } 16071:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (RDSSPD:{ *:[i32] } GR32:{ *:[i32] }:$src)
36197 /* 102197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDSSPD),
36198 /* 102200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36199 /* 102202 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36200 /* 102204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36201 /* 102208 */ GIR_RootConstrainSelectedInstOperands,
36202 /* 102209 */ // GIR_Coverage, 17129,
36203 /* 102209 */ GIR_EraseRootFromParent_Done,
36204 /* 102210 */ // Label 2771: @102210
36205 /* 102210 */ GIM_Try, /*On fail goto*//*Label 2772*/ GIMT_Encode4(102247), // Rule ID 17130 //
36206 /* 102215 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdsspq),
36207 /* 102220 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36208 /* 102223 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36209 /* 102226 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36210 /* 102230 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36211 /* 102234 */ // (intrinsic_w_chain:{ *:[i64] } 16072:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (RDSSPQ:{ *:[i64] } GR64:{ *:[i64] }:$src)
36212 /* 102234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDSSPQ),
36213 /* 102237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36214 /* 102239 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36215 /* 102241 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36216 /* 102245 */ GIR_RootConstrainSelectedInstOperands,
36217 /* 102246 */ // GIR_Coverage, 17130,
36218 /* 102246 */ GIR_EraseRootFromParent_Done,
36219 /* 102247 */ // Label 2772: @102247
36220 /* 102247 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2773*/ GIMT_Encode4(102310), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 3072 //
36221 /* 102254 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse3_mwait),
36222 /* 102259 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36223 /* 102262 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36224 /* 102265 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32_ArgRef_and_GR32_CBRegClassID),
36225 /* 102269 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36226 /* 102273 */ // (intrinsic_void 16196:{ *:[iPTR] }, ECX:{ *:[i32] }, EAX:{ *:[i32] }) => (MWAITrr)
36227 /* 102273 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36228 /* 102277 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36229 /* 102283 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // EAX
36230 /* 102287 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36231 /* 102291 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::ECX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36232 /* 102297 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // ECX
36233 /* 102301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MWAITrr),
36234 /* 102304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36235 /* 102308 */ GIR_RootConstrainSelectedInstOperands,
36236 /* 102309 */ // GIR_Coverage, 3072,
36237 /* 102309 */ GIR_EraseRootFromParent_Done,
36238 /* 102310 */ // Label 2773: @102310
36239 /* 102310 */ GIM_Try, /*On fail goto*//*Label 2774*/ GIMT_Encode4(102375),
36240 /* 102315 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_uwrmsr),
36241 /* 102320 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36242 /* 102323 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36243 /* 102326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36244 /* 102330 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36245 /* 102334 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2775*/ GIMT_Encode4(102354), GIMT_Encode2(GIFBS_HasUSERMSR_NoEGPR), // Rule ID 17119 //
36246 /* 102341 */ // (intrinsic_void 16328:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (UWRMSRrr GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
36247 /* 102341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UWRMSRrr),
36248 /* 102344 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36249 /* 102346 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36250 /* 102348 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36251 /* 102352 */ GIR_RootConstrainSelectedInstOperands,
36252 /* 102353 */ // GIR_Coverage, 17119,
36253 /* 102353 */ GIR_EraseRootFromParent_Done,
36254 /* 102354 */ // Label 2775: @102354
36255 /* 102354 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2776*/ GIMT_Encode4(102374), GIMT_Encode2(GIFBS_HasEGPR_HasUSERMSR_In64BitMode), // Rule ID 17123 //
36256 /* 102361 */ // (intrinsic_void 16328:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (UWRMSRrr_EVEX GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
36257 /* 102361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UWRMSRrr_EVEX),
36258 /* 102364 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36259 /* 102366 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36260 /* 102368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36261 /* 102372 */ GIR_RootConstrainSelectedInstOperands,
36262 /* 102373 */ // GIR_Coverage, 17123,
36263 /* 102373 */ GIR_EraseRootFromParent_Done,
36264 /* 102374 */ // Label 2776: @102374
36265 /* 102374 */ GIM_Reject,
36266 /* 102375 */ // Label 2774: @102375
36267 /* 102375 */ GIM_Reject,
36268 /* 102376 */ // Label 2710: @102376
36269 /* 102376 */ GIM_Try, /*On fail goto*//*Label 2777*/ GIMT_Encode4(105506),
36270 /* 102381 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/4,
36271 /* 102384 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2778*/ GIMT_Encode4(102455), GIMT_Encode2(GIFBS_HasLWP), // Rule ID 123 //
36272 /* 102391 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval32),
36273 /* 102396 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36274 /* 102399 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36275 /* 102402 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36276 /* 102406 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
36277 /* 102410 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
36278 /* 102414 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
36279 /* 102417 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
36280 /* 102421 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
36281 /* 102425 */ // MIs[0] cntl
36282 /* 102425 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36283 /* 102428 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
36284 /* 102430 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36285 /* 102437 */ // (intrinsic_void 15972:{ *:[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)
36286 /* 102437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL32rmi),
36287 /* 102440 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
36288 /* 102442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
36289 /* 102446 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
36290 /* 102448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
36291 /* 102453 */ GIR_RootConstrainSelectedInstOperands,
36292 /* 102454 */ // GIR_Coverage, 123,
36293 /* 102454 */ GIR_EraseRootFromParent_Done,
36294 /* 102455 */ // Label 2778: @102455
36295 /* 102455 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2779*/ GIMT_Encode4(102526), GIMT_Encode2(GIFBS_HasLWP), // Rule ID 125 //
36296 /* 102462 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval64),
36297 /* 102467 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36298 /* 102470 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36299 /* 102473 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36300 /* 102477 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
36301 /* 102481 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
36302 /* 102485 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
36303 /* 102488 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
36304 /* 102492 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
36305 /* 102496 */ // MIs[0] cntl
36306 /* 102496 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36307 /* 102499 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
36308 /* 102501 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36309 /* 102508 */ // (intrinsic_void 15973:{ *:[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)
36310 /* 102508 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL64rmi),
36311 /* 102511 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
36312 /* 102513 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
36313 /* 102517 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
36314 /* 102519 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
36315 /* 102524 */ GIR_RootConstrainSelectedInstOperands,
36316 /* 102525 */ // GIR_Coverage, 125,
36317 /* 102525 */ GIR_EraseRootFromParent_Done,
36318 /* 102526 */ // Label 2779: @102526
36319 /* 102526 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2780*/ GIMT_Encode4(102580), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3375 //
36320 /* 102533 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_ps),
36321 /* 102538 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36322 /* 102541 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
36323 /* 102544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36324 /* 102548 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36325 /* 102552 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36326 /* 102556 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36327 /* 102563 */ // (intrinsic_w_chain:{ *:[v4f32] } 14818:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src1) => (VMASKMOVPSrm:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
36328 /* 102563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSrm),
36329 /* 102566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36330 /* 102568 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36331 /* 102570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36332 /* 102574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36333 /* 102578 */ GIR_RootConstrainSelectedInstOperands,
36334 /* 102579 */ // GIR_Coverage, 3375,
36335 /* 102579 */ GIR_EraseRootFromParent_Done,
36336 /* 102580 */ // Label 2780: @102580
36337 /* 102580 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2781*/ GIMT_Encode4(102634), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3376 //
36338 /* 102587 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_ps_256),
36339 /* 102592 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36340 /* 102595 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
36341 /* 102598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36342 /* 102602 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36343 /* 102606 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36344 /* 102610 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36345 /* 102617 */ // (intrinsic_w_chain:{ *:[v8f32] } 14819:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v8i32] }:$src1) => (VMASKMOVPSYrm:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
36346 /* 102617 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSYrm),
36347 /* 102620 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36348 /* 102622 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36349 /* 102624 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36350 /* 102628 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36351 /* 102632 */ GIR_RootConstrainSelectedInstOperands,
36352 /* 102633 */ // GIR_Coverage, 3376,
36353 /* 102633 */ GIR_EraseRootFromParent_Done,
36354 /* 102634 */ // Label 2781: @102634
36355 /* 102634 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2782*/ GIMT_Encode4(102688), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3379 //
36356 /* 102641 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_pd),
36357 /* 102646 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
36358 /* 102649 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
36359 /* 102652 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36360 /* 102656 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36361 /* 102660 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36362 /* 102664 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36363 /* 102671 */ // (intrinsic_w_chain:{ *:[v2f64] } 14816:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src1) => (VMASKMOVPDrm:{ *:[v2f64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
36364 /* 102671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDrm),
36365 /* 102674 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36366 /* 102676 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36367 /* 102678 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36368 /* 102682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36369 /* 102686 */ GIR_RootConstrainSelectedInstOperands,
36370 /* 102687 */ // GIR_Coverage, 3379,
36371 /* 102687 */ GIR_EraseRootFromParent_Done,
36372 /* 102688 */ // Label 2782: @102688
36373 /* 102688 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2783*/ GIMT_Encode4(102742), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3380 //
36374 /* 102695 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_pd_256),
36375 /* 102700 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
36376 /* 102703 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
36377 /* 102706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36378 /* 102710 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36379 /* 102714 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36380 /* 102718 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36381 /* 102725 */ // (intrinsic_w_chain:{ *:[v4f64] } 14817:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v4i64] }:$src1) => (VMASKMOVPDYrm:{ *:[v4f64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
36382 /* 102725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDYrm),
36383 /* 102728 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36384 /* 102730 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36385 /* 102732 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36386 /* 102736 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36387 /* 102740 */ GIR_RootConstrainSelectedInstOperands,
36388 /* 102741 */ // GIR_Coverage, 3380,
36389 /* 102741 */ GIR_EraseRootFromParent_Done,
36390 /* 102742 */ // Label 2783: @102742
36391 /* 102742 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2784*/ GIMT_Encode4(102796), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3453 //
36392 /* 102749 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_d),
36393 /* 102754 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36394 /* 102757 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
36395 /* 102760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36396 /* 102764 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36397 /* 102768 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36398 /* 102772 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36399 /* 102779 */ // (intrinsic_w_chain:{ *:[v4i32] } 15116:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src1) => (VPMASKMOVDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
36400 /* 102779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDrm),
36401 /* 102782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36402 /* 102784 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36403 /* 102786 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36404 /* 102790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36405 /* 102794 */ GIR_RootConstrainSelectedInstOperands,
36406 /* 102795 */ // GIR_Coverage, 3453,
36407 /* 102795 */ GIR_EraseRootFromParent_Done,
36408 /* 102796 */ // Label 2784: @102796
36409 /* 102796 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2785*/ GIMT_Encode4(102850), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3454 //
36410 /* 102803 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_d_256),
36411 /* 102808 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36412 /* 102811 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
36413 /* 102814 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36414 /* 102818 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36415 /* 102822 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36416 /* 102826 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36417 /* 102833 */ // (intrinsic_w_chain:{ *:[v8i32] } 15117:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v8i32] }:$src1) => (VPMASKMOVDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
36418 /* 102833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDYrm),
36419 /* 102836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36420 /* 102838 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36421 /* 102840 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36422 /* 102844 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36423 /* 102848 */ GIR_RootConstrainSelectedInstOperands,
36424 /* 102849 */ // GIR_Coverage, 3454,
36425 /* 102849 */ GIR_EraseRootFromParent_Done,
36426 /* 102850 */ // Label 2785: @102850
36427 /* 102850 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2786*/ GIMT_Encode4(102904), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3457 //
36428 /* 102857 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_q),
36429 /* 102862 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
36430 /* 102865 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
36431 /* 102868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36432 /* 102872 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36433 /* 102876 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36434 /* 102880 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36435 /* 102887 */ // (intrinsic_w_chain:{ *:[v2i64] } 15118:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src1) => (VPMASKMOVQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
36436 /* 102887 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQrm),
36437 /* 102890 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36438 /* 102892 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36439 /* 102894 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36440 /* 102898 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36441 /* 102902 */ GIR_RootConstrainSelectedInstOperands,
36442 /* 102903 */ // GIR_Coverage, 3457,
36443 /* 102903 */ GIR_EraseRootFromParent_Done,
36444 /* 102904 */ // Label 2786: @102904
36445 /* 102904 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2787*/ GIMT_Encode4(102958), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3458 //
36446 /* 102911 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_q_256),
36447 /* 102916 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
36448 /* 102919 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
36449 /* 102922 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36450 /* 102926 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36451 /* 102930 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36452 /* 102934 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36453 /* 102941 */ // (intrinsic_w_chain:{ *:[v4i64] } 15119:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v4i64] }:$src1) => (VPMASKMOVQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
36454 /* 102941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQYrm),
36455 /* 102944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36456 /* 102946 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
36457 /* 102948 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36458 /* 102952 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36459 /* 102956 */ GIR_RootConstrainSelectedInstOperands,
36460 /* 102957 */ // GIR_Coverage, 3458,
36461 /* 102957 */ GIR_EraseRootFromParent_Done,
36462 /* 102958 */ // Label 2787: @102958
36463 /* 102958 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2788*/ GIMT_Encode4(103012), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3377 //
36464 /* 102965 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_ps),
36465 /* 102970 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
36466 /* 102973 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
36467 /* 102976 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36468 /* 102980 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36469 /* 102984 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36470 /* 102988 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36471 /* 102995 */ // (intrinsic_void 14822:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMASKMOVPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4f32] }:$src2)
36472 /* 102995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSmr),
36473 /* 102998 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36474 /* 103002 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36475 /* 103004 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36476 /* 103006 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36477 /* 103010 */ GIR_RootConstrainSelectedInstOperands,
36478 /* 103011 */ // GIR_Coverage, 3377,
36479 /* 103011 */ GIR_EraseRootFromParent_Done,
36480 /* 103012 */ // Label 2788: @103012
36481 /* 103012 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2789*/ GIMT_Encode4(103066), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3378 //
36482 /* 103019 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_ps_256),
36483 /* 103024 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
36484 /* 103027 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
36485 /* 103030 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36486 /* 103034 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36487 /* 103038 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36488 /* 103042 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36489 /* 103049 */ // (intrinsic_void 14823:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMASKMOVPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8f32] }:$src2)
36490 /* 103049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSYmr),
36491 /* 103052 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36492 /* 103056 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36493 /* 103058 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36494 /* 103060 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36495 /* 103064 */ GIR_RootConstrainSelectedInstOperands,
36496 /* 103065 */ // GIR_Coverage, 3378,
36497 /* 103065 */ GIR_EraseRootFromParent_Done,
36498 /* 103066 */ // Label 2789: @103066
36499 /* 103066 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2790*/ GIMT_Encode4(103120), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3381 //
36500 /* 103073 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_pd),
36501 /* 103078 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
36502 /* 103081 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
36503 /* 103084 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36504 /* 103088 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36505 /* 103092 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36506 /* 103096 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36507 /* 103103 */ // (intrinsic_void 14820:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMASKMOVPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2f64] }:$src2)
36508 /* 103103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDmr),
36509 /* 103106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36510 /* 103110 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36511 /* 103112 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36512 /* 103114 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36513 /* 103118 */ GIR_RootConstrainSelectedInstOperands,
36514 /* 103119 */ // GIR_Coverage, 3381,
36515 /* 103119 */ GIR_EraseRootFromParent_Done,
36516 /* 103120 */ // Label 2790: @103120
36517 /* 103120 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2791*/ GIMT_Encode4(103174), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 3382 //
36518 /* 103127 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_pd_256),
36519 /* 103132 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
36520 /* 103135 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
36521 /* 103138 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36522 /* 103142 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36523 /* 103146 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36524 /* 103150 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36525 /* 103157 */ // (intrinsic_void 14821:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMASKMOVPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4f64] }:$src2)
36526 /* 103157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDYmr),
36527 /* 103160 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36528 /* 103164 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36529 /* 103166 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36530 /* 103168 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36531 /* 103172 */ GIR_RootConstrainSelectedInstOperands,
36532 /* 103173 */ // GIR_Coverage, 3382,
36533 /* 103173 */ GIR_EraseRootFromParent_Done,
36534 /* 103174 */ // Label 2791: @103174
36535 /* 103174 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2792*/ GIMT_Encode4(103228), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3455 //
36536 /* 103181 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_d),
36537 /* 103186 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
36538 /* 103189 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
36539 /* 103192 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36540 /* 103196 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36541 /* 103200 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36542 /* 103204 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36543 /* 103211 */ // (intrinsic_void 15120:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMASKMOVDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
36544 /* 103211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDmr),
36545 /* 103214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36546 /* 103218 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36547 /* 103220 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36548 /* 103222 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36549 /* 103226 */ GIR_RootConstrainSelectedInstOperands,
36550 /* 103227 */ // GIR_Coverage, 3455,
36551 /* 103227 */ GIR_EraseRootFromParent_Done,
36552 /* 103228 */ // Label 2792: @103228
36553 /* 103228 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2793*/ GIMT_Encode4(103282), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3456 //
36554 /* 103235 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_d_256),
36555 /* 103240 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
36556 /* 103243 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
36557 /* 103246 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36558 /* 103250 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36559 /* 103254 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36560 /* 103258 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36561 /* 103265 */ // (intrinsic_void 15121:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMASKMOVDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
36562 /* 103265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDYmr),
36563 /* 103268 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36564 /* 103272 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36565 /* 103274 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36566 /* 103276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36567 /* 103280 */ GIR_RootConstrainSelectedInstOperands,
36568 /* 103281 */ // GIR_Coverage, 3456,
36569 /* 103281 */ GIR_EraseRootFromParent_Done,
36570 /* 103282 */ // Label 2793: @103282
36571 /* 103282 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2794*/ GIMT_Encode4(103336), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3459 //
36572 /* 103289 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_q),
36573 /* 103294 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
36574 /* 103297 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
36575 /* 103300 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36576 /* 103304 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36577 /* 103308 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36578 /* 103312 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36579 /* 103319 */ // (intrinsic_void 15122:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPMASKMOVQmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
36580 /* 103319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQmr),
36581 /* 103322 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36582 /* 103326 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36583 /* 103328 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36584 /* 103330 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36585 /* 103334 */ GIR_RootConstrainSelectedInstOperands,
36586 /* 103335 */ // GIR_Coverage, 3459,
36587 /* 103335 */ GIR_EraseRootFromParent_Done,
36588 /* 103336 */ // Label 2794: @103336
36589 /* 103336 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2795*/ GIMT_Encode4(103390), GIMT_Encode2(GIFBS_HasAVX2), // Rule ID 3460 //
36590 /* 103343 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_q_256),
36591 /* 103348 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
36592 /* 103351 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
36593 /* 103354 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36594 /* 103358 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36595 /* 103362 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36596 /* 103366 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36597 /* 103373 */ // (intrinsic_void 15123:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPMASKMOVQYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
36598 /* 103373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQYmr),
36599 /* 103376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36600 /* 103380 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
36601 /* 103382 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
36602 /* 103384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36603 /* 103388 */ GIR_RootConstrainSelectedInstOperands,
36604 /* 103389 */ // GIR_Coverage, 3460,
36605 /* 103389 */ GIR_EraseRootFromParent_Done,
36606 /* 103390 */ // Label 2795: @103390
36607 /* 103390 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2796*/ GIMT_Encode4(103468), GIMT_Encode2(GIFBS_HasXSAVE), // Rule ID 17144 //
36608 /* 103397 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsave),
36609 /* 103402 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36610 /* 103405 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36611 /* 103408 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36612 /* 103412 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36613 /* 103416 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36614 /* 103420 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36615 /* 103427 */ // (intrinsic_void 16432:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVE addr:{ *:[iPTR] }:$dst)
36616 /* 103427 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36617 /* 103431 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36618 /* 103437 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36619 /* 103441 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36620 /* 103445 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36621 /* 103451 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36622 /* 103455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVE),
36623 /* 103458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36624 /* 103462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36625 /* 103466 */ GIR_RootConstrainSelectedInstOperands,
36626 /* 103467 */ // GIR_Coverage, 17144,
36627 /* 103467 */ GIR_EraseRootFromParent_Done,
36628 /* 103468 */ // Label 2796: @103468
36629 /* 103468 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2797*/ GIMT_Encode4(103546), GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode), // Rule ID 17145 //
36630 /* 103475 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsave64),
36631 /* 103480 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36632 /* 103483 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36633 /* 103486 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36634 /* 103490 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36635 /* 103494 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36636 /* 103498 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36637 /* 103505 */ // (intrinsic_void 16433:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVE64 addr:{ *:[iPTR] }:$dst)
36638 /* 103505 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36639 /* 103509 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36640 /* 103515 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36641 /* 103519 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36642 /* 103523 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36643 /* 103529 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36644 /* 103533 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVE64),
36645 /* 103536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36646 /* 103540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36647 /* 103544 */ GIR_RootConstrainSelectedInstOperands,
36648 /* 103545 */ // GIR_Coverage, 17145,
36649 /* 103545 */ GIR_EraseRootFromParent_Done,
36650 /* 103546 */ // Label 2797: @103546
36651 /* 103546 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2798*/ GIMT_Encode4(103624), GIMT_Encode2(GIFBS_HasXSAVE), // Rule ID 17146 //
36652 /* 103553 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstor),
36653 /* 103558 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36654 /* 103561 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36655 /* 103564 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36656 /* 103568 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36657 /* 103572 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36658 /* 103576 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36659 /* 103583 */ // (intrinsic_void 16428:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTOR addr:{ *:[iPTR] }:$dst)
36660 /* 103583 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36661 /* 103587 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36662 /* 103593 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36663 /* 103597 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36664 /* 103601 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36665 /* 103607 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36666 /* 103611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTOR),
36667 /* 103614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36668 /* 103618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36669 /* 103622 */ GIR_RootConstrainSelectedInstOperands,
36670 /* 103623 */ // GIR_Coverage, 17146,
36671 /* 103623 */ GIR_EraseRootFromParent_Done,
36672 /* 103624 */ // Label 2798: @103624
36673 /* 103624 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2799*/ GIMT_Encode4(103702), GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode), // Rule ID 17147 //
36674 /* 103631 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstor64),
36675 /* 103636 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36676 /* 103639 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36677 /* 103642 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36678 /* 103646 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36679 /* 103650 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36680 /* 103654 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36681 /* 103661 */ // (intrinsic_void 16429:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTOR64 addr:{ *:[iPTR] }:$dst)
36682 /* 103661 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36683 /* 103665 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36684 /* 103671 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36685 /* 103675 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36686 /* 103679 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36687 /* 103685 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36688 /* 103689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTOR64),
36689 /* 103692 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36690 /* 103696 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36691 /* 103700 */ GIR_RootConstrainSelectedInstOperands,
36692 /* 103701 */ // GIR_Coverage, 17147,
36693 /* 103701 */ GIR_EraseRootFromParent_Done,
36694 /* 103702 */ // Label 2799: @103702
36695 /* 103702 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2800*/ GIMT_Encode4(103780), GIMT_Encode2(GIFBS_HasXSAVEOPT), // Rule ID 17148 //
36696 /* 103709 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaveopt),
36697 /* 103714 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36698 /* 103717 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36699 /* 103720 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36700 /* 103724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36701 /* 103728 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36702 /* 103732 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36703 /* 103739 */ // (intrinsic_void 16436:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEOPT addr:{ *:[iPTR] }:$dst)
36704 /* 103739 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36705 /* 103743 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36706 /* 103749 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36707 /* 103753 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36708 /* 103757 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36709 /* 103763 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36710 /* 103767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEOPT),
36711 /* 103770 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36712 /* 103774 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36713 /* 103778 */ GIR_RootConstrainSelectedInstOperands,
36714 /* 103779 */ // GIR_Coverage, 17148,
36715 /* 103779 */ GIR_EraseRootFromParent_Done,
36716 /* 103780 */ // Label 2800: @103780
36717 /* 103780 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2801*/ GIMT_Encode4(103858), GIMT_Encode2(GIFBS_HasXSAVEOPT_In64BitMode), // Rule ID 17149 //
36718 /* 103787 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaveopt64),
36719 /* 103792 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36720 /* 103795 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36721 /* 103798 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36722 /* 103802 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36723 /* 103806 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36724 /* 103810 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36725 /* 103817 */ // (intrinsic_void 16437:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEOPT64 addr:{ *:[iPTR] }:$dst)
36726 /* 103817 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36727 /* 103821 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36728 /* 103827 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36729 /* 103831 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36730 /* 103835 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36731 /* 103841 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36732 /* 103845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEOPT64),
36733 /* 103848 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36734 /* 103852 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36735 /* 103856 */ GIR_RootConstrainSelectedInstOperands,
36736 /* 103857 */ // GIR_Coverage, 17149,
36737 /* 103857 */ GIR_EraseRootFromParent_Done,
36738 /* 103858 */ // Label 2801: @103858
36739 /* 103858 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2802*/ GIMT_Encode4(103936), GIMT_Encode2(GIFBS_HasXSAVEC), // Rule ID 17150 //
36740 /* 103865 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsavec),
36741 /* 103870 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36742 /* 103873 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36743 /* 103876 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36744 /* 103880 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36745 /* 103884 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36746 /* 103888 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36747 /* 103895 */ // (intrinsic_void 16434:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEC addr:{ *:[iPTR] }:$dst)
36748 /* 103895 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36749 /* 103899 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36750 /* 103905 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36751 /* 103909 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36752 /* 103913 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36753 /* 103919 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36754 /* 103923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEC),
36755 /* 103926 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36756 /* 103930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36757 /* 103934 */ GIR_RootConstrainSelectedInstOperands,
36758 /* 103935 */ // GIR_Coverage, 17150,
36759 /* 103935 */ GIR_EraseRootFromParent_Done,
36760 /* 103936 */ // Label 2802: @103936
36761 /* 103936 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2803*/ GIMT_Encode4(104014), GIMT_Encode2(GIFBS_HasXSAVEC_In64BitMode), // Rule ID 17151 //
36762 /* 103943 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsavec64),
36763 /* 103948 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36764 /* 103951 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36765 /* 103954 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36766 /* 103958 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36767 /* 103962 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36768 /* 103966 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36769 /* 103973 */ // (intrinsic_void 16435:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEC64 addr:{ *:[iPTR] }:$dst)
36770 /* 103973 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36771 /* 103977 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36772 /* 103983 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36773 /* 103987 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36774 /* 103991 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36775 /* 103997 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36776 /* 104001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEC64),
36777 /* 104004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36778 /* 104008 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36779 /* 104012 */ GIR_RootConstrainSelectedInstOperands,
36780 /* 104013 */ // GIR_Coverage, 17151,
36781 /* 104013 */ GIR_EraseRootFromParent_Done,
36782 /* 104014 */ // Label 2803: @104014
36783 /* 104014 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2804*/ GIMT_Encode4(104092), GIMT_Encode2(GIFBS_HasXSAVES), // Rule ID 17152 //
36784 /* 104021 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaves),
36785 /* 104026 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36786 /* 104029 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36787 /* 104032 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36788 /* 104036 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36789 /* 104040 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36790 /* 104044 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36791 /* 104051 */ // (intrinsic_void 16438:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVES addr:{ *:[iPTR] }:$dst)
36792 /* 104051 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36793 /* 104055 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36794 /* 104061 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36795 /* 104065 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36796 /* 104069 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36797 /* 104075 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36798 /* 104079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVES),
36799 /* 104082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36800 /* 104086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36801 /* 104090 */ GIR_RootConstrainSelectedInstOperands,
36802 /* 104091 */ // GIR_Coverage, 17152,
36803 /* 104091 */ GIR_EraseRootFromParent_Done,
36804 /* 104092 */ // Label 2804: @104092
36805 /* 104092 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2805*/ GIMT_Encode4(104170), GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode), // Rule ID 17153 //
36806 /* 104099 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaves64),
36807 /* 104104 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36808 /* 104107 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36809 /* 104110 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36810 /* 104114 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36811 /* 104118 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36812 /* 104122 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36813 /* 104129 */ // (intrinsic_void 16439:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVES64 addr:{ *:[iPTR] }:$dst)
36814 /* 104129 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36815 /* 104133 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36816 /* 104139 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36817 /* 104143 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36818 /* 104147 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36819 /* 104153 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36820 /* 104157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVES64),
36821 /* 104160 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36822 /* 104164 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36823 /* 104168 */ GIR_RootConstrainSelectedInstOperands,
36824 /* 104169 */ // GIR_Coverage, 17153,
36825 /* 104169 */ GIR_EraseRootFromParent_Done,
36826 /* 104170 */ // Label 2805: @104170
36827 /* 104170 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2806*/ GIMT_Encode4(104248), GIMT_Encode2(GIFBS_HasXSAVES), // Rule ID 17154 //
36828 /* 104177 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstors),
36829 /* 104182 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36830 /* 104185 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36831 /* 104188 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36832 /* 104192 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36833 /* 104196 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36834 /* 104200 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36835 /* 104207 */ // (intrinsic_void 16430:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTORS addr:{ *:[iPTR] }:$dst)
36836 /* 104207 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36837 /* 104211 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36838 /* 104217 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36839 /* 104221 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36840 /* 104225 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36841 /* 104231 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36842 /* 104235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTORS),
36843 /* 104238 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36844 /* 104242 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36845 /* 104246 */ GIR_RootConstrainSelectedInstOperands,
36846 /* 104247 */ // GIR_Coverage, 17154,
36847 /* 104247 */ GIR_EraseRootFromParent_Done,
36848 /* 104248 */ // Label 2806: @104248
36849 /* 104248 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2807*/ GIMT_Encode4(104326), GIMT_Encode2(GIFBS_HasXSAVES_In64BitMode), // Rule ID 17155 //
36850 /* 104255 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstors64),
36851 /* 104260 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36852 /* 104263 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
36853 /* 104266 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36854 /* 104270 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
36855 /* 104274 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36856 /* 104278 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36857 /* 104285 */ // (intrinsic_void 16431:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTORS64 addr:{ *:[iPTR] }:$dst)
36858 /* 104285 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36859 /* 104289 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36860 /* 104295 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
36861 /* 104299 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36862 /* 104303 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36863 /* 104309 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
36864 /* 104313 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTORS64),
36865 /* 104316 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36866 /* 104320 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36867 /* 104324 */ GIR_RootConstrainSelectedInstOperands,
36868 /* 104325 */ // GIR_Coverage, 17155,
36869 /* 104325 */ GIR_EraseRootFromParent_Done,
36870 /* 104326 */ // Label 2807: @104326
36871 /* 104326 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2808*/ GIMT_Encode4(104362), GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode), // Rule ID 17061 //
36872 /* 104333 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbssd),
36873 /* 104338 */ // MIs[0] src1
36874 /* 104338 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36875 /* 104341 */ // MIs[0] src2
36876 /* 104341 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36877 /* 104344 */ // MIs[0] src3
36878 /* 104344 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36879 /* 104347 */ // (intrinsic_void 16293:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBSSD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
36880 /* 104347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBSSD),
36881 /* 104350 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36882 /* 104352 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36883 /* 104354 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
36884 /* 104356 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36885 /* 104360 */ GIR_RootConstrainSelectedInstOperands,
36886 /* 104361 */ // GIR_Coverage, 17061,
36887 /* 104361 */ GIR_EraseRootFromParent_Done,
36888 /* 104362 */ // Label 2808: @104362
36889 /* 104362 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2809*/ GIMT_Encode4(104398), GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode), // Rule ID 17062 //
36890 /* 104369 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbsud),
36891 /* 104374 */ // MIs[0] src1
36892 /* 104374 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36893 /* 104377 */ // MIs[0] src2
36894 /* 104377 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36895 /* 104380 */ // MIs[0] src3
36896 /* 104380 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36897 /* 104383 */ // (intrinsic_void 16295:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBSUD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
36898 /* 104383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBSUD),
36899 /* 104386 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36900 /* 104388 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36901 /* 104390 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
36902 /* 104392 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36903 /* 104396 */ GIR_RootConstrainSelectedInstOperands,
36904 /* 104397 */ // GIR_Coverage, 17062,
36905 /* 104397 */ GIR_EraseRootFromParent_Done,
36906 /* 104398 */ // Label 2809: @104398
36907 /* 104398 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2810*/ GIMT_Encode4(104434), GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode), // Rule ID 17063 //
36908 /* 104405 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbusd),
36909 /* 104410 */ // MIs[0] src1
36910 /* 104410 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36911 /* 104413 */ // MIs[0] src2
36912 /* 104413 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36913 /* 104416 */ // MIs[0] src3
36914 /* 104416 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36915 /* 104419 */ // (intrinsic_void 16297:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBUSD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
36916 /* 104419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBUSD),
36917 /* 104422 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36918 /* 104424 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36919 /* 104426 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
36920 /* 104428 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36921 /* 104432 */ GIR_RootConstrainSelectedInstOperands,
36922 /* 104433 */ // GIR_Coverage, 17063,
36923 /* 104433 */ GIR_EraseRootFromParent_Done,
36924 /* 104434 */ // Label 2810: @104434
36925 /* 104434 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2811*/ GIMT_Encode4(104470), GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode), // Rule ID 17064 //
36926 /* 104441 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbuud),
36927 /* 104446 */ // MIs[0] src1
36928 /* 104446 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36929 /* 104449 */ // MIs[0] src2
36930 /* 104449 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36931 /* 104452 */ // MIs[0] src3
36932 /* 104452 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36933 /* 104455 */ // (intrinsic_void 16299:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBUUD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
36934 /* 104455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBUUD),
36935 /* 104458 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36936 /* 104460 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36937 /* 104462 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
36938 /* 104464 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36939 /* 104468 */ GIR_RootConstrainSelectedInstOperands,
36940 /* 104469 */ // GIR_Coverage, 17064,
36941 /* 104469 */ GIR_EraseRootFromParent_Done,
36942 /* 104470 */ // Label 2811: @104470
36943 /* 104470 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2812*/ GIMT_Encode4(104506), GIMT_Encode2(GIFBS_HasAMXBF16_In64BitMode), // Rule ID 17066 //
36944 /* 104477 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbf16ps),
36945 /* 104482 */ // MIs[0] src1
36946 /* 104482 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36947 /* 104485 */ // MIs[0] src2
36948 /* 104485 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36949 /* 104488 */ // MIs[0] src3
36950 /* 104488 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36951 /* 104491 */ // (intrinsic_void 16287:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBF16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
36952 /* 104491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBF16PS),
36953 /* 104494 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36954 /* 104496 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36955 /* 104498 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
36956 /* 104500 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36957 /* 104504 */ GIR_RootConstrainSelectedInstOperands,
36958 /* 104505 */ // GIR_Coverage, 17066,
36959 /* 104505 */ GIR_EraseRootFromParent_Done,
36960 /* 104506 */ // Label 2812: @104506
36961 /* 104506 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2813*/ GIMT_Encode4(104542), GIMT_Encode2(GIFBS_HasAMXFP16_In64BitMode), // Rule ID 17068 //
36962 /* 104513 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpfp16ps),
36963 /* 104518 */ // MIs[0] src1
36964 /* 104518 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36965 /* 104521 */ // MIs[0] src2
36966 /* 104521 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36967 /* 104524 */ // MIs[0] src3
36968 /* 104524 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36969 /* 104527 */ // (intrinsic_void 16301:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
36970 /* 104527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPFP16PS),
36971 /* 104530 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36972 /* 104532 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36973 /* 104534 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
36974 /* 104536 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36975 /* 104540 */ GIR_RootConstrainSelectedInstOperands,
36976 /* 104541 */ // GIR_Coverage, 17068,
36977 /* 104541 */ GIR_EraseRootFromParent_Done,
36978 /* 104542 */ // Label 2813: @104542
36979 /* 104542 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2814*/ GIMT_Encode4(104578), GIMT_Encode2(GIFBS_HasAMXCOMPLEX_In64BitMode), // Rule ID 17071 //
36980 /* 104549 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tcmmimfp16ps),
36981 /* 104554 */ // MIs[0] src1
36982 /* 104554 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36983 /* 104557 */ // MIs[0] src2
36984 /* 104557 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36985 /* 104560 */ // MIs[0] src3
36986 /* 104560 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
36987 /* 104563 */ // (intrinsic_void 16268:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTCMMIMFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
36988 /* 104563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCMMIMFP16PS),
36989 /* 104566 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36990 /* 104568 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
36991 /* 104570 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
36992 /* 104572 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36993 /* 104576 */ GIR_RootConstrainSelectedInstOperands,
36994 /* 104577 */ // GIR_Coverage, 17071,
36995 /* 104577 */ GIR_EraseRootFromParent_Done,
36996 /* 104578 */ // Label 2814: @104578
36997 /* 104578 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2815*/ GIMT_Encode4(104614), GIMT_Encode2(GIFBS_HasAMXCOMPLEX_In64BitMode), // Rule ID 17072 //
36998 /* 104585 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tcmmrlfp16ps),
36999 /* 104590 */ // MIs[0] src1
37000 /* 104590 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37001 /* 104593 */ // MIs[0] src2
37002 /* 104593 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37003 /* 104596 */ // MIs[0] src3
37004 /* 104596 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37005 /* 104599 */ // (intrinsic_void 16270:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTCMMRLFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37006 /* 104599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCMMRLFP16PS),
37007 /* 104602 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37008 /* 104604 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37009 /* 104606 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37010 /* 104608 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37011 /* 104612 */ GIR_RootConstrainSelectedInstOperands,
37012 /* 104613 */ // GIR_Coverage, 17072,
37013 /* 104613 */ GIR_EraseRootFromParent_Done,
37014 /* 104614 */ // Label 2815: @104614
37015 /* 104614 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2816*/ GIMT_Encode4(104650), GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode), // Rule ID 17073 //
37016 /* 104621 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbf8ps),
37017 /* 104626 */ // MIs[0] src1
37018 /* 104626 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37019 /* 104629 */ // MIs[0] src2
37020 /* 104629 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37021 /* 104632 */ // MIs[0] src3
37022 /* 104632 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37023 /* 104635 */ // (intrinsic_void 16289:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37024 /* 104635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBF8PS),
37025 /* 104638 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37026 /* 104640 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37027 /* 104642 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37028 /* 104644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37029 /* 104648 */ GIR_RootConstrainSelectedInstOperands,
37030 /* 104649 */ // GIR_Coverage, 17073,
37031 /* 104649 */ GIR_EraseRootFromParent_Done,
37032 /* 104650 */ // Label 2816: @104650
37033 /* 104650 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2817*/ GIMT_Encode4(104686), GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode), // Rule ID 17074 //
37034 /* 104657 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbhf8ps),
37035 /* 104662 */ // MIs[0] src1
37036 /* 104662 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37037 /* 104665 */ // MIs[0] src2
37038 /* 104665 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37039 /* 104668 */ // MIs[0] src3
37040 /* 104668 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37041 /* 104671 */ // (intrinsic_void 16291:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBHF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37042 /* 104671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBHF8PS),
37043 /* 104674 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37044 /* 104676 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37045 /* 104678 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37046 /* 104680 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37047 /* 104684 */ GIR_RootConstrainSelectedInstOperands,
37048 /* 104685 */ // GIR_Coverage, 17074,
37049 /* 104685 */ GIR_EraseRootFromParent_Done,
37050 /* 104686 */ // Label 2817: @104686
37051 /* 104686 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2818*/ GIMT_Encode4(104722), GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode), // Rule ID 17075 //
37052 /* 104693 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdphbf8ps),
37053 /* 104698 */ // MIs[0] src1
37054 /* 104698 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37055 /* 104701 */ // MIs[0] src2
37056 /* 104701 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37057 /* 104704 */ // MIs[0] src3
37058 /* 104704 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37059 /* 104707 */ // (intrinsic_void 16303:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPHBF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37060 /* 104707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPHBF8PS),
37061 /* 104710 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37062 /* 104712 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37063 /* 104714 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37064 /* 104716 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37065 /* 104720 */ GIR_RootConstrainSelectedInstOperands,
37066 /* 104721 */ // GIR_Coverage, 17075,
37067 /* 104721 */ GIR_EraseRootFromParent_Done,
37068 /* 104722 */ // Label 2818: @104722
37069 /* 104722 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2819*/ GIMT_Encode4(104758), GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode), // Rule ID 17076 //
37070 /* 104729 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdphf8ps),
37071 /* 104734 */ // MIs[0] src1
37072 /* 104734 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37073 /* 104737 */ // MIs[0] src2
37074 /* 104737 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37075 /* 104740 */ // MIs[0] src3
37076 /* 104740 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37077 /* 104743 */ // (intrinsic_void 16305:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPHF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37078 /* 104743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPHF8PS),
37079 /* 104746 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37080 /* 104748 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37081 /* 104750 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37082 /* 104752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37083 /* 104756 */ GIR_RootConstrainSelectedInstOperands,
37084 /* 104757 */ // GIR_Coverage, 17076,
37085 /* 104757 */ GIR_EraseRootFromParent_Done,
37086 /* 104758 */ // Label 2819: @104758
37087 /* 104758 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2820*/ GIMT_Encode4(104798), GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode), // Rule ID 17081 //
37088 /* 104765 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowd2psi),
37089 /* 104770 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37090 /* 104773 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37091 /* 104777 */ // MIs[0] src1
37092 /* 104777 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37093 /* 104780 */ // MIs[0] src2
37094 /* 104780 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37095 /* 104783 */ // (intrinsic_w_chain:{ *:[v16f32] } 16274:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTCVTROWD2PSrti:{ *:[v16f32] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
37096 /* 104783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWD2PSrti),
37097 /* 104786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37098 /* 104788 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37099 /* 104790 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37100 /* 104792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37101 /* 104796 */ GIR_RootConstrainSelectedInstOperands,
37102 /* 104797 */ // GIR_Coverage, 17081,
37103 /* 104797 */ GIR_EraseRootFromParent_Done,
37104 /* 104798 */ // Label 2820: @104798
37105 /* 104798 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2821*/ GIMT_Encode4(104838), GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode), // Rule ID 17090 //
37106 /* 104805 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phhi),
37107 /* 104810 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
37108 /* 104813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37109 /* 104817 */ // MIs[0] src1
37110 /* 104817 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37111 /* 104820 */ // MIs[0] src2
37112 /* 104820 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37113 /* 104823 */ // (intrinsic_w_chain:{ *:[v32f16] } 16283:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTCVTROWPS2PHHrti:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
37114 /* 104823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHHrti),
37115 /* 104826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37116 /* 104828 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37117 /* 104830 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37118 /* 104832 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37119 /* 104836 */ GIR_RootConstrainSelectedInstOperands,
37120 /* 104837 */ // GIR_Coverage, 17090,
37121 /* 104837 */ GIR_EraseRootFromParent_Done,
37122 /* 104838 */ // Label 2821: @104838
37123 /* 104838 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2822*/ GIMT_Encode4(104878), GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode), // Rule ID 17092 //
37124 /* 104845 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phli),
37125 /* 104850 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
37126 /* 104853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37127 /* 104857 */ // MIs[0] src1
37128 /* 104857 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37129 /* 104860 */ // MIs[0] src2
37130 /* 104860 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37131 /* 104863 */ // (intrinsic_w_chain:{ *:[v32f16] } 16286:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTCVTROWPS2PHLrti:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
37132 /* 104863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHLrti),
37133 /* 104866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37134 /* 104868 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37135 /* 104870 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37136 /* 104872 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37137 /* 104876 */ GIR_RootConstrainSelectedInstOperands,
37138 /* 104877 */ // GIR_Coverage, 17092,
37139 /* 104877 */ GIR_EraseRootFromParent_Done,
37140 /* 104878 */ // Label 2822: @104878
37141 /* 104878 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2823*/ GIMT_Encode4(104918), GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode), // Rule ID 17093 //
37142 /* 104885 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tilemovrowi),
37143 /* 104890 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37144 /* 104893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37145 /* 104897 */ // MIs[0] src1
37146 /* 104897 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37147 /* 104900 */ // MIs[0] src2
37148 /* 104900 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37149 /* 104903 */ // (intrinsic_w_chain:{ *:[v16i32] } 16318:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTILEMOVROWrti:{ *:[v16i32] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
37150 /* 104903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEMOVROWrti),
37151 /* 104906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37152 /* 104908 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37153 /* 104910 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37154 /* 104912 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37155 /* 104916 */ GIR_RootConstrainSelectedInstOperands,
37156 /* 104917 */ // GIR_Coverage, 17093,
37157 /* 104917 */ GIR_EraseRootFromParent_Done,
37158 /* 104918 */ // Label 2823: @104918
37159 /* 104918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2824*/ GIMT_Encode4(104962), GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode), // Rule ID 17082 //
37160 /* 104925 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowd2ps),
37161 /* 104930 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37162 /* 104933 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37163 /* 104936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37164 /* 104940 */ // MIs[0] src1
37165 /* 104940 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37166 /* 104943 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37167 /* 104947 */ // (intrinsic_w_chain:{ *:[v16f32] } 16272:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWD2PSrte:{ *:[v16f32] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
37168 /* 104947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWD2PSrte),
37169 /* 104950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37170 /* 104952 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37171 /* 104954 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37172 /* 104956 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37173 /* 104960 */ GIR_RootConstrainSelectedInstOperands,
37174 /* 104961 */ // GIR_Coverage, 17082,
37175 /* 104961 */ GIR_EraseRootFromParent_Done,
37176 /* 104962 */ // Label 2824: @104962
37177 /* 104962 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2825*/ GIMT_Encode4(105006), GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode), // Rule ID 17089 //
37178 /* 104969 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phh),
37179 /* 104974 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
37180 /* 104977 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37181 /* 104980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37182 /* 104984 */ // MIs[0] src1
37183 /* 104984 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37184 /* 104987 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37185 /* 104991 */ // (intrinsic_w_chain:{ *:[v32f16] } 16281:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWPS2PHHrte:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
37186 /* 104991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHHrte),
37187 /* 104994 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37188 /* 104996 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37189 /* 104998 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37190 /* 105000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37191 /* 105004 */ GIR_RootConstrainSelectedInstOperands,
37192 /* 105005 */ // GIR_Coverage, 17089,
37193 /* 105005 */ GIR_EraseRootFromParent_Done,
37194 /* 105006 */ // Label 2825: @105006
37195 /* 105006 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2826*/ GIMT_Encode4(105050), GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode), // Rule ID 17091 //
37196 /* 105013 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phl),
37197 /* 105018 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
37198 /* 105021 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37199 /* 105024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37200 /* 105028 */ // MIs[0] src1
37201 /* 105028 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37202 /* 105031 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37203 /* 105035 */ // (intrinsic_w_chain:{ *:[v32f16] } 16284:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWPS2PHLrte:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
37204 /* 105035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHLrte),
37205 /* 105038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37206 /* 105040 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37207 /* 105042 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37208 /* 105044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37209 /* 105048 */ GIR_RootConstrainSelectedInstOperands,
37210 /* 105049 */ // GIR_Coverage, 17091,
37211 /* 105049 */ GIR_EraseRootFromParent_Done,
37212 /* 105050 */ // Label 2826: @105050
37213 /* 105050 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2827*/ GIMT_Encode4(105094), GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode), // Rule ID 17094 //
37214 /* 105057 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tilemovrow),
37215 /* 105062 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37216 /* 105065 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37217 /* 105068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37218 /* 105072 */ // MIs[0] src1
37219 /* 105072 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37220 /* 105075 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37221 /* 105079 */ // (intrinsic_w_chain:{ *:[v16i32] } 16316:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTILEMOVROWrte:{ *:[v16i32] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
37222 /* 105079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEMOVROWrte),
37223 /* 105082 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37224 /* 105084 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37225 /* 105086 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37226 /* 105088 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37227 /* 105092 */ GIR_RootConstrainSelectedInstOperands,
37228 /* 105093 */ // GIR_Coverage, 17094,
37229 /* 105093 */ GIR_EraseRootFromParent_Done,
37230 /* 105094 */ // Label 2827: @105094
37231 /* 105094 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2828*/ GIMT_Encode4(105138), GIMT_Encode2(GIFBS_HasLWP), // Rule ID 122 //
37232 /* 105101 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval32),
37233 /* 105106 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37234 /* 105109 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37235 /* 105112 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37236 /* 105116 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37237 /* 105120 */ // MIs[0] cntl
37238 /* 105120 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37239 /* 105123 */ // (intrinsic_void 15972:{ *:[iPTR] }, GR32:{ *:[i32] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl) => (LWPVAL32rri GR32:{ *:[i32] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl)
37240 /* 105123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL32rri),
37241 /* 105126 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
37242 /* 105128 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37243 /* 105130 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
37244 /* 105132 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37245 /* 105136 */ GIR_RootConstrainSelectedInstOperands,
37246 /* 105137 */ // GIR_Coverage, 122,
37247 /* 105137 */ GIR_EraseRootFromParent_Done,
37248 /* 105138 */ // Label 2828: @105138
37249 /* 105138 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2829*/ GIMT_Encode4(105182), GIMT_Encode2(GIFBS_HasLWP), // Rule ID 124 //
37250 /* 105145 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval64),
37251 /* 105150 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37252 /* 105153 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37253 /* 105156 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37254 /* 105160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37255 /* 105164 */ // MIs[0] cntl
37256 /* 105164 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37257 /* 105167 */ // (intrinsic_void 15973:{ *:[iPTR] }, GR64:{ *:[i64] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl) => (LWPVAL64rri GR64:{ *:[i64] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl)
37258 /* 105167 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL64rri),
37259 /* 105170 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
37260 /* 105172 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37261 /* 105174 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
37262 /* 105176 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37263 /* 105180 */ GIR_RootConstrainSelectedInstOperands,
37264 /* 105181 */ // GIR_Coverage, 124,
37265 /* 105181 */ GIR_EraseRootFromParent_Done,
37266 /* 105182 */ // Label 2829: @105182
37267 /* 105182 */ GIM_Try, /*On fail goto*//*Label 2830*/ GIMT_Encode4(105264), // Rule ID 17143 //
37268 /* 105187 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsetbv),
37269 /* 105192 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37270 /* 105195 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37271 /* 105198 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37272 /* 105201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32_ArgRef_and_GR32_CBRegClassID),
37273 /* 105205 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37274 /* 105209 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37275 /* 105213 */ // (intrinsic_void 16440:{ *:[iPTR] }, ECX:{ *:[i32] }, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSETBV)
37276 /* 105213 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37277 /* 105217 */ GIR_AddRegister, /*InsnID*/3, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37278 /* 105223 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37279 /* 105227 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37280 /* 105231 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37281 /* 105237 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37282 /* 105241 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37283 /* 105245 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::ECX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37284 /* 105251 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // ECX
37285 /* 105255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSETBV),
37286 /* 105258 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37287 /* 105262 */ GIR_RootConstrainSelectedInstOperands,
37288 /* 105263 */ // GIR_Coverage, 17143,
37289 /* 105263 */ GIR_EraseRootFromParent_Done,
37290 /* 105264 */ // Label 2830: @105264
37291 /* 105264 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2831*/ GIMT_Encode4(105312), GIMT_Encode2(GIFBS_HasMWAITX), // Rule ID 17332 //
37292 /* 105271 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_mwaitx),
37293 /* 105276 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37294 /* 105279 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37295 /* 105282 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37296 /* 105285 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37297 /* 105289 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37298 /* 105293 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37299 /* 105297 */ // (intrinsic_void 16050:{ *:[iPTR] }, GR32:{ *:[i32] }:$ecx, GR32:{ *:[i32] }:$eax, GR32:{ *:[i32] }:$ebx) => (MWAITX GR32:{ *:[i32] }:$ecx, GR32:{ *:[i32] }:$eax, GR32:{ *:[i32] }:$ebx)
37300 /* 105297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MWAITX),
37301 /* 105300 */ GIR_RootToRootCopy, /*OpIdx*/1, // ecx
37302 /* 105302 */ GIR_RootToRootCopy, /*OpIdx*/2, // eax
37303 /* 105304 */ GIR_RootToRootCopy, /*OpIdx*/3, // ebx
37304 /* 105306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37305 /* 105310 */ GIR_RootConstrainSelectedInstOperands,
37306 /* 105311 */ // GIR_Coverage, 17332,
37307 /* 105311 */ GIR_EraseRootFromParent_Done,
37308 /* 105312 */ // Label 2831: @105312
37309 /* 105312 */ GIM_Try, /*On fail goto*//*Label 2832*/ GIMT_Encode4(105505),
37310 /* 105317 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
37311 /* 105322 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
37312 /* 105325 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
37313 /* 105328 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37314 /* 105332 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37315 /* 105336 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2833*/ GIMT_Encode4(105378), GIMT_Encode2(GIFBS_HasAVX_In64BitMode), // Rule ID 2885 //
37316 /* 105343 */ // MIs[0] Operand 3
37317 /* 105343 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/64,
37318 /* 105347 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClassID),
37319 /* 105351 */ // (intrinsic_void 16148:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, RDI:{ *:[i64] }) => (VMASKMOVDQU64 VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
37320 /* 105351 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37321 /* 105355 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::RDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37322 /* 105361 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // RDI
37323 /* 105365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVDQU64),
37324 /* 105368 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37325 /* 105370 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
37326 /* 105372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37327 /* 105376 */ GIR_RootConstrainSelectedInstOperands,
37328 /* 105377 */ // GIR_Coverage, 2885,
37329 /* 105377 */ GIR_EraseRootFromParent_Done,
37330 /* 105378 */ // Label 2833: @105378
37331 /* 105378 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2834*/ GIMT_Encode4(105420), GIMT_Encode2(GIFBS_HasAVX), // Rule ID 2886 //
37332 /* 105385 */ // MIs[0] Operand 3
37333 /* 105385 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/32,
37334 /* 105389 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_DIBP_and_GR32_SIDIRegClassID),
37335 /* 105393 */ // (intrinsic_void 16148:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, EDI:{ *:[i32] }) => (VMASKMOVDQU VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
37336 /* 105393 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37337 /* 105397 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37338 /* 105403 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // EDI
37339 /* 105407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVDQU),
37340 /* 105410 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37341 /* 105412 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
37342 /* 105414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37343 /* 105418 */ GIR_RootConstrainSelectedInstOperands,
37344 /* 105419 */ // GIR_Coverage, 2886,
37345 /* 105419 */ GIR_EraseRootFromParent_Done,
37346 /* 105420 */ // Label 2834: @105420
37347 /* 105420 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2835*/ GIMT_Encode4(105462), GIMT_Encode2(GIFBS_In64BitMode_UseSSE2), // Rule ID 2887 //
37348 /* 105427 */ // MIs[0] Operand 3
37349 /* 105427 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/64,
37350 /* 105431 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClassID),
37351 /* 105435 */ // (intrinsic_void 16148:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, RDI:{ *:[i64] }) => (MASKMOVDQU64 VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
37352 /* 105435 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37353 /* 105439 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::RDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37354 /* 105445 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // RDI
37355 /* 105449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MASKMOVDQU64),
37356 /* 105452 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37357 /* 105454 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
37358 /* 105456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37359 /* 105460 */ GIR_RootConstrainSelectedInstOperands,
37360 /* 105461 */ // GIR_Coverage, 2887,
37361 /* 105461 */ GIR_EraseRootFromParent_Done,
37362 /* 105462 */ // Label 2835: @105462
37363 /* 105462 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2836*/ GIMT_Encode4(105504), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2888 //
37364 /* 105469 */ // MIs[0] Operand 3
37365 /* 105469 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/32,
37366 /* 105473 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_DIBP_and_GR32_SIDIRegClassID),
37367 /* 105477 */ // (intrinsic_void 16148:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, EDI:{ *:[i32] }) => (MASKMOVDQU VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
37368 /* 105477 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37369 /* 105481 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37370 /* 105487 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // EDI
37371 /* 105491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MASKMOVDQU),
37372 /* 105494 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37373 /* 105496 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
37374 /* 105498 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37375 /* 105502 */ GIR_RootConstrainSelectedInstOperands,
37376 /* 105503 */ // GIR_Coverage, 2888,
37377 /* 105503 */ GIR_EraseRootFromParent_Done,
37378 /* 105504 */ // Label 2836: @105504
37379 /* 105504 */ GIM_Reject,
37380 /* 105505 */ // Label 2832: @105505
37381 /* 105505 */ GIM_Reject,
37382 /* 105506 */ // Label 2777: @105506
37383 /* 105506 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2837*/ GIMT_Encode4(105593), GIMT_Encode2(GIFBS_HasKL), // Rule ID 17045 //
37384 /* 105513 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/5,
37385 /* 105516 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_loadiwkey),
37386 /* 105521 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
37387 /* 105524 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
37388 /* 105527 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
37389 /* 105530 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_s32,
37390 /* 105533 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37391 /* 105537 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37392 /* 105541 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37393 /* 105545 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37394 /* 105549 */ // (intrinsic_void 15969:{ *:[iPTR] }, XMM0:{ *:[v2i64] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2, EAX:{ *:[i32] }) => (LOADIWKEY:{ *:[i32] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
37395 /* 105549 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37396 /* 105553 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37397 /* 105559 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/4, // EAX
37398 /* 105563 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37399 /* 105567 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::XMM0), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37400 /* 105573 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // XMM0
37401 /* 105577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LOADIWKEY),
37402 /* 105580 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37403 /* 105582 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37404 /* 105584 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
37405 /* 105587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37406 /* 105591 */ GIR_RootConstrainSelectedInstOperands,
37407 /* 105592 */ // GIR_Coverage, 17045,
37408 /* 105592 */ GIR_EraseRootFromParent_Done,
37409 /* 105593 */ // Label 2837: @105593
37410 /* 105593 */ GIM_Reject,
37411 /* 105594 */ // Label 22: @105594
37412 /* 105594 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 2841*/ GIMT_Encode4(106050),
37413 /* 105605 */ /*GILLT_s16*//*Label 2838*/ GIMT_Encode4(105617),
37414 /* 105609 */ /*GILLT_s32*//*Label 2839*/ GIMT_Encode4(105675),
37415 /* 105613 */ /*GILLT_s64*//*Label 2840*/ GIMT_Encode4(105861),
37416 /* 105617 */ // Label 2838: @105617
37417 /* 105617 */ GIM_Try, /*On fail goto*//*Label 2842*/ GIMT_Encode4(105674), // Rule ID 22817 //
37418 /* 105622 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
37419 /* 105625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
37420 /* 105629 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
37421 /* 105633 */ // (anyext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
37422 /* 105633 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37423 /* 105636 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
37424 /* 105640 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37425 /* 105645 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
37426 /* 105649 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37427 /* 105651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37428 /* 105654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37429 /* 105656 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
37430 /* 105663 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
37431 /* 105668 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
37432 /* 105673 */ // GIR_Coverage, 22817,
37433 /* 105673 */ GIR_EraseRootFromParent_Done,
37434 /* 105674 */ // Label 2842: @105674
37435 /* 105674 */ GIM_Reject,
37436 /* 105675 */ // Label 2839: @105675
37437 /* 105675 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 2845*/ GIMT_Encode4(105860),
37438 /* 105686 */ /*GILLT_s8*//*Label 2843*/ GIMT_Encode4(105694),
37439 /* 105690 */ /*GILLT_s16*//*Label 2844*/ GIMT_Encode4(105760),
37440 /* 105694 */ // Label 2843: @105694
37441 /* 105694 */ GIM_Try, /*On fail goto*//*Label 2846*/ GIMT_Encode4(105759),
37442 /* 105699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37443 /* 105703 */ GIM_Try, /*On fail goto*//*Label 2847*/ GIMT_Encode4(105742), // Rule ID 19540 //
37444 /* 105708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
37445 /* 105712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
37446 /* 105716 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
37447 /* 105720 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
37448 /* 105725 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
37449 /* 105727 */ // (anyext:{ *:[i32] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (COPY_TO_REGCLASS:{ *:[i32] } VK8:{ *:[v8i1] }:$src, GR32:{ *:[i32] })
37450 /* 105727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37451 /* 105730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37452 /* 105732 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
37453 /* 105736 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
37454 /* 105741 */ // GIR_Coverage, 19540,
37455 /* 105741 */ GIR_EraseRootFromParent_Done,
37456 /* 105742 */ // Label 2847: @105742
37457 /* 105742 */ GIM_Try, /*On fail goto*//*Label 2848*/ GIMT_Encode4(105758), // Rule ID 22818 //
37458 /* 105747 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
37459 /* 105751 */ // (anyext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
37460 /* 105751 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
37461 /* 105756 */ GIR_RootConstrainSelectedInstOperands,
37462 /* 105757 */ // GIR_Coverage, 22818,
37463 /* 105757 */ GIR_Done,
37464 /* 105758 */ // Label 2848: @105758
37465 /* 105758 */ GIM_Reject,
37466 /* 105759 */ // Label 2846: @105759
37467 /* 105759 */ GIM_Reject,
37468 /* 105760 */ // Label 2844: @105760
37469 /* 105760 */ GIM_Try, /*On fail goto*//*Label 2849*/ GIMT_Encode4(105803), // Rule ID 19537 //
37470 /* 105765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37471 /* 105769 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
37472 /* 105773 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
37473 /* 105777 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
37474 /* 105781 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
37475 /* 105786 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
37476 /* 105788 */ // (anyext:{ *:[i32] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] })
37477 /* 105788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37478 /* 105791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37479 /* 105793 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
37480 /* 105797 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
37481 /* 105802 */ // GIR_Coverage, 19537,
37482 /* 105802 */ GIR_EraseRootFromParent_Done,
37483 /* 105803 */ // Label 2849: @105803
37484 /* 105803 */ GIM_Try, /*On fail goto*//*Label 2850*/ GIMT_Encode4(105859), // Rule ID 22819 //
37485 /* 105808 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
37486 /* 105812 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
37487 /* 105816 */ // (anyext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR16:{ *:[i16] }:$src, sub_16bit:{ *:[i32] })
37488 /* 105816 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37489 /* 105819 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
37490 /* 105823 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37491 /* 105828 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37492 /* 105830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
37493 /* 105833 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37494 /* 105835 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
37495 /* 105838 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37496 /* 105840 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
37497 /* 105843 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
37498 /* 105848 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
37499 /* 105853 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
37500 /* 105858 */ // GIR_Coverage, 22819,
37501 /* 105858 */ GIR_EraseRootFromParent_Done,
37502 /* 105859 */ // Label 2850: @105859
37503 /* 105859 */ GIM_Reject,
37504 /* 105860 */ // Label 2845: @105860
37505 /* 105860 */ GIM_Reject,
37506 /* 105861 */ // Label 2840: @105861
37507 /* 105861 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(1), GIMT_Encode2(4), /*)*//*default:*//*Label 2854*/ GIMT_Encode4(106049),
37508 /* 105872 */ /*GILLT_s8*//*Label 2851*/ GIMT_Encode4(105884),
37509 /* 105876 */ /*GILLT_s16*//*Label 2852*/ GIMT_Encode4(105938),
37510 /* 105880 */ /*GILLT_s32*//*Label 2853*/ GIMT_Encode4(105992),
37511 /* 105884 */ // Label 2851: @105884
37512 /* 105884 */ GIM_Try, /*On fail goto*//*Label 2855*/ GIMT_Encode4(105937), // Rule ID 22820 //
37513 /* 105889 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37514 /* 105893 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
37515 /* 105897 */ // (anyext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_32bit:{ *:[i32] })
37516 /* 105897 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37517 /* 105900 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
37518 /* 105904 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37519 /* 105909 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
37520 /* 105913 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37521 /* 105915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
37522 /* 105918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37523 /* 105920 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
37524 /* 105923 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
37525 /* 105926 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
37526 /* 105931 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
37527 /* 105936 */ // GIR_Coverage, 22820,
37528 /* 105936 */ GIR_EraseRootFromParent_Done,
37529 /* 105937 */ // Label 2855: @105937
37530 /* 105937 */ GIM_Reject,
37531 /* 105938 */ // Label 2852: @105938
37532 /* 105938 */ GIM_Try, /*On fail goto*//*Label 2856*/ GIMT_Encode4(105991), // Rule ID 22821 //
37533 /* 105943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37534 /* 105947 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
37535 /* 105951 */ // (anyext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src), sub_32bit:{ *:[i32] })
37536 /* 105951 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37537 /* 105954 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
37538 /* 105958 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37539 /* 105963 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
37540 /* 105967 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37541 /* 105969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
37542 /* 105972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37543 /* 105974 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
37544 /* 105977 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
37545 /* 105980 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
37546 /* 105985 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
37547 /* 105990 */ // GIR_Coverage, 22821,
37548 /* 105990 */ GIR_EraseRootFromParent_Done,
37549 /* 105991 */ // Label 2856: @105991
37550 /* 105991 */ GIM_Reject,
37551 /* 105992 */ // Label 2853: @105992
37552 /* 105992 */ GIM_Try, /*On fail goto*//*Label 2857*/ GIMT_Encode4(106048), // Rule ID 22822 //
37553 /* 105997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37554 /* 106001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37555 /* 106005 */ // (anyext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR32:{ *:[i32] }:$src, sub_32bit:{ *:[i32] })
37556 /* 106005 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
37557 /* 106008 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
37558 /* 106012 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37559 /* 106017 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37560 /* 106019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
37561 /* 106022 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37562 /* 106024 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
37563 /* 106027 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37564 /* 106029 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
37565 /* 106032 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
37566 /* 106037 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR64RegClassID),
37567 /* 106042 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
37568 /* 106047 */ // GIR_Coverage, 22822,
37569 /* 106047 */ GIR_EraseRootFromParent_Done,
37570 /* 106048 */ // Label 2857: @106048
37571 /* 106048 */ GIM_Reject,
37572 /* 106049 */ // Label 2854: @106049
37573 /* 106049 */ GIM_Reject,
37574 /* 106050 */ // Label 2841: @106050
37575 /* 106050 */ GIM_Reject,
37576 /* 106051 */ // Label 23: @106051
37577 /* 106051 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(21), /*)*//*default:*//*Label 2866*/ GIMT_Encode4(107166),
37578 /* 106062 */ /*GILLT_s8*//*Label 2858*/ GIMT_Encode4(106142),
37579 /* 106066 */ /*GILLT_s16*//*Label 2859*/ GIMT_Encode4(106428), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
37580 /* 106110 */ /*GILLT_v16s8*//*Label 2860*/ GIMT_Encode4(106467),
37581 /* 106114 */ /*GILLT_v32s8*//*Label 2861*/ GIMT_Encode4(106766), GIMT_Encode4(0),
37582 /* 106122 */ /*GILLT_v8s16*//*Label 2862*/ GIMT_Encode4(106792),
37583 /* 106126 */ /*GILLT_v16s16*//*Label 2863*/ GIMT_Encode4(106976), GIMT_Encode4(0),
37584 /* 106134 */ /*GILLT_v4s32*//*Label 2864*/ GIMT_Encode4(107002),
37585 /* 106138 */ /*GILLT_v8s32*//*Label 2865*/ GIMT_Encode4(107140),
37586 /* 106142 */ // Label 2858: @106142
37587 /* 106142 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(4), /*)*//*default:*//*Label 2869*/ GIMT_Encode4(106427),
37588 /* 106153 */ /*GILLT_s16*//*Label 2867*/ GIMT_Encode4(106161),
37589 /* 106157 */ /*GILLT_s32*//*Label 2868*/ GIMT_Encode4(106330),
37590 /* 106161 */ // Label 2867: @106161
37591 /* 106161 */ GIM_Try, /*On fail goto*//*Label 2870*/ GIMT_Encode4(106233), // Rule ID 19532 //
37592 /* 106166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
37593 /* 106170 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
37594 /* 106174 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
37595 /* 106178 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
37596 /* 106182 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
37597 /* 106187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
37598 /* 106189 */ // (trunc:{ *:[i8] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] }), sub_8bit:{ *:[i32] })
37599 /* 106189 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37600 /* 106192 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37601 /* 106196 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37602 /* 106201 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
37603 /* 106205 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
37604 /* 106210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37605 /* 106213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37606 /* 106215 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
37607 /* 106222 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
37608 /* 106227 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
37609 /* 106232 */ // GIR_Coverage, 19532,
37610 /* 106232 */ GIR_EraseRootFromParent_Done,
37611 /* 106233 */ // Label 2870: @106233
37612 /* 106233 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2871*/ GIMT_Encode4(106292), GIMT_Encode2(GIFBS_Not64BitMode), // Rule ID 22884 //
37613 /* 106240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
37614 /* 106244 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
37615 /* 106248 */ // (trunc:{ *:[i8] } GR16:{ *:[i16] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i16] } GR16:{ *:[i16] }:$src, GR16_ABCD:{ *:[i32] }), sub_8bit:{ *:[i32] })
37616 /* 106248 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
37617 /* 106251 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37618 /* 106255 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37619 /* 106260 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
37620 /* 106264 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16_ABCDRegClassID),
37621 /* 106269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37622 /* 106272 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37623 /* 106274 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
37624 /* 106281 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
37625 /* 106286 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16_ABCDRegClassID),
37626 /* 106291 */ // GIR_Coverage, 22884,
37627 /* 106291 */ GIR_EraseRootFromParent_Done,
37628 /* 106292 */ // Label 2871: @106292
37629 /* 106292 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2872*/ GIMT_Encode4(106329), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 22889 //
37630 /* 106299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
37631 /* 106303 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
37632 /* 106307 */ // (trunc:{ *:[i8] } GR16:{ *:[i16] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } GR16:{ *:[i16] }:$src, sub_8bit:{ *:[i32] })
37633 /* 106307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37634 /* 106310 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37635 /* 106312 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
37636 /* 106318 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
37637 /* 106323 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
37638 /* 106328 */ // GIR_Coverage, 22889,
37639 /* 106328 */ GIR_EraseRootFromParent_Done,
37640 /* 106329 */ // Label 2872: @106329
37641 /* 106329 */ GIM_Reject,
37642 /* 106330 */ // Label 2868: @106330
37643 /* 106330 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2873*/ GIMT_Encode4(106389), GIMT_Encode2(GIFBS_Not64BitMode), // Rule ID 22883 //
37644 /* 106337 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
37645 /* 106341 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37646 /* 106345 */ // (trunc:{ *:[i8] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } GR32:{ *:[i32] }:$src, GR32_ABCD:{ *:[i32] }), sub_8bit:{ *:[i32] })
37647 /* 106345 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37648 /* 106348 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37649 /* 106352 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37650 /* 106357 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
37651 /* 106361 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32_ABCDRegClassID),
37652 /* 106366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37653 /* 106369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37654 /* 106371 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
37655 /* 106378 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
37656 /* 106383 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32_ABCDRegClassID),
37657 /* 106388 */ // GIR_Coverage, 22883,
37658 /* 106388 */ GIR_EraseRootFromParent_Done,
37659 /* 106389 */ // Label 2873: @106389
37660 /* 106389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2874*/ GIMT_Encode4(106426), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 22888 //
37661 /* 106396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
37662 /* 106400 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37663 /* 106404 */ // (trunc:{ *:[i8] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src, sub_8bit:{ *:[i32] })
37664 /* 106404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37665 /* 106407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37666 /* 106409 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
37667 /* 106415 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
37668 /* 106420 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
37669 /* 106425 */ // GIR_Coverage, 22888,
37670 /* 106425 */ GIR_EraseRootFromParent_Done,
37671 /* 106426 */ // Label 2874: @106426
37672 /* 106426 */ GIM_Reject,
37673 /* 106427 */ // Label 2869: @106427
37674 /* 106427 */ GIM_Reject,
37675 /* 106428 */ // Label 2859: @106428
37676 /* 106428 */ GIM_Try, /*On fail goto*//*Label 2875*/ GIMT_Encode4(106466), // Rule ID 22882 //
37677 /* 106433 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37678 /* 106436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
37679 /* 106440 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37680 /* 106444 */ // (trunc:{ *:[i16] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src, sub_16bit:{ *:[i32] })
37681 /* 106444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37682 /* 106447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37683 /* 106449 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src
37684 /* 106455 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
37685 /* 106460 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
37686 /* 106465 */ // GIR_Coverage, 22882,
37687 /* 106465 */ GIR_EraseRootFromParent_Done,
37688 /* 106466 */ // Label 2875: @106466
37689 /* 106466 */ GIM_Reject,
37690 /* 106467 */ // Label 2860: @106467
37691 /* 106467 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(17), GIMT_Encode2(22), /*)*//*default:*//*Label 2878*/ GIMT_Encode4(106765),
37692 /* 106478 */ /*GILLT_v16s16*//*Label 2876*/ GIMT_Encode4(106498), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
37693 /* 106494 */ /*GILLT_v16s32*//*Label 2877*/ GIMT_Encode4(106742),
37694 /* 106498 */ // Label 2876: @106498
37695 /* 106498 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2879*/ GIMT_Encode4(106570), GIMT_Encode2(GIFBS_HasAVX512_NoBWI), // Rule ID 21798 //
37696 /* 106505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37697 /* 106509 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
37698 /* 106513 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
37699 /* 106517 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
37700 /* 106520 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
37701 /* 106524 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
37702 /* 106528 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
37703 /* 106530 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37704 /* 106537 */ // (trunc:{ *:[v16i8] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVZXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src))
37705 /* 106537 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
37706 /* 106540 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrm),
37707 /* 106544 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37708 /* 106549 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
37709 /* 106553 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
37710 /* 106558 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37711 /* 106560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
37712 /* 106563 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37713 /* 106565 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
37714 /* 106568 */ GIR_RootConstrainSelectedInstOperands,
37715 /* 106569 */ // GIR_Coverage, 21798,
37716 /* 106569 */ GIR_EraseRootFromParent_Done,
37717 /* 106570 */ // Label 2879: @106570
37718 /* 106570 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2880*/ GIMT_Encode4(106592), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12344 //
37719 /* 106577 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37720 /* 106581 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37721 /* 106585 */ // (trunc:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src) => (VPMOVWBZ256rr:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src)
37722 /* 106585 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZ256rr),
37723 /* 106590 */ GIR_RootConstrainSelectedInstOperands,
37724 /* 106591 */ // GIR_Coverage, 12344,
37725 /* 106591 */ GIR_Done,
37726 /* 106592 */ // Label 2880: @106592
37727 /* 106592 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2881*/ GIMT_Encode4(106698), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 21706 //
37728 /* 106599 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
37729 /* 106603 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37730 /* 106607 */ // (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] })
37731 /* 106607 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
37732 /* 106610 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
37733 /* 106614 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37734 /* 106619 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
37735 /* 106621 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
37736 /* 106624 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
37737 /* 106628 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37738 /* 106633 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
37739 /* 106636 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
37740 /* 106640 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
37741 /* 106643 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
37742 /* 106648 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
37743 /* 106653 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
37744 /* 106658 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
37745 /* 106661 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZrr),
37746 /* 106665 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37747 /* 106670 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
37748 /* 106673 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37749 /* 106675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37750 /* 106678 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37751 /* 106680 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
37752 /* 106687 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
37753 /* 106692 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
37754 /* 106697 */ // GIR_Coverage, 21706,
37755 /* 106697 */ GIR_EraseRootFromParent_Done,
37756 /* 106698 */ // Label 2881: @106698
37757 /* 106698 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2882*/ GIMT_Encode4(106741), GIMT_Encode2(GIFBS_HasAVX512_NoBWI), // Rule ID 21797 //
37758 /* 106705 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37759 /* 106709 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37760 /* 106713 */ // (trunc:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVZXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src))
37761 /* 106713 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
37762 /* 106716 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrr),
37763 /* 106720 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37764 /* 106725 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
37765 /* 106729 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37766 /* 106731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
37767 /* 106734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37768 /* 106736 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
37769 /* 106739 */ GIR_RootConstrainSelectedInstOperands,
37770 /* 106740 */ // GIR_Coverage, 21797,
37771 /* 106740 */ GIR_EraseRootFromParent_Done,
37772 /* 106741 */ // Label 2882: @106741
37773 /* 106741 */ GIM_Reject,
37774 /* 106742 */ // Label 2877: @106742
37775 /* 106742 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2883*/ GIMT_Encode4(106764), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12293 //
37776 /* 106749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37777 /* 106753 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37778 /* 106757 */ // (trunc:{ *:[v16i8] } VR512:{ *:[v16i32] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } VR512:{ *:[v16i32] }:$src)
37779 /* 106757 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
37780 /* 106762 */ GIR_RootConstrainSelectedInstOperands,
37781 /* 106763 */ // GIR_Coverage, 12293,
37782 /* 106763 */ GIR_Done,
37783 /* 106764 */ // Label 2883: @106764
37784 /* 106764 */ GIM_Reject,
37785 /* 106765 */ // Label 2878: @106765
37786 /* 106765 */ GIM_Reject,
37787 /* 106766 */ // Label 2861: @106766
37788 /* 106766 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2884*/ GIMT_Encode4(106791), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 12347 //
37789 /* 106773 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
37790 /* 106776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37791 /* 106780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37792 /* 106784 */ // (trunc:{ *:[v32i8] } VR512:{ *:[v32i16] }:$src) => (VPMOVWBZrr:{ *:[v32i8] } VR512:{ *:[v32i16] }:$src)
37793 /* 106784 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZrr),
37794 /* 106789 */ GIR_RootConstrainSelectedInstOperands,
37795 /* 106790 */ // GIR_Coverage, 12347,
37796 /* 106790 */ GIR_Done,
37797 /* 106791 */ // Label 2884: @106791
37798 /* 106791 */ GIM_Reject,
37799 /* 106792 */ // Label 2862: @106792
37800 /* 106792 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 2887*/ GIMT_Encode4(106975),
37801 /* 106803 */ /*GILLT_v8s32*//*Label 2885*/ GIMT_Encode4(106823), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
37802 /* 106819 */ /*GILLT_v8s64*//*Label 2886*/ GIMT_Encode4(106952),
37803 /* 106823 */ // Label 2885: @106823
37804 /* 106823 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2888*/ GIMT_Encode4(106845), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 12317 //
37805 /* 106830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37806 /* 106834 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37807 /* 106838 */ // (trunc:{ *:[v8i16] } VR256X:{ *:[v8i32] }:$src) => (VPMOVDWZ256rr:{ *:[v8i16] } VR256X:{ *:[v8i32] }:$src)
37808 /* 106838 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZ256rr),
37809 /* 106843 */ GIR_RootConstrainSelectedInstOperands,
37810 /* 106844 */ // GIR_Coverage, 12317,
37811 /* 106844 */ GIR_Done,
37812 /* 106845 */ // Label 2888: @106845
37813 /* 106845 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2889*/ GIMT_Encode4(106951), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 21704 //
37814 /* 106852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
37815 /* 106856 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37816 /* 106860 */ // (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] })
37817 /* 106860 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
37818 /* 106863 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
37819 /* 106867 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37820 /* 106872 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
37821 /* 106874 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
37822 /* 106877 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
37823 /* 106881 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37824 /* 106886 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
37825 /* 106889 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
37826 /* 106893 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
37827 /* 106896 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
37828 /* 106901 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
37829 /* 106906 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
37830 /* 106911 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
37831 /* 106914 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
37832 /* 106918 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37833 /* 106923 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
37834 /* 106926 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37835 /* 106928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37836 /* 106931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37837 /* 106933 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
37838 /* 106940 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
37839 /* 106945 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
37840 /* 106950 */ // GIR_Coverage, 21704,
37841 /* 106950 */ GIR_EraseRootFromParent_Done,
37842 /* 106951 */ // Label 2889: @106951
37843 /* 106951 */ GIM_Reject,
37844 /* 106952 */ // Label 2886: @106952
37845 /* 106952 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2890*/ GIMT_Encode4(106974), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12239 //
37846 /* 106959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37847 /* 106963 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37848 /* 106967 */ // (trunc:{ *:[v8i16] } VR512:{ *:[v8i64] }:$src) => (VPMOVQWZrr:{ *:[v8i16] } VR512:{ *:[v8i64] }:$src)
37849 /* 106967 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQWZrr),
37850 /* 106972 */ GIR_RootConstrainSelectedInstOperands,
37851 /* 106973 */ // GIR_Coverage, 12239,
37852 /* 106973 */ GIR_Done,
37853 /* 106974 */ // Label 2890: @106974
37854 /* 106974 */ GIM_Reject,
37855 /* 106975 */ // Label 2887: @106975
37856 /* 106975 */ GIM_Reject,
37857 /* 106976 */ // Label 2863: @106976
37858 /* 106976 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2891*/ GIMT_Encode4(107001), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12320 //
37859 /* 106983 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
37860 /* 106986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37861 /* 106990 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37862 /* 106994 */ // (trunc:{ *:[v16i16] } VR512:{ *:[v16i32] }:$src) => (VPMOVDWZrr:{ *:[v16i16] } VR512:{ *:[v16i32] }:$src)
37863 /* 106994 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
37864 /* 106999 */ GIR_RootConstrainSelectedInstOperands,
37865 /* 107000 */ // GIR_Coverage, 12320,
37866 /* 107000 */ GIR_Done,
37867 /* 107001 */ // Label 2891: @107001
37868 /* 107001 */ GIM_Reject,
37869 /* 107002 */ // Label 2864: @107002
37870 /* 107002 */ GIM_Try, /*On fail goto*//*Label 2892*/ GIMT_Encode4(107139),
37871 /* 107007 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
37872 /* 107010 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2893*/ GIMT_Encode4(107032), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 12263 //
37873 /* 107017 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37874 /* 107021 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37875 /* 107025 */ // (trunc:{ *:[v4i32] } VR256X:{ *:[v4i64] }:$src) => (VPMOVQDZ256rr:{ *:[v4i32] } VR256X:{ *:[v4i64] }:$src)
37876 /* 107025 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZ256rr),
37877 /* 107030 */ GIR_RootConstrainSelectedInstOperands,
37878 /* 107031 */ // GIR_Coverage, 12263,
37879 /* 107031 */ GIR_Done,
37880 /* 107032 */ // Label 2893: @107032
37881 /* 107032 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2894*/ GIMT_Encode4(107138), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 21705 //
37882 /* 107039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
37883 /* 107043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37884 /* 107047 */ // (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] })
37885 /* 107047 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
37886 /* 107050 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
37887 /* 107054 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37888 /* 107059 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
37889 /* 107061 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
37890 /* 107064 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
37891 /* 107068 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37892 /* 107073 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
37893 /* 107076 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
37894 /* 107080 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
37895 /* 107083 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
37896 /* 107088 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
37897 /* 107093 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
37898 /* 107098 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
37899 /* 107101 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZrr),
37900 /* 107105 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37901 /* 107110 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
37902 /* 107113 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37903 /* 107115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37904 /* 107118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37905 /* 107120 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
37906 /* 107127 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
37907 /* 107132 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
37908 /* 107137 */ // GIR_Coverage, 21705,
37909 /* 107137 */ GIR_EraseRootFromParent_Done,
37910 /* 107138 */ // Label 2894: @107138
37911 /* 107138 */ GIM_Reject,
37912 /* 107139 */ // Label 2892: @107139
37913 /* 107139 */ GIM_Reject,
37914 /* 107140 */ // Label 2865: @107140
37915 /* 107140 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2895*/ GIMT_Encode4(107165), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12266 //
37916 /* 107147 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
37917 /* 107150 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37918 /* 107154 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37919 /* 107158 */ // (trunc:{ *:[v8i32] } VR512:{ *:[v8i64] }:$src) => (VPMOVQDZrr:{ *:[v8i32] } VR512:{ *:[v8i64] }:$src)
37920 /* 107158 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZrr),
37921 /* 107163 */ GIR_RootConstrainSelectedInstOperands,
37922 /* 107164 */ // GIR_Coverage, 12266,
37923 /* 107164 */ GIR_Done,
37924 /* 107165 */ // Label 2895: @107165
37925 /* 107165 */ GIM_Reject,
37926 /* 107166 */ // Label 2866: @107166
37927 /* 107166 */ GIM_Reject,
37928 /* 107167 */ // Label 24: @107167
37929 /* 107167 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2900*/ GIMT_Encode4(107761),
37930 /* 107178 */ /*GILLT_s8*//*Label 2896*/ GIMT_Encode4(107194),
37931 /* 107182 */ /*GILLT_s16*//*Label 2897*/ GIMT_Encode4(107276),
37932 /* 107186 */ /*GILLT_s32*//*Label 2898*/ GIMT_Encode4(107474),
37933 /* 107190 */ /*GILLT_s64*//*Label 2899*/ GIMT_Encode4(107611),
37934 /* 107194 */ // Label 2896: @107194
37935 /* 107194 */ GIM_Try, /*On fail goto*//*Label 2901*/ GIMT_Encode4(107275),
37936 /* 107199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
37937 /* 107203 */ GIM_Try, /*On fail goto*//*Label 2902*/ GIMT_Encode4(107259), // Rule ID 22584 //
37938 /* 107208 */ // MIs[0] Operand 1
37939 /* 107208 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
37940 /* 107219 */ // 0:{ *:[i8] } => (EXTRACT_SUBREG:{ *:[i8] } (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_8bit:{ *:[i32] })
37941 /* 107219 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37942 /* 107222 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
37943 /* 107226 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37944 /* 107231 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
37945 /* 107234 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37946 /* 107236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37947 /* 107239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37948 /* 107241 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
37949 /* 107248 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
37950 /* 107253 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
37951 /* 107258 */ // GIR_Coverage, 22584,
37952 /* 107258 */ GIR_EraseRootFromParent_Done,
37953 /* 107259 */ // Label 2902: @107259
37954 /* 107259 */ GIM_Try, /*On fail goto*//*Label 2903*/ GIMT_Encode4(107274), // Rule ID 19 //
37955 /* 107264 */ // MIs[0] Operand 1
37956 /* 107264 */ // No operand predicates
37957 /* 107264 */ // (imm:{ *:[i8] }):$src => (MOV8ri:{ *:[i8] } (imm:{ *:[i8] }):$src)
37958 /* 107264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8ri),
37959 /* 107267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37960 /* 107269 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
37961 /* 107272 */ GIR_RootConstrainSelectedInstOperands,
37962 /* 107273 */ // GIR_Coverage, 19,
37963 /* 107273 */ GIR_EraseRootFromParent_Done,
37964 /* 107274 */ // Label 2903: @107274
37965 /* 107274 */ GIM_Reject,
37966 /* 107275 */ // Label 2901: @107275
37967 /* 107275 */ GIM_Reject,
37968 /* 107276 */ // Label 2897: @107276
37969 /* 107276 */ GIM_Try, /*On fail goto*//*Label 2904*/ GIMT_Encode4(107473),
37970 /* 107281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
37971 /* 107285 */ GIM_Try, /*On fail goto*//*Label 2905*/ GIMT_Encode4(107341), // Rule ID 22585 //
37972 /* 107290 */ // MIs[0] Operand 1
37973 /* 107290 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
37974 /* 107301 */ // 0:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
37975 /* 107301 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37976 /* 107304 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
37977 /* 107308 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37978 /* 107313 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
37979 /* 107316 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37980 /* 107318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37981 /* 107321 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37982 /* 107323 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
37983 /* 107330 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
37984 /* 107335 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
37985 /* 107340 */ // GIR_Coverage, 22585,
37986 /* 107340 */ GIR_EraseRootFromParent_Done,
37987 /* 107341 */ // Label 2905: @107341
37988 /* 107341 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2906*/ GIMT_Encode4(107399), GIMT_Encode2(GIFBS_Not64BitMode_OptForSize), // Rule ID 22587 //
37989 /* 107348 */ // MIs[0] Operand 1
37990 /* 107348 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(1),
37991 /* 107359 */ // 1:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r1:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
37992 /* 107359 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
37993 /* 107362 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r1),
37994 /* 107366 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37995 /* 107371 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
37996 /* 107374 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
37997 /* 107376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37998 /* 107379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37999 /* 107381 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
38000 /* 107388 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38001 /* 107393 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38002 /* 107398 */ // GIR_Coverage, 22587,
38003 /* 107398 */ GIR_EraseRootFromParent_Done,
38004 /* 107399 */ // Label 2906: @107399
38005 /* 107399 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2907*/ GIMT_Encode4(107457), GIMT_Encode2(GIFBS_Not64BitMode_OptForSize), // Rule ID 22588 //
38006 /* 107406 */ // MIs[0] Operand 1
38007 /* 107406 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(18446744073709551615u),
38008 /* 107417 */ // -1:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r_1:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
38009 /* 107417 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38010 /* 107420 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r_1),
38011 /* 107424 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38012 /* 107429 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
38013 /* 107432 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38014 /* 107434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38015 /* 107437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38016 /* 107439 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
38017 /* 107446 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38018 /* 107451 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38019 /* 107456 */ // GIR_Coverage, 22588,
38020 /* 107456 */ GIR_EraseRootFromParent_Done,
38021 /* 107457 */ // Label 2907: @107457
38022 /* 107457 */ GIM_Try, /*On fail goto*//*Label 2908*/ GIMT_Encode4(107472), // Rule ID 20 //
38023 /* 107462 */ // MIs[0] Operand 1
38024 /* 107462 */ // No operand predicates
38025 /* 107462 */ // (imm:{ *:[i16] }):$src => (MOV16ri:{ *:[i16] } (imm:{ *:[i16] }):$src)
38026 /* 107462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16ri),
38027 /* 107465 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38028 /* 107467 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38029 /* 107470 */ GIR_RootConstrainSelectedInstOperands,
38030 /* 107471 */ // GIR_Coverage, 20,
38031 /* 107471 */ GIR_EraseRootFromParent_Done,
38032 /* 107472 */ // Label 2908: @107472
38033 /* 107472 */ GIM_Reject,
38034 /* 107473 */ // Label 2904: @107473
38035 /* 107473 */ GIM_Reject,
38036 /* 107474 */ // Label 2898: @107474
38037 /* 107474 */ GIM_Try, /*On fail goto*//*Label 2909*/ GIMT_Encode4(107566),
38038 /* 107479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38039 /* 107483 */ GIM_Try, /*On fail goto*//*Label 2910*/ GIMT_Encode4(107509), // Rule ID 17192 //
38040 /* 107488 */ // MIs[0] Operand 1
38041 /* 107488 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
38042 /* 107499 */ // 0:{ *:[i32] } => (MOV32r0:{ *:[i32] }:{ *:[i32] })
38043 /* 107499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
38044 /* 107502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38045 /* 107504 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
38046 /* 107507 */ GIR_RootConstrainSelectedInstOperands,
38047 /* 107508 */ // GIR_Coverage, 17192,
38048 /* 107508 */ GIR_EraseRootFromParent_Done,
38049 /* 107509 */ // Label 2910: @107509
38050 /* 107509 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2911*/ GIMT_Encode4(107537), GIMT_Encode2(GIFBS_Not64BitMode_OptForSize), // Rule ID 17193 //
38051 /* 107516 */ // MIs[0] Operand 1
38052 /* 107516 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(1),
38053 /* 107527 */ // 1:{ *:[i32] } => (MOV32r1:{ *:[i32] }:{ *:[i32] })
38054 /* 107527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r1),
38055 /* 107530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38056 /* 107532 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
38057 /* 107535 */ GIR_RootConstrainSelectedInstOperands,
38058 /* 107536 */ // GIR_Coverage, 17193,
38059 /* 107536 */ GIR_EraseRootFromParent_Done,
38060 /* 107537 */ // Label 2911: @107537
38061 /* 107537 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2912*/ GIMT_Encode4(107565), GIMT_Encode2(GIFBS_Not64BitMode_OptForSize), // Rule ID 17194 //
38062 /* 107544 */ // MIs[0] Operand 1
38063 /* 107544 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(18446744073709551615u),
38064 /* 107555 */ // -1:{ *:[i32] } => (MOV32r_1:{ *:[i32] }:{ *:[i32] })
38065 /* 107555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r_1),
38066 /* 107558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38067 /* 107560 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
38068 /* 107563 */ GIR_RootConstrainSelectedInstOperands,
38069 /* 107564 */ // GIR_Coverage, 17194,
38070 /* 107564 */ GIR_EraseRootFromParent_Done,
38071 /* 107565 */ // Label 2912: @107565
38072 /* 107565 */ GIM_Reject,
38073 /* 107566 */ // Label 2909: @107566
38074 /* 107566 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2913*/ GIMT_Encode4(107591), GIMT_Encode2(GIFBS_NotWin64WithoutFP_OptForMinSize), // Rule ID 17195 //
38075 /* 107573 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i32immSExt8),
38076 /* 107577 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38077 /* 107581 */ // MIs[0] Operand 1
38078 /* 107581 */ // No operand predicates
38079 /* 107581 */ // (imm:{ *:[i32] })<<P:Predicate_i32immSExt8>>:$src => (MOV32ImmSExti8:{ *:[i32] } (imm:{ *:[i32] }):$src)
38080 /* 107581 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ImmSExti8),
38081 /* 107584 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38082 /* 107586 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38083 /* 107589 */ GIR_RootConstrainSelectedInstOperands,
38084 /* 107590 */ // GIR_Coverage, 17195,
38085 /* 107590 */ GIR_EraseRootFromParent_Done,
38086 /* 107591 */ // Label 2913: @107591
38087 /* 107591 */ GIM_Try, /*On fail goto*//*Label 2914*/ GIMT_Encode4(107610), // Rule ID 21 //
38088 /* 107596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38089 /* 107600 */ // MIs[0] Operand 1
38090 /* 107600 */ // No operand predicates
38091 /* 107600 */ // (imm:{ *:[i32] }):$src => (MOV32ri:{ *:[i32] } (imm:{ *:[i32] }):$src)
38092 /* 107600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ri),
38093 /* 107603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38094 /* 107605 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38095 /* 107608 */ GIR_RootConstrainSelectedInstOperands,
38096 /* 107609 */ // GIR_Coverage, 21,
38097 /* 107609 */ GIR_EraseRootFromParent_Done,
38098 /* 107610 */ // Label 2914: @107610
38099 /* 107610 */ GIM_Reject,
38100 /* 107611 */ // Label 2899: @107611
38101 /* 107611 */ GIM_Try, /*On fail goto*//*Label 2915*/ GIMT_Encode4(107670), // Rule ID 22586 //
38102 /* 107616 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38103 /* 107620 */ // MIs[0] Operand 1
38104 /* 107620 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
38105 /* 107631 */ // 0:{ *:[i64] } => (SUBREG_TO_REG:{ *:[i64] } (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_32bit:{ *:[i32] })
38106 /* 107631 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38107 /* 107634 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
38108 /* 107638 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38109 /* 107643 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
38110 /* 107646 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38111 /* 107648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
38112 /* 107651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38113 /* 107653 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38114 /* 107656 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
38115 /* 107659 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
38116 /* 107664 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38117 /* 107669 */ // GIR_Coverage, 22586,
38118 /* 107669 */ GIR_EraseRootFromParent_Done,
38119 /* 107670 */ // Label 2915: @107670
38120 /* 107670 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2916*/ GIMT_Encode4(107695), GIMT_Encode2(GIFBS_NotWin64WithoutFP_OptForMinSize), // Rule ID 17196 //
38121 /* 107677 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt8),
38122 /* 107681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38123 /* 107685 */ // MIs[0] Operand 1
38124 /* 107685 */ // No operand predicates
38125 /* 107685 */ // (imm:{ *:[i64] })<<P:Predicate_i64immSExt8>>:$src => (MOV64ImmSExti8:{ *:[i64] } (imm:{ *:[i64] }):$src)
38126 /* 107685 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ImmSExti8),
38127 /* 107688 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38128 /* 107690 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38129 /* 107693 */ GIR_RootConstrainSelectedInstOperands,
38130 /* 107694 */ // GIR_Coverage, 17196,
38131 /* 107694 */ GIR_EraseRootFromParent_Done,
38132 /* 107695 */ // Label 2916: @107695
38133 /* 107695 */ GIM_Try, /*On fail goto*//*Label 2917*/ GIMT_Encode4(107718), // Rule ID 17197 //
38134 /* 107700 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immZExt32),
38135 /* 107704 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38136 /* 107708 */ // MIs[0] Operand 1
38137 /* 107708 */ // No operand predicates
38138 /* 107708 */ // (imm:{ *:[i64] })<<P:Predicate_i64immZExt32>>:$src => (MOV32ri64:{ *:[i64] } (imm:{ *:[i64] }):$src)
38139 /* 107708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ri64),
38140 /* 107711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38141 /* 107713 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38142 /* 107716 */ GIR_RootConstrainSelectedInstOperands,
38143 /* 107717 */ // GIR_Coverage, 17197,
38144 /* 107717 */ GIR_EraseRootFromParent_Done,
38145 /* 107718 */ // Label 2917: @107718
38146 /* 107718 */ GIM_Try, /*On fail goto*//*Label 2918*/ GIMT_Encode4(107741), // Rule ID 22 //
38147 /* 107723 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
38148 /* 107727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38149 /* 107731 */ // MIs[0] Operand 1
38150 /* 107731 */ // No operand predicates
38151 /* 107731 */ // (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src => (MOV64ri32:{ *:[i64] } (imm:{ *:[i64] }):$src)
38152 /* 107731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ri32),
38153 /* 107734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38154 /* 107736 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38155 /* 107739 */ GIR_RootConstrainSelectedInstOperands,
38156 /* 107740 */ // GIR_Coverage, 22,
38157 /* 107740 */ GIR_EraseRootFromParent_Done,
38158 /* 107741 */ // Label 2918: @107741
38159 /* 107741 */ GIM_Try, /*On fail goto*//*Label 2919*/ GIMT_Encode4(107760), // Rule ID 23 //
38160 /* 107746 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38161 /* 107750 */ // MIs[0] Operand 1
38162 /* 107750 */ // No operand predicates
38163 /* 107750 */ // (imm:{ *:[i64] }):$src => (MOV64ri:{ *:[i64] } (imm:{ *:[i64] }):$src)
38164 /* 107750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ri),
38165 /* 107753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38166 /* 107755 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38167 /* 107758 */ GIR_RootConstrainSelectedInstOperands,
38168 /* 107759 */ // GIR_Coverage, 23,
38169 /* 107759 */ GIR_EraseRootFromParent_Done,
38170 /* 107760 */ // Label 2919: @107760
38171 /* 107760 */ GIM_Reject,
38172 /* 107761 */ // Label 2900: @107761
38173 /* 107761 */ GIM_Reject,
38174 /* 107762 */ // Label 25: @107762
38175 /* 107762 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 2923*/ GIMT_Encode4(108204),
38176 /* 107773 */ /*GILLT_s32*//*Label 2920*/ GIMT_Encode4(107785),
38177 /* 107777 */ /*GILLT_s64*//*Label 2921*/ GIMT_Encode4(107926),
38178 /* 107781 */ /*GILLT_s80*//*Label 2922*/ GIMT_Encode4(108067),
38179 /* 107785 */ // Label 2920: @107785
38180 /* 107785 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2924*/ GIMT_Encode4(107810), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1092 //
38181 /* 107792 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
38182 /* 107796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
38183 /* 107800 */ // MIs[0] Operand 1
38184 /* 107800 */ // No operand predicates
38185 /* 107800 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimm0>> => (LD_Fp032:{ *:[f32] }:{ *:[i16] })
38186 /* 107800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp032),
38187 /* 107803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38188 /* 107805 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38189 /* 107808 */ GIR_RootConstrainSelectedInstOperands,
38190 /* 107809 */ // GIR_Coverage, 1092,
38191 /* 107809 */ GIR_EraseRootFromParent_Done,
38192 /* 107810 */ // Label 2924: @107810
38193 /* 107810 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2925*/ GIMT_Encode4(107835), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1093 //
38194 /* 107817 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
38195 /* 107821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
38196 /* 107825 */ // MIs[0] Operand 1
38197 /* 107825 */ // No operand predicates
38198 /* 107825 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimm1>> => (LD_Fp132:{ *:[f32] }:{ *:[i16] })
38199 /* 107825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp132),
38200 /* 107828 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38201 /* 107830 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38202 /* 107833 */ GIR_RootConstrainSelectedInstOperands,
38203 /* 107834 */ // GIR_Coverage, 1093,
38204 /* 107834 */ GIR_EraseRootFromParent_Done,
38205 /* 107835 */ // Label 2925: @107835
38206 /* 107835 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2926*/ GIMT_Encode4(107880), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 17777 //
38207 /* 107842 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
38208 /* 107846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
38209 /* 107850 */ // MIs[0] Operand 1
38210 /* 107850 */ // No operand predicates
38211 /* 107850 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimmneg0>> => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } (LD_Fp032:{ *:[f32] }:{ *:[i16] }))
38212 /* 107850 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38213 /* 107853 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp032),
38214 /* 107857 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38215 /* 107862 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38216 /* 107865 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38217 /* 107867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
38218 /* 107870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38219 /* 107872 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38220 /* 107875 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38221 /* 107878 */ GIR_RootConstrainSelectedInstOperands,
38222 /* 107879 */ // GIR_Coverage, 17777,
38223 /* 107879 */ GIR_EraseRootFromParent_Done,
38224 /* 107880 */ // Label 2926: @107880
38225 /* 107880 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2927*/ GIMT_Encode4(107925), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 17778 //
38226 /* 107887 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
38227 /* 107891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
38228 /* 107895 */ // MIs[0] Operand 1
38229 /* 107895 */ // No operand predicates
38230 /* 107895 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimmneg1>> => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } (LD_Fp132:{ *:[f32] }:{ *:[i16] }))
38231 /* 107895 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38232 /* 107898 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp132),
38233 /* 107902 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38234 /* 107907 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38235 /* 107910 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38236 /* 107912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
38237 /* 107915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38238 /* 107917 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38239 /* 107920 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38240 /* 107923 */ GIR_RootConstrainSelectedInstOperands,
38241 /* 107924 */ // GIR_Coverage, 17778,
38242 /* 107924 */ GIR_EraseRootFromParent_Done,
38243 /* 107925 */ // Label 2927: @107925
38244 /* 107925 */ GIM_Reject,
38245 /* 107926 */ // Label 2921: @107926
38246 /* 107926 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2928*/ GIMT_Encode4(107951), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1094 //
38247 /* 107933 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
38248 /* 107937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
38249 /* 107941 */ // MIs[0] Operand 1
38250 /* 107941 */ // No operand predicates
38251 /* 107941 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimm0>> => (LD_Fp064:{ *:[f64] }:{ *:[i16] })
38252 /* 107941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp064),
38253 /* 107944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38254 /* 107946 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38255 /* 107949 */ GIR_RootConstrainSelectedInstOperands,
38256 /* 107950 */ // GIR_Coverage, 1094,
38257 /* 107950 */ GIR_EraseRootFromParent_Done,
38258 /* 107951 */ // Label 2928: @107951
38259 /* 107951 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2929*/ GIMT_Encode4(107976), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1095 //
38260 /* 107958 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
38261 /* 107962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
38262 /* 107966 */ // MIs[0] Operand 1
38263 /* 107966 */ // No operand predicates
38264 /* 107966 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimm1>> => (LD_Fp164:{ *:[f64] }:{ *:[i16] })
38265 /* 107966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp164),
38266 /* 107969 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38267 /* 107971 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38268 /* 107974 */ GIR_RootConstrainSelectedInstOperands,
38269 /* 107975 */ // GIR_Coverage, 1095,
38270 /* 107975 */ GIR_EraseRootFromParent_Done,
38271 /* 107976 */ // Label 2929: @107976
38272 /* 107976 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2930*/ GIMT_Encode4(108021), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 17779 //
38273 /* 107983 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
38274 /* 107987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
38275 /* 107991 */ // MIs[0] Operand 1
38276 /* 107991 */ // No operand predicates
38277 /* 107991 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimmneg0>> => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } (LD_Fp064:{ *:[f64] }:{ *:[i16] }))
38278 /* 107991 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
38279 /* 107994 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp064),
38280 /* 107998 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38281 /* 108003 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38282 /* 108006 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38283 /* 108008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
38284 /* 108011 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38285 /* 108013 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38286 /* 108016 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38287 /* 108019 */ GIR_RootConstrainSelectedInstOperands,
38288 /* 108020 */ // GIR_Coverage, 17779,
38289 /* 108020 */ GIR_EraseRootFromParent_Done,
38290 /* 108021 */ // Label 2930: @108021
38291 /* 108021 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2931*/ GIMT_Encode4(108066), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 17780 //
38292 /* 108028 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
38293 /* 108032 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
38294 /* 108036 */ // MIs[0] Operand 1
38295 /* 108036 */ // No operand predicates
38296 /* 108036 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimmneg1>> => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } (LD_Fp164:{ *:[f64] }:{ *:[i16] }))
38297 /* 108036 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
38298 /* 108039 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp164),
38299 /* 108043 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38300 /* 108048 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38301 /* 108051 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38302 /* 108053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
38303 /* 108056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38304 /* 108058 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38305 /* 108061 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38306 /* 108064 */ GIR_RootConstrainSelectedInstOperands,
38307 /* 108065 */ // GIR_Coverage, 17780,
38308 /* 108065 */ GIR_EraseRootFromParent_Done,
38309 /* 108066 */ // Label 2931: @108066
38310 /* 108066 */ GIM_Reject,
38311 /* 108067 */ // Label 2922: @108067
38312 /* 108067 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2932*/ GIMT_Encode4(108092), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1096 //
38313 /* 108074 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
38314 /* 108078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
38315 /* 108082 */ // MIs[0] Operand 1
38316 /* 108082 */ // No operand predicates
38317 /* 108082 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimm0>> => (LD_Fp080:{ *:[f80] }:{ *:[i16] })
38318 /* 108082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp080),
38319 /* 108085 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38320 /* 108087 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38321 /* 108090 */ GIR_RootConstrainSelectedInstOperands,
38322 /* 108091 */ // GIR_Coverage, 1096,
38323 /* 108091 */ GIR_EraseRootFromParent_Done,
38324 /* 108092 */ // Label 2932: @108092
38325 /* 108092 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2933*/ GIMT_Encode4(108117), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1097 //
38326 /* 108099 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
38327 /* 108103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
38328 /* 108107 */ // MIs[0] Operand 1
38329 /* 108107 */ // No operand predicates
38330 /* 108107 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimm1>> => (LD_Fp180:{ *:[f80] }:{ *:[i16] })
38331 /* 108107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp180),
38332 /* 108110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38333 /* 108112 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38334 /* 108115 */ GIR_RootConstrainSelectedInstOperands,
38335 /* 108116 */ // GIR_Coverage, 1097,
38336 /* 108116 */ GIR_EraseRootFromParent_Done,
38337 /* 108117 */ // Label 2933: @108117
38338 /* 108117 */ GIM_Try, /*On fail goto*//*Label 2934*/ GIMT_Encode4(108160), // Rule ID 17781 //
38339 /* 108122 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
38340 /* 108126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
38341 /* 108130 */ // MIs[0] Operand 1
38342 /* 108130 */ // No operand predicates
38343 /* 108130 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimmneg0>> => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } (LD_Fp080:{ *:[f80] }:{ *:[i16] }))
38344 /* 108130 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s80,
38345 /* 108133 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp080),
38346 /* 108137 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38347 /* 108142 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38348 /* 108145 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38349 /* 108147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
38350 /* 108150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38351 /* 108152 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38352 /* 108155 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38353 /* 108158 */ GIR_RootConstrainSelectedInstOperands,
38354 /* 108159 */ // GIR_Coverage, 17781,
38355 /* 108159 */ GIR_EraseRootFromParent_Done,
38356 /* 108160 */ // Label 2934: @108160
38357 /* 108160 */ GIM_Try, /*On fail goto*//*Label 2935*/ GIMT_Encode4(108203), // Rule ID 17782 //
38358 /* 108165 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
38359 /* 108169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
38360 /* 108173 */ // MIs[0] Operand 1
38361 /* 108173 */ // No operand predicates
38362 /* 108173 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimmneg1>> => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } (LD_Fp180:{ *:[f80] }:{ *:[i16] }))
38363 /* 108173 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s80,
38364 /* 108176 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp180),
38365 /* 108180 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38366 /* 108185 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
38367 /* 108188 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38368 /* 108190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
38369 /* 108193 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38370 /* 108195 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38371 /* 108198 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
38372 /* 108201 */ GIR_RootConstrainSelectedInstOperands,
38373 /* 108202 */ // GIR_Coverage, 17782,
38374 /* 108202 */ GIR_EraseRootFromParent_Done,
38375 /* 108203 */ // Label 2935: @108203
38376 /* 108203 */ GIM_Reject,
38377 /* 108204 */ // Label 2923: @108204
38378 /* 108204 */ GIM_Reject,
38379 /* 108205 */ // Label 26: @108205
38380 /* 108205 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 2951*/ GIMT_Encode4(110069),
38381 /* 108216 */ /*GILLT_s16*//*Label 2936*/ GIMT_Encode4(108308),
38382 /* 108220 */ /*GILLT_s32*//*Label 2937*/ GIMT_Encode4(108366),
38383 /* 108224 */ /*GILLT_s64*//*Label 2938*/ GIMT_Encode4(108428), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
38384 /* 108260 */ /*GILLT_v16s8*//*Label 2939*/ GIMT_Encode4(108517),
38385 /* 108264 */ /*GILLT_v32s8*//*Label 2940*/ GIMT_Encode4(108584),
38386 /* 108268 */ /*GILLT_v64s8*//*Label 2941*/ GIMT_Encode4(108610),
38387 /* 108272 */ /*GILLT_v8s16*//*Label 2942*/ GIMT_Encode4(108636),
38388 /* 108276 */ /*GILLT_v16s16*//*Label 2943*/ GIMT_Encode4(108703),
38389 /* 108280 */ /*GILLT_v32s16*//*Label 2944*/ GIMT_Encode4(108952),
38390 /* 108284 */ /*GILLT_v4s32*//*Label 2945*/ GIMT_Encode4(109083),
38391 /* 108288 */ /*GILLT_v8s32*//*Label 2946*/ GIMT_Encode4(109109),
38392 /* 108292 */ /*GILLT_v16s32*//*Label 2947*/ GIMT_Encode4(109333),
38393 /* 108296 */ /*GILLT_v2s64*//*Label 2948*/ GIMT_Encode4(109560),
38394 /* 108300 */ /*GILLT_v4s64*//*Label 2949*/ GIMT_Encode4(109586),
38395 /* 108304 */ /*GILLT_v8s64*//*Label 2950*/ GIMT_Encode4(109826),
38396 /* 108308 */ // Label 2936: @108308
38397 /* 108308 */ GIM_Try, /*On fail goto*//*Label 2952*/ GIMT_Encode4(108365), // Rule ID 22878 //
38398 /* 108313 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
38399 /* 108316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38400 /* 108320 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38401 /* 108324 */ // (sext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVSX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
38402 /* 108324 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38403 /* 108327 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
38404 /* 108331 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38405 /* 108336 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38406 /* 108340 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38407 /* 108342 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38408 /* 108345 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38409 /* 108347 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
38410 /* 108354 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38411 /* 108359 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38412 /* 108364 */ // GIR_Coverage, 22878,
38413 /* 108364 */ GIR_EraseRootFromParent_Done,
38414 /* 108365 */ // Label 2952: @108365
38415 /* 108365 */ GIM_Reject,
38416 /* 108366 */ // Label 2937: @108366
38417 /* 108366 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 2955*/ GIMT_Encode4(108427),
38418 /* 108377 */ /*GILLT_s8*//*Label 2953*/ GIMT_Encode4(108385),
38419 /* 108381 */ /*GILLT_s16*//*Label 2954*/ GIMT_Encode4(108406),
38420 /* 108385 */ // Label 2953: @108385
38421 /* 108385 */ GIM_Try, /*On fail goto*//*Label 2956*/ GIMT_Encode4(108405), // Rule ID 589 //
38422 /* 108390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38423 /* 108394 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38424 /* 108398 */ // (sext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVSX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
38425 /* 108398 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
38426 /* 108403 */ GIR_RootConstrainSelectedInstOperands,
38427 /* 108404 */ // GIR_Coverage, 589,
38428 /* 108404 */ GIR_Done,
38429 /* 108405 */ // Label 2956: @108405
38430 /* 108405 */ GIM_Reject,
38431 /* 108406 */ // Label 2954: @108406
38432 /* 108406 */ GIM_Try, /*On fail goto*//*Label 2957*/ GIMT_Encode4(108426), // Rule ID 591 //
38433 /* 108411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38434 /* 108415 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38435 /* 108419 */ // (sext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (MOVSX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src)
38436 /* 108419 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr16),
38437 /* 108424 */ GIR_RootConstrainSelectedInstOperands,
38438 /* 108425 */ // GIR_Coverage, 591,
38439 /* 108425 */ GIR_Done,
38440 /* 108426 */ // Label 2957: @108426
38441 /* 108426 */ GIM_Reject,
38442 /* 108427 */ // Label 2955: @108427
38443 /* 108427 */ GIM_Reject,
38444 /* 108428 */ // Label 2938: @108428
38445 /* 108428 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(1), GIMT_Encode2(4), /*)*//*default:*//*Label 2961*/ GIMT_Encode4(108516),
38446 /* 108439 */ /*GILLT_s8*//*Label 2958*/ GIMT_Encode4(108451),
38447 /* 108443 */ /*GILLT_s16*//*Label 2959*/ GIMT_Encode4(108472),
38448 /* 108447 */ /*GILLT_s32*//*Label 2960*/ GIMT_Encode4(108493),
38449 /* 108451 */ // Label 2958: @108451
38450 /* 108451 */ GIM_Try, /*On fail goto*//*Label 2962*/ GIMT_Encode4(108471), // Rule ID 597 //
38451 /* 108456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38452 /* 108460 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38453 /* 108464 */ // (sext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (MOVSX64rr8:{ *:[i64] } GR8:{ *:[i8] }:$src)
38454 /* 108464 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr8),
38455 /* 108469 */ GIR_RootConstrainSelectedInstOperands,
38456 /* 108470 */ // GIR_Coverage, 597,
38457 /* 108470 */ GIR_Done,
38458 /* 108471 */ // Label 2962: @108471
38459 /* 108471 */ GIM_Reject,
38460 /* 108472 */ // Label 2959: @108472
38461 /* 108472 */ GIM_Try, /*On fail goto*//*Label 2963*/ GIMT_Encode4(108492), // Rule ID 599 //
38462 /* 108477 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38463 /* 108481 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38464 /* 108485 */ // (sext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (MOVSX64rr16:{ *:[i64] } GR16:{ *:[i16] }:$src)
38465 /* 108485 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr16),
38466 /* 108490 */ GIR_RootConstrainSelectedInstOperands,
38467 /* 108491 */ // GIR_Coverage, 599,
38468 /* 108491 */ GIR_Done,
38469 /* 108492 */ // Label 2963: @108492
38470 /* 108492 */ GIM_Reject,
38471 /* 108493 */ // Label 2960: @108493
38472 /* 108493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2964*/ GIMT_Encode4(108515), GIMT_Encode2(GIFBS_In64BitMode), // Rule ID 601 //
38473 /* 108500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38474 /* 108504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38475 /* 108508 */ // (sext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (MOVSX64rr32:{ *:[i64] } GR32:{ *:[i32] }:$src)
38476 /* 108508 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr32),
38477 /* 108513 */ GIR_RootConstrainSelectedInstOperands,
38478 /* 108514 */ // GIR_Coverage, 601,
38479 /* 108514 */ GIR_Done,
38480 /* 108515 */ // Label 2964: @108515
38481 /* 108515 */ GIM_Reject,
38482 /* 108516 */ // Label 2961: @108516
38483 /* 108516 */ GIM_Reject,
38484 /* 108517 */ // Label 2939: @108517
38485 /* 108517 */ GIM_Try, /*On fail goto*//*Label 2965*/ GIMT_Encode4(108583),
38486 /* 108522 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
38487 /* 108525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38488 /* 108529 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
38489 /* 108533 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2966*/ GIMT_Encode4(108547), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12586 //
38490 /* 108540 */ // (sext:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2BZ128rk:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src)
38491 /* 108540 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZ128rk),
38492 /* 108545 */ GIR_RootConstrainSelectedInstOperands,
38493 /* 108546 */ // GIR_Coverage, 12586,
38494 /* 108546 */ GIR_Done,
38495 /* 108547 */ // Label 2966: @108547
38496 /* 108547 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2967*/ GIMT_Encode4(108582), GIMT_Encode2(GIFBS_HasDQI_NoBWI), // Rule ID 21807 //
38497 /* 108554 */ // (sext:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src))
38498 /* 108554 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
38499 /* 108557 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
38500 /* 108561 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38501 /* 108566 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38502 /* 108570 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38503 /* 108572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
38504 /* 108575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38505 /* 108577 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38506 /* 108580 */ GIR_RootConstrainSelectedInstOperands,
38507 /* 108581 */ // GIR_Coverage, 21807,
38508 /* 108581 */ GIR_EraseRootFromParent_Done,
38509 /* 108582 */ // Label 2967: @108582
38510 /* 108582 */ GIM_Reject,
38511 /* 108583 */ // Label 2965: @108583
38512 /* 108583 */ GIM_Reject,
38513 /* 108584 */ // Label 2940: @108584
38514 /* 108584 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2968*/ GIMT_Encode4(108609), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12585 //
38515 /* 108591 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
38516 /* 108594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38517 /* 108598 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
38518 /* 108602 */ // (sext:{ *:[v32i8] } VK32:{ *:[v32i1] }:$src) => (VPMOVM2BZ256rk:{ *:[v32i8] } VK32:{ *:[v32i1] }:$src)
38519 /* 108602 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZ256rk),
38520 /* 108607 */ GIR_RootConstrainSelectedInstOperands,
38521 /* 108608 */ // GIR_Coverage, 12585,
38522 /* 108608 */ GIR_Done,
38523 /* 108609 */ // Label 2968: @108609
38524 /* 108609 */ GIM_Reject,
38525 /* 108610 */ // Label 2941: @108610
38526 /* 108610 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2969*/ GIMT_Encode4(108635), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 12584 //
38527 /* 108617 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
38528 /* 108620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38529 /* 108624 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
38530 /* 108628 */ // (sext:{ *:[v64i8] } VK64:{ *:[v64i1] }:$src) => (VPMOVM2BZrk:{ *:[v64i8] } VK64:{ *:[v64i1] }:$src)
38531 /* 108628 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZrk),
38532 /* 108633 */ GIR_RootConstrainSelectedInstOperands,
38533 /* 108634 */ // GIR_Coverage, 12584,
38534 /* 108634 */ GIR_Done,
38535 /* 108635 */ // Label 2969: @108635
38536 /* 108635 */ GIM_Reject,
38537 /* 108636 */ // Label 2942: @108636
38538 /* 108636 */ GIM_Try, /*On fail goto*//*Label 2970*/ GIMT_Encode4(108702),
38539 /* 108641 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
38540 /* 108644 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38541 /* 108648 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
38542 /* 108652 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2971*/ GIMT_Encode4(108666), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12589 //
38543 /* 108659 */ // (sext:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2WZ128rk:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src)
38544 /* 108659 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZ128rk),
38545 /* 108664 */ GIR_RootConstrainSelectedInstOperands,
38546 /* 108665 */ // GIR_Coverage, 12589,
38547 /* 108665 */ GIR_Done,
38548 /* 108666 */ // Label 2971: @108666
38549 /* 108666 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2972*/ GIMT_Encode4(108701), GIMT_Encode2(GIFBS_HasDQI_HasVLX_NoBWI), // Rule ID 21809 //
38550 /* 108673 */ // (sext:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src) => (VPMOVDWZ256rr:{ *:[v8i16] } (VPMOVM2DZ256rk:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src))
38551 /* 108673 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
38552 /* 108676 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ256rk),
38553 /* 108680 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38554 /* 108685 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38555 /* 108689 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38556 /* 108691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZ256rr),
38557 /* 108694 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38558 /* 108696 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38559 /* 108699 */ GIR_RootConstrainSelectedInstOperands,
38560 /* 108700 */ // GIR_Coverage, 21809,
38561 /* 108700 */ GIR_EraseRootFromParent_Done,
38562 /* 108701 */ // Label 2972: @108701
38563 /* 108701 */ GIM_Reject,
38564 /* 108702 */ // Label 2970: @108702
38565 /* 108702 */ GIM_Reject,
38566 /* 108703 */ // Label 2943: @108703
38567 /* 108703 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(10), GIMT_Encode2(14), /*)*//*default:*//*Label 2975*/ GIMT_Encode4(108951),
38568 /* 108714 */ /*GILLT_v16s1*//*Label 2973*/ GIMT_Encode4(108730), GIMT_Encode4(0), GIMT_Encode4(0),
38569 /* 108726 */ /*GILLT_v16s8*//*Label 2974*/ GIMT_Encode4(108794),
38570 /* 108730 */ // Label 2973: @108730
38571 /* 108730 */ GIM_Try, /*On fail goto*//*Label 2976*/ GIMT_Encode4(108793),
38572 /* 108735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38573 /* 108739 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
38574 /* 108743 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2977*/ GIMT_Encode4(108757), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12588 //
38575 /* 108750 */ // (sext:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2WZ256rk:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src)
38576 /* 108750 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZ256rk),
38577 /* 108755 */ GIR_RootConstrainSelectedInstOperands,
38578 /* 108756 */ // GIR_Coverage, 12588,
38579 /* 108756 */ GIR_Done,
38580 /* 108757 */ // Label 2977: @108757
38581 /* 108757 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2978*/ GIMT_Encode4(108792), GIMT_Encode2(GIFBS_HasDQI_NoBWI), // Rule ID 21808 //
38582 /* 108764 */ // (sext:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src) => (VPMOVDWZrr:{ *:[v16i16] } (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src))
38583 /* 108764 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
38584 /* 108767 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
38585 /* 108771 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38586 /* 108776 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38587 /* 108780 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38588 /* 108782 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
38589 /* 108785 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38590 /* 108787 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38591 /* 108790 */ GIR_RootConstrainSelectedInstOperands,
38592 /* 108791 */ // GIR_Coverage, 21808,
38593 /* 108791 */ GIR_EraseRootFromParent_Done,
38594 /* 108792 */ // Label 2978: @108792
38595 /* 108792 */ GIM_Reject,
38596 /* 108793 */ // Label 2976: @108793
38597 /* 108793 */ GIM_Reject,
38598 /* 108794 */ // Label 2974: @108794
38599 /* 108794 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2979*/ GIMT_Encode4(108849), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 18479 //
38600 /* 108801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38601 /* 108805 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38602 /* 108809 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38603 /* 108813 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38604 /* 108816 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38605 /* 108820 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38606 /* 108824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38607 /* 108826 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38608 /* 108833 */ // (sext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
38609 /* 108833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWYrm),
38610 /* 108836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38611 /* 108838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38612 /* 108842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38613 /* 108847 */ GIR_RootConstrainSelectedInstOperands,
38614 /* 108848 */ // GIR_Coverage, 18479,
38615 /* 108848 */ GIR_EraseRootFromParent_Done,
38616 /* 108849 */ // Label 2979: @108849
38617 /* 108849 */ GIM_Try, /*On fail goto*//*Label 2980*/ GIMT_Encode4(108928),
38618 /* 108854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38619 /* 108858 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2981*/ GIMT_Encode4(108909), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 21731 //
38620 /* 108865 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38621 /* 108869 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38622 /* 108873 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38623 /* 108876 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38624 /* 108880 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38625 /* 108884 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38626 /* 108886 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38627 /* 108893 */ // (sext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
38628 /* 108893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZ256rm),
38629 /* 108896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38630 /* 108898 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38631 /* 108902 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38632 /* 108907 */ GIR_RootConstrainSelectedInstOperands,
38633 /* 108908 */ // GIR_Coverage, 21731,
38634 /* 108908 */ GIR_EraseRootFromParent_Done,
38635 /* 108909 */ // Label 2981: @108909
38636 /* 108909 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2982*/ GIMT_Encode4(108927), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12482 //
38637 /* 108916 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38638 /* 108920 */ // (sext:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src) => (VPMOVSXBWZ256rr:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src)
38639 /* 108920 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZ256rr),
38640 /* 108925 */ GIR_RootConstrainSelectedInstOperands,
38641 /* 108926 */ // GIR_Coverage, 12482,
38642 /* 108926 */ GIR_Done,
38643 /* 108927 */ // Label 2982: @108927
38644 /* 108927 */ GIM_Reject,
38645 /* 108928 */ // Label 2980: @108928
38646 /* 108928 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2983*/ GIMT_Encode4(108950), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 18472 //
38647 /* 108935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38648 /* 108939 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38649 /* 108943 */ // (sext:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src) => (VPMOVSXBWYrr:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src)
38650 /* 108943 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWYrr),
38651 /* 108948 */ GIR_RootConstrainSelectedInstOperands,
38652 /* 108949 */ // GIR_Coverage, 18472,
38653 /* 108949 */ GIR_Done,
38654 /* 108950 */ // Label 2983: @108950
38655 /* 108950 */ GIM_Reject,
38656 /* 108951 */ // Label 2975: @108951
38657 /* 108951 */ GIM_Reject,
38658 /* 108952 */ // Label 2944: @108952
38659 /* 108952 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(11), GIMT_Encode2(15), /*)*//*default:*//*Label 2986*/ GIMT_Encode4(109082),
38660 /* 108963 */ /*GILLT_v32s1*//*Label 2984*/ GIMT_Encode4(108979), GIMT_Encode4(0), GIMT_Encode4(0),
38661 /* 108975 */ /*GILLT_v32s8*//*Label 2985*/ GIMT_Encode4(109002),
38662 /* 108979 */ // Label 2984: @108979
38663 /* 108979 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2987*/ GIMT_Encode4(109001), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 12587 //
38664 /* 108986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38665 /* 108990 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
38666 /* 108994 */ // (sext:{ *:[v32i16] } VK32:{ *:[v32i1] }:$src) => (VPMOVM2WZrk:{ *:[v32i16] } VK32:{ *:[v32i1] }:$src)
38667 /* 108994 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZrk),
38668 /* 108999 */ GIR_RootConstrainSelectedInstOperands,
38669 /* 109000 */ // GIR_Coverage, 12587,
38670 /* 109000 */ GIR_Done,
38671 /* 109001 */ // Label 2987: @109001
38672 /* 109001 */ GIM_Reject,
38673 /* 109002 */ // Label 2985: @109002
38674 /* 109002 */ GIM_Try, /*On fail goto*//*Label 2988*/ GIMT_Encode4(109081),
38675 /* 109007 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38676 /* 109011 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2989*/ GIMT_Encode4(109062), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 21734 //
38677 /* 109018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38678 /* 109022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38679 /* 109026 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38680 /* 109029 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38681 /* 109033 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38682 /* 109037 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38683 /* 109039 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38684 /* 109046 */ // (sext:{ *:[v32i16] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
38685 /* 109046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZrm),
38686 /* 109049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38687 /* 109051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38688 /* 109055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38689 /* 109060 */ GIR_RootConstrainSelectedInstOperands,
38690 /* 109061 */ // GIR_Coverage, 21734,
38691 /* 109061 */ GIR_EraseRootFromParent_Done,
38692 /* 109062 */ // Label 2989: @109062
38693 /* 109062 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2990*/ GIMT_Encode4(109080), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 12488 //
38694 /* 109069 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38695 /* 109073 */ // (sext:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src) => (VPMOVSXBWZrr:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src)
38696 /* 109073 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZrr),
38697 /* 109078 */ GIR_RootConstrainSelectedInstOperands,
38698 /* 109079 */ // GIR_Coverage, 12488,
38699 /* 109079 */ GIR_Done,
38700 /* 109080 */ // Label 2990: @109080
38701 /* 109080 */ GIM_Reject,
38702 /* 109081 */ // Label 2988: @109081
38703 /* 109081 */ GIM_Reject,
38704 /* 109082 */ // Label 2986: @109082
38705 /* 109082 */ GIM_Reject,
38706 /* 109083 */ // Label 2945: @109083
38707 /* 109083 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2991*/ GIMT_Encode4(109108), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 12592 //
38708 /* 109090 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
38709 /* 109093 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38710 /* 109097 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
38711 /* 109101 */ // (sext:{ *:[v4i32] } VK4:{ *:[v4i1] }:$src) => (VPMOVM2DZ128rk:{ *:[v4i32] } VK4:{ *:[v4i1] }:$src)
38712 /* 109101 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ128rk),
38713 /* 109106 */ GIR_RootConstrainSelectedInstOperands,
38714 /* 109107 */ // GIR_Coverage, 12592,
38715 /* 109107 */ GIR_Done,
38716 /* 109108 */ // Label 2991: @109108
38717 /* 109108 */ GIM_Reject,
38718 /* 109109 */ // Label 2946: @109109
38719 /* 109109 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(9), GIMT_Encode2(17), /*)*//*default:*//*Label 2994*/ GIMT_Encode4(109332),
38720 /* 109120 */ /*GILLT_v8s1*//*Label 2992*/ GIMT_Encode4(109152), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
38721 /* 109148 */ /*GILLT_v8s16*//*Label 2993*/ GIMT_Encode4(109175),
38722 /* 109152 */ // Label 2992: @109152
38723 /* 109152 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2995*/ GIMT_Encode4(109174), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 12591 //
38724 /* 109159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38725 /* 109163 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
38726 /* 109167 */ // (sext:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2DZ256rk:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src)
38727 /* 109167 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ256rk),
38728 /* 109172 */ GIR_RootConstrainSelectedInstOperands,
38729 /* 109173 */ // GIR_Coverage, 12591,
38730 /* 109173 */ GIR_Done,
38731 /* 109174 */ // Label 2995: @109174
38732 /* 109174 */ GIM_Reject,
38733 /* 109175 */ // Label 2993: @109175
38734 /* 109175 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2996*/ GIMT_Encode4(109230), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18485 //
38735 /* 109182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38736 /* 109186 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38737 /* 109190 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38738 /* 109194 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38739 /* 109197 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38740 /* 109201 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38741 /* 109205 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38742 /* 109207 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38743 /* 109214 */ // (sext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
38744 /* 109214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDYrm),
38745 /* 109217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38746 /* 109219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38747 /* 109223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38748 /* 109228 */ GIR_RootConstrainSelectedInstOperands,
38749 /* 109229 */ // GIR_Coverage, 18485,
38750 /* 109229 */ GIR_EraseRootFromParent_Done,
38751 /* 109230 */ // Label 2996: @109230
38752 /* 109230 */ GIM_Try, /*On fail goto*//*Label 2997*/ GIMT_Encode4(109309),
38753 /* 109235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38754 /* 109239 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2998*/ GIMT_Encode4(109290), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21732 //
38755 /* 109246 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38756 /* 109250 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38757 /* 109254 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38758 /* 109257 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38759 /* 109261 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38760 /* 109265 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38761 /* 109267 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38762 /* 109274 */ // (sext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
38763 /* 109274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZ256rm),
38764 /* 109277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38765 /* 109279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38766 /* 109283 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38767 /* 109288 */ GIR_RootConstrainSelectedInstOperands,
38768 /* 109289 */ // GIR_Coverage, 21732,
38769 /* 109289 */ GIR_EraseRootFromParent_Done,
38770 /* 109290 */ // Label 2998: @109290
38771 /* 109290 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 2999*/ GIMT_Encode4(109308), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 12536 //
38772 /* 109297 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38773 /* 109301 */ // (sext:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src) => (VPMOVSXWDZ256rr:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src)
38774 /* 109301 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZ256rr),
38775 /* 109306 */ GIR_RootConstrainSelectedInstOperands,
38776 /* 109307 */ // GIR_Coverage, 12536,
38777 /* 109307 */ GIR_Done,
38778 /* 109308 */ // Label 2999: @109308
38779 /* 109308 */ GIM_Reject,
38780 /* 109309 */ // Label 2997: @109309
38781 /* 109309 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3000*/ GIMT_Encode4(109331), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18475 //
38782 /* 109316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38783 /* 109320 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38784 /* 109324 */ // (sext:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src) => (VPMOVSXWDYrr:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src)
38785 /* 109324 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDYrr),
38786 /* 109329 */ GIR_RootConstrainSelectedInstOperands,
38787 /* 109330 */ // GIR_Coverage, 18475,
38788 /* 109330 */ GIR_Done,
38789 /* 109331 */ // Label 3000: @109331
38790 /* 109331 */ GIM_Reject,
38791 /* 109332 */ // Label 2994: @109332
38792 /* 109332 */ GIM_Reject,
38793 /* 109333 */ // Label 2947: @109333
38794 /* 109333 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(10), GIMT_Encode2(18), /*)*//*default:*//*Label 3004*/ GIMT_Encode4(109559),
38795 /* 109344 */ /*GILLT_v16s1*//*Label 3001*/ GIMT_Encode4(109376), GIMT_Encode4(0), GIMT_Encode4(0),
38796 /* 109356 */ /*GILLT_v16s8*//*Label 3002*/ GIMT_Encode4(109399), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
38797 /* 109372 */ /*GILLT_v16s16*//*Label 3003*/ GIMT_Encode4(109479),
38798 /* 109376 */ // Label 3001: @109376
38799 /* 109376 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3005*/ GIMT_Encode4(109398), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 12590 //
38800 /* 109383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38801 /* 109387 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
38802 /* 109391 */ // (sext:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src)
38803 /* 109391 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
38804 /* 109396 */ GIR_RootConstrainSelectedInstOperands,
38805 /* 109397 */ // GIR_Coverage, 12590,
38806 /* 109397 */ GIR_Done,
38807 /* 109398 */ // Label 3005: @109398
38808 /* 109398 */ GIM_Reject,
38809 /* 109399 */ // Label 3002: @109399
38810 /* 109399 */ GIM_Try, /*On fail goto*//*Label 3006*/ GIMT_Encode4(109478),
38811 /* 109404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38812 /* 109408 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3007*/ GIMT_Encode4(109459), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21735 //
38813 /* 109415 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38814 /* 109419 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38815 /* 109423 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38816 /* 109426 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38817 /* 109430 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38818 /* 109434 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38819 /* 109436 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38820 /* 109443 */ // (sext:{ *:[v16i32] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
38821 /* 109443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBDZrm),
38822 /* 109446 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38823 /* 109448 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38824 /* 109452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38825 /* 109457 */ GIR_RootConstrainSelectedInstOperands,
38826 /* 109458 */ // GIR_Coverage, 21735,
38827 /* 109458 */ GIR_EraseRootFromParent_Done,
38828 /* 109459 */ // Label 3007: @109459
38829 /* 109459 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3008*/ GIMT_Encode4(109477), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12506 //
38830 /* 109466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38831 /* 109470 */ // (sext:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src) => (VPMOVSXBDZrr:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src)
38832 /* 109470 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBDZrr),
38833 /* 109475 */ GIR_RootConstrainSelectedInstOperands,
38834 /* 109476 */ // GIR_Coverage, 12506,
38835 /* 109476 */ GIR_Done,
38836 /* 109477 */ // Label 3008: @109477
38837 /* 109477 */ GIM_Reject,
38838 /* 109478 */ // Label 3006: @109478
38839 /* 109478 */ GIM_Reject,
38840 /* 109479 */ // Label 3003: @109479
38841 /* 109479 */ GIM_Try, /*On fail goto*//*Label 3009*/ GIMT_Encode4(109558),
38842 /* 109484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38843 /* 109488 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3010*/ GIMT_Encode4(109539), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21736 //
38844 /* 109495 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38845 /* 109499 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38846 /* 109503 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38847 /* 109506 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38848 /* 109510 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38849 /* 109514 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38850 /* 109516 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38851 /* 109523 */ // (sext:{ *:[v16i32] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
38852 /* 109523 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZrm),
38853 /* 109526 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38854 /* 109528 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38855 /* 109532 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38856 /* 109537 */ GIR_RootConstrainSelectedInstOperands,
38857 /* 109538 */ // GIR_Coverage, 21736,
38858 /* 109538 */ GIR_EraseRootFromParent_Done,
38859 /* 109539 */ // Label 3010: @109539
38860 /* 109539 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3011*/ GIMT_Encode4(109557), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12542 //
38861 /* 109546 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38862 /* 109550 */ // (sext:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src) => (VPMOVSXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src)
38863 /* 109550 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZrr),
38864 /* 109555 */ GIR_RootConstrainSelectedInstOperands,
38865 /* 109556 */ // GIR_Coverage, 12542,
38866 /* 109556 */ GIR_Done,
38867 /* 109557 */ // Label 3011: @109557
38868 /* 109557 */ GIM_Reject,
38869 /* 109558 */ // Label 3009: @109558
38870 /* 109558 */ GIM_Reject,
38871 /* 109559 */ // Label 3004: @109559
38872 /* 109559 */ GIM_Reject,
38873 /* 109560 */ // Label 2948: @109560
38874 /* 109560 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3012*/ GIMT_Encode4(109585), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 12595 //
38875 /* 109567 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
38876 /* 109570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38877 /* 109574 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
38878 /* 109578 */ // (sext:{ *:[v2i64] } VK2:{ *:[v2i1] }:$src) => (VPMOVM2QZ128rk:{ *:[v2i64] } VK2:{ *:[v2i1] }:$src)
38879 /* 109578 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZ128rk),
38880 /* 109583 */ GIR_RootConstrainSelectedInstOperands,
38881 /* 109584 */ // GIR_Coverage, 12595,
38882 /* 109584 */ GIR_Done,
38883 /* 109585 */ // Label 3012: @109585
38884 /* 109585 */ GIM_Reject,
38885 /* 109586 */ // Label 2949: @109586
38886 /* 109586 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(8), GIMT_Encode2(20), /*)*//*default:*//*Label 3015*/ GIMT_Encode4(109825),
38887 /* 109597 */ /*GILLT_v4s1*//*Label 3013*/ GIMT_Encode4(109645), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
38888 /* 109641 */ /*GILLT_v4s32*//*Label 3014*/ GIMT_Encode4(109668),
38889 /* 109645 */ // Label 3013: @109645
38890 /* 109645 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3016*/ GIMT_Encode4(109667), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 12594 //
38891 /* 109652 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38892 /* 109656 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
38893 /* 109660 */ // (sext:{ *:[v4i64] } VK4:{ *:[v4i1] }:$src) => (VPMOVM2QZ256rk:{ *:[v4i64] } VK4:{ *:[v4i1] }:$src)
38894 /* 109660 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZ256rk),
38895 /* 109665 */ GIR_RootConstrainSelectedInstOperands,
38896 /* 109666 */ // GIR_Coverage, 12594,
38897 /* 109666 */ GIR_Done,
38898 /* 109667 */ // Label 3016: @109667
38899 /* 109667 */ GIM_Reject,
38900 /* 109668 */ // Label 3014: @109668
38901 /* 109668 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3017*/ GIMT_Encode4(109723), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18489 //
38902 /* 109675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38903 /* 109679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38904 /* 109683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38905 /* 109687 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38906 /* 109690 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38907 /* 109694 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38908 /* 109698 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38909 /* 109700 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38910 /* 109707 */ // (sext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
38911 /* 109707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQYrm),
38912 /* 109710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38913 /* 109712 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38914 /* 109716 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38915 /* 109721 */ GIR_RootConstrainSelectedInstOperands,
38916 /* 109722 */ // GIR_Coverage, 18489,
38917 /* 109722 */ GIR_EraseRootFromParent_Done,
38918 /* 109723 */ // Label 3017: @109723
38919 /* 109723 */ GIM_Try, /*On fail goto*//*Label 3018*/ GIMT_Encode4(109802),
38920 /* 109728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38921 /* 109732 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3019*/ GIMT_Encode4(109783), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21733 //
38922 /* 109739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38923 /* 109743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38924 /* 109747 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38925 /* 109750 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38926 /* 109754 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38927 /* 109758 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38928 /* 109760 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38929 /* 109767 */ // (sext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
38930 /* 109767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZ256rm),
38931 /* 109770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38932 /* 109772 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38933 /* 109776 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38934 /* 109781 */ GIR_RootConstrainSelectedInstOperands,
38935 /* 109782 */ // GIR_Coverage, 21733,
38936 /* 109782 */ GIR_EraseRootFromParent_Done,
38937 /* 109783 */ // Label 3019: @109783
38938 /* 109783 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3020*/ GIMT_Encode4(109801), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 12572 //
38939 /* 109790 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38940 /* 109794 */ // (sext:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src) => (VPMOVSXDQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src)
38941 /* 109794 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZ256rr),
38942 /* 109799 */ GIR_RootConstrainSelectedInstOperands,
38943 /* 109800 */ // GIR_Coverage, 12572,
38944 /* 109800 */ GIR_Done,
38945 /* 109801 */ // Label 3020: @109801
38946 /* 109801 */ GIM_Reject,
38947 /* 109802 */ // Label 3018: @109802
38948 /* 109802 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3021*/ GIMT_Encode4(109824), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18477 //
38949 /* 109809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38950 /* 109813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38951 /* 109817 */ // (sext:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src) => (VPMOVSXDQYrr:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src)
38952 /* 109817 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQYrr),
38953 /* 109822 */ GIR_RootConstrainSelectedInstOperands,
38954 /* 109823 */ // GIR_Coverage, 18477,
38955 /* 109823 */ GIR_Done,
38956 /* 109824 */ // Label 3021: @109824
38957 /* 109824 */ GIM_Reject,
38958 /* 109825 */ // Label 3015: @109825
38959 /* 109825 */ GIM_Reject,
38960 /* 109826 */ // Label 2950: @109826
38961 /* 109826 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(9), GIMT_Encode2(21), /*)*//*default:*//*Label 3025*/ GIMT_Encode4(110068),
38962 /* 109837 */ /*GILLT_v8s1*//*Label 3022*/ GIMT_Encode4(109885), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
38963 /* 109865 */ /*GILLT_v8s16*//*Label 3023*/ GIMT_Encode4(109908), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
38964 /* 109881 */ /*GILLT_v8s32*//*Label 3024*/ GIMT_Encode4(109988),
38965 /* 109885 */ // Label 3022: @109885
38966 /* 109885 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3026*/ GIMT_Encode4(109907), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 12593 //
38967 /* 109892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38968 /* 109896 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
38969 /* 109900 */ // (sext:{ *:[v8i64] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2QZrk:{ *:[v8i64] } VK8:{ *:[v8i1] }:$src)
38970 /* 109900 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZrk),
38971 /* 109905 */ GIR_RootConstrainSelectedInstOperands,
38972 /* 109906 */ // GIR_Coverage, 12593,
38973 /* 109906 */ GIR_Done,
38974 /* 109907 */ // Label 3026: @109907
38975 /* 109907 */ GIM_Reject,
38976 /* 109908 */ // Label 3023: @109908
38977 /* 109908 */ GIM_Try, /*On fail goto*//*Label 3027*/ GIMT_Encode4(109987),
38978 /* 109913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38979 /* 109917 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3028*/ GIMT_Encode4(109968), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21737 //
38980 /* 109924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38981 /* 109928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38982 /* 109932 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38983 /* 109935 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38984 /* 109939 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38985 /* 109943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38986 /* 109945 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38987 /* 109952 */ // (sext:{ *:[v8i64] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
38988 /* 109952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWQZrm),
38989 /* 109955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38990 /* 109957 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
38991 /* 109961 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38992 /* 109966 */ GIR_RootConstrainSelectedInstOperands,
38993 /* 109967 */ // GIR_Coverage, 21737,
38994 /* 109967 */ GIR_EraseRootFromParent_Done,
38995 /* 109968 */ // Label 3028: @109968
38996 /* 109968 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3029*/ GIMT_Encode4(109986), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12560 //
38997 /* 109975 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38998 /* 109979 */ // (sext:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src) => (VPMOVSXWQZrr:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src)
38999 /* 109979 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWQZrr),
39000 /* 109984 */ GIR_RootConstrainSelectedInstOperands,
39001 /* 109985 */ // GIR_Coverage, 12560,
39002 /* 109985 */ GIR_Done,
39003 /* 109986 */ // Label 3029: @109986
39004 /* 109986 */ GIM_Reject,
39005 /* 109987 */ // Label 3027: @109987
39006 /* 109987 */ GIM_Reject,
39007 /* 109988 */ // Label 3024: @109988
39008 /* 109988 */ GIM_Try, /*On fail goto*//*Label 3030*/ GIMT_Encode4(110067),
39009 /* 109993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39010 /* 109997 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3031*/ GIMT_Encode4(110048), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21738 //
39011 /* 110004 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39012 /* 110008 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39013 /* 110012 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39014 /* 110015 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39015 /* 110019 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39016 /* 110023 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39017 /* 110025 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39018 /* 110032 */ // (sext:{ *:[v8i64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
39019 /* 110032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZrm),
39020 /* 110035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39021 /* 110037 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39022 /* 110041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39023 /* 110046 */ GIR_RootConstrainSelectedInstOperands,
39024 /* 110047 */ // GIR_Coverage, 21738,
39025 /* 110047 */ GIR_EraseRootFromParent_Done,
39026 /* 110048 */ // Label 3031: @110048
39027 /* 110048 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3032*/ GIMT_Encode4(110066), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12578 //
39028 /* 110055 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39029 /* 110059 */ // (sext:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src) => (VPMOVSXDQZrr:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src)
39030 /* 110059 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZrr),
39031 /* 110064 */ GIR_RootConstrainSelectedInstOperands,
39032 /* 110065 */ // GIR_Coverage, 12578,
39033 /* 110065 */ GIR_Done,
39034 /* 110066 */ // Label 3032: @110066
39035 /* 110066 */ GIM_Reject,
39036 /* 110067 */ // Label 3030: @110067
39037 /* 110067 */ GIM_Reject,
39038 /* 110068 */ // Label 3025: @110068
39039 /* 110068 */ GIM_Reject,
39040 /* 110069 */ // Label 2951: @110069
39041 /* 110069 */ GIM_Reject,
39042 /* 110070 */ // Label 27: @110070
39043 /* 110070 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(4), /*)*//*default:*//*Label 3035*/ GIMT_Encode4(110311),
39044 /* 110081 */ /*GILLT_s16*//*Label 3033*/ GIMT_Encode4(110089),
39045 /* 110085 */ /*GILLT_s32*//*Label 3034*/ GIMT_Encode4(110185),
39046 /* 110089 */ // Label 3033: @110089
39047 /* 110089 */ GIM_Try, /*On fail goto*//*Label 3036*/ GIMT_Encode4(110184), // Rule ID 22874 //
39048 /* 110094 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39049 /* 110097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39050 /* 110101 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39051 /* 110105 */ // MIs[0] Operand 2
39052 /* 110105 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
39053 /* 110116 */ // (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] })
39054 /* 110116 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s8,
39055 /* 110119 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39056 /* 110123 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39057 /* 110128 */ GIR_CopySubReg, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
39058 /* 110134 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
39059 /* 110139 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39060 /* 110144 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39061 /* 110147 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
39062 /* 110151 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39063 /* 110156 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
39064 /* 110159 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39065 /* 110161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39066 /* 110164 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39067 /* 110166 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39068 /* 110173 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39069 /* 110178 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39070 /* 110183 */ // GIR_Coverage, 22874,
39071 /* 110183 */ GIR_EraseRootFromParent_Done,
39072 /* 110184 */ // Label 3036: @110184
39073 /* 110184 */ GIM_Reject,
39074 /* 110185 */ // Label 3034: @110185
39075 /* 110185 */ GIM_Try, /*On fail goto*//*Label 3037*/ GIMT_Encode4(110310),
39076 /* 110190 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
39077 /* 110193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39078 /* 110197 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39079 /* 110201 */ GIM_Try, /*On fail goto*//*Label 3038*/ GIMT_Encode4(110255), // Rule ID 22872 //
39080 /* 110206 */ // MIs[0] Operand 2
39081 /* 110206 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
39082 /* 110217 */ // (sext_inreg:{ *:[i32] } GR32:{ *:[i32] }:$src, i16:{ *:[Other] }) => (MOVSX32rr16:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src, sub_16bit:{ *:[i32] }))
39083 /* 110217 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39084 /* 110220 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39085 /* 110224 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39086 /* 110229 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src
39087 /* 110235 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39088 /* 110240 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39089 /* 110245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr16),
39090 /* 110248 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39091 /* 110250 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39092 /* 110253 */ GIR_RootConstrainSelectedInstOperands,
39093 /* 110254 */ // GIR_Coverage, 22872,
39094 /* 110254 */ GIR_EraseRootFromParent_Done,
39095 /* 110255 */ // Label 3038: @110255
39096 /* 110255 */ GIM_Try, /*On fail goto*//*Label 3039*/ GIMT_Encode4(110309), // Rule ID 22873 //
39097 /* 110260 */ // MIs[0] Operand 2
39098 /* 110260 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
39099 /* 110271 */ // (sext_inreg:{ *:[i32] } GR32:{ *:[i32] }:$src, i8:{ *:[Other] }) => (MOVSX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src, sub_8bit:{ *:[i32] }))
39100 /* 110271 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s8,
39101 /* 110274 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39102 /* 110278 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39103 /* 110283 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
39104 /* 110289 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
39105 /* 110294 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39106 /* 110299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
39107 /* 110302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39108 /* 110304 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39109 /* 110307 */ GIR_RootConstrainSelectedInstOperands,
39110 /* 110308 */ // GIR_Coverage, 22873,
39111 /* 110308 */ GIR_EraseRootFromParent_Done,
39112 /* 110309 */ // Label 3039: @110309
39113 /* 110309 */ GIM_Reject,
39114 /* 110310 */ // Label 3037: @110310
39115 /* 110310 */ GIM_Reject,
39116 /* 110311 */ // Label 3035: @110311
39117 /* 110311 */ GIM_Reject,
39118 /* 110312 */ // Label 28: @110312
39119 /* 110312 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 3049*/ GIMT_Encode4(112312),
39120 /* 110323 */ /*GILLT_s16*//*Label 3040*/ GIMT_Encode4(110415),
39121 /* 110327 */ /*GILLT_s32*//*Label 3041*/ GIMT_Encode4(110473),
39122 /* 110331 */ /*GILLT_s64*//*Label 3042*/ GIMT_Encode4(110823), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
39123 /* 110383 */ /*GILLT_v16s16*//*Label 3043*/ GIMT_Encode4(111347),
39124 /* 110387 */ /*GILLT_v32s16*//*Label 3044*/ GIMT_Encode4(111513), GIMT_Encode4(0),
39125 /* 110395 */ /*GILLT_v8s32*//*Label 3045*/ GIMT_Encode4(111596),
39126 /* 110399 */ /*GILLT_v16s32*//*Label 3046*/ GIMT_Encode4(111762), GIMT_Encode4(0),
39127 /* 110407 */ /*GILLT_v4s64*//*Label 3047*/ GIMT_Encode4(111954),
39128 /* 110411 */ /*GILLT_v8s64*//*Label 3048*/ GIMT_Encode4(112120),
39129 /* 110415 */ // Label 3040: @110415
39130 /* 110415 */ GIM_Try, /*On fail goto*//*Label 3050*/ GIMT_Encode4(110472), // Rule ID 22880 //
39131 /* 110420 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39132 /* 110423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39133 /* 110427 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39134 /* 110431 */ // (zext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
39135 /* 110431 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39136 /* 110434 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
39137 /* 110438 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39138 /* 110443 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39139 /* 110447 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39140 /* 110449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39141 /* 110452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39142 /* 110454 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39143 /* 110461 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39144 /* 110466 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39145 /* 110471 */ // GIR_Coverage, 22880,
39146 /* 110471 */ GIR_EraseRootFromParent_Done,
39147 /* 110472 */ // Label 3050: @110472
39148 /* 110472 */ GIM_Reject,
39149 /* 110473 */ // Label 3041: @110473
39150 /* 110473 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(1), GIMT_Encode2(3), /*)*//*default:*//*Label 3053*/ GIMT_Encode4(110822),
39151 /* 110484 */ /*GILLT_s8*//*Label 3051*/ GIMT_Encode4(110492),
39152 /* 110488 */ /*GILLT_s16*//*Label 3052*/ GIMT_Encode4(110556),
39153 /* 110492 */ // Label 3051: @110492
39154 /* 110492 */ GIM_Try, /*On fail goto*//*Label 3054*/ GIMT_Encode4(110555),
39155 /* 110497 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39156 /* 110501 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3055*/ GIMT_Encode4(110538), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 19538 //
39157 /* 110508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39158 /* 110512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39159 /* 110516 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
39160 /* 110520 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
39161 /* 110525 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39162 /* 110527 */ // (zext:{ *:[i32] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (KMOVBrk:{ *:[i32] } VK8:{ *:[v8i1] }:$src)
39163 /* 110527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBrk),
39164 /* 110530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39165 /* 110532 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
39166 /* 110536 */ GIR_RootConstrainSelectedInstOperands,
39167 /* 110537 */ // GIR_Coverage, 19538,
39168 /* 110537 */ GIR_EraseRootFromParent_Done,
39169 /* 110538 */ // Label 3055: @110538
39170 /* 110538 */ GIM_Try, /*On fail goto*//*Label 3056*/ GIMT_Encode4(110554), // Rule ID 593 //
39171 /* 110543 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39172 /* 110547 */ // (zext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
39173 /* 110547 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
39174 /* 110552 */ GIR_RootConstrainSelectedInstOperands,
39175 /* 110553 */ // GIR_Coverage, 593,
39176 /* 110553 */ GIR_Done,
39177 /* 110554 */ // Label 3056: @110554
39178 /* 110554 */ GIM_Reject,
39179 /* 110555 */ // Label 3054: @110555
39180 /* 110555 */ GIM_Reject,
39181 /* 110556 */ // Label 3052: @110556
39182 /* 110556 */ GIM_Try, /*On fail goto*//*Label 3057*/ GIMT_Encode4(110762),
39183 /* 110561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39184 /* 110565 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3058*/ GIMT_Encode4(110677), GIMT_Encode2(GIFBS_HasZU), // Rule ID 23210 //
39185 /* 110572 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39186 /* 110576 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
39187 /* 110580 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
39188 /* 110584 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
39189 /* 110588 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
39190 /* 110592 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
39191 /* 110596 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39192 /* 110599 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
39193 /* 110603 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
39194 /* 110607 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
39195 /* 110611 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39196 /* 110615 */ // MIs[3] Operand 1
39197 /* 110615 */ // No operand predicates
39198 /* 110615 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
39199 /* 110617 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39200 /* 110624 */ // (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] })
39201 /* 110624 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39202 /* 110627 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rmi),
39203 /* 110631 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39204 /* 110636 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src1
39205 /* 110640 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/3, // src2
39206 /* 110643 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39207 /* 110646 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
39208 /* 110653 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39209 /* 110655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39210 /* 110658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39211 /* 110660 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39212 /* 110663 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
39213 /* 110666 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39214 /* 110671 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39215 /* 110676 */ // GIR_Coverage, 23210,
39216 /* 110676 */ GIR_EraseRootFromParent_Done,
39217 /* 110677 */ // Label 3058: @110677
39218 /* 110677 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3059*/ GIMT_Encode4(110761), GIMT_Encode2(GIFBS_HasZU), // Rule ID 23209 //
39219 /* 110684 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39220 /* 110688 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
39221 /* 110692 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
39222 /* 110696 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
39223 /* 110700 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39224 /* 110705 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
39225 /* 110709 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39226 /* 110713 */ // MIs[2] Operand 1
39227 /* 110713 */ // No operand predicates
39228 /* 110713 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
39229 /* 110715 */ // (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] })
39230 /* 110715 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39231 /* 110718 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rri),
39232 /* 110722 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39233 /* 110727 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src1
39234 /* 110731 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/2, // src2
39235 /* 110734 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39236 /* 110737 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39237 /* 110739 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39238 /* 110742 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39239 /* 110744 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39240 /* 110747 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
39241 /* 110750 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39242 /* 110755 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39243 /* 110760 */ // GIR_Coverage, 23209,
39244 /* 110760 */ GIR_EraseRootFromParent_Done,
39245 /* 110761 */ // Label 3059: @110761
39246 /* 110761 */ GIM_Reject,
39247 /* 110762 */ // Label 3057: @110762
39248 /* 110762 */ GIM_Try, /*On fail goto*//*Label 3060*/ GIMT_Encode4(110801), // Rule ID 19535 //
39249 /* 110767 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39250 /* 110771 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39251 /* 110775 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39252 /* 110779 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
39253 /* 110783 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39254 /* 110788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39255 /* 110790 */ // (zext:{ *:[i32] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (KMOVWrk:{ *:[i32] } VK16:{ *:[v16i1] }:$src)
39256 /* 110790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWrk),
39257 /* 110793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39258 /* 110795 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
39259 /* 110799 */ GIR_RootConstrainSelectedInstOperands,
39260 /* 110800 */ // GIR_Coverage, 19535,
39261 /* 110800 */ GIR_EraseRootFromParent_Done,
39262 /* 110801 */ // Label 3060: @110801
39263 /* 110801 */ GIM_Try, /*On fail goto*//*Label 3061*/ GIMT_Encode4(110821), // Rule ID 595 //
39264 /* 110806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39265 /* 110810 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39266 /* 110814 */ // (zext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src)
39267 /* 110814 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
39268 /* 110819 */ GIR_RootConstrainSelectedInstOperands,
39269 /* 110820 */ // GIR_Coverage, 595,
39270 /* 110820 */ GIR_Done,
39271 /* 110821 */ // Label 3061: @110821
39272 /* 110821 */ GIM_Reject,
39273 /* 110822 */ // Label 3053: @110822
39274 /* 110822 */ GIM_Reject,
39275 /* 110823 */ // Label 3042: @110823
39276 /* 110823 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(1), GIMT_Encode2(4), /*)*//*default:*//*Label 3065*/ GIMT_Encode4(111346),
39277 /* 110834 */ /*GILLT_s8*//*Label 3062*/ GIMT_Encode4(110846),
39278 /* 110838 */ /*GILLT_s16*//*Label 3063*/ GIMT_Encode4(110972),
39279 /* 110842 */ /*GILLT_s32*//*Label 3064*/ GIMT_Encode4(111292),
39280 /* 110846 */ // Label 3062: @110846
39281 /* 110846 */ GIM_Try, /*On fail goto*//*Label 3066*/ GIMT_Encode4(110971),
39282 /* 110851 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39283 /* 110855 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3067*/ GIMT_Encode4(110921), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 19539 //
39284 /* 110862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39285 /* 110866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39286 /* 110870 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
39287 /* 110874 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
39288 /* 110879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39289 /* 110881 */ // (zext:{ *:[i64] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (SUBREG_TO_REG:{ *:[i64] } (KMOVBrk:{ *:[i32] } VK8:{ *:[v8i1] }:$src), sub_32bit:{ *:[i32] })
39290 /* 110881 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39291 /* 110884 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBrk),
39292 /* 110888 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39293 /* 110893 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
39294 /* 110897 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39295 /* 110899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39296 /* 110902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39297 /* 110904 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39298 /* 110907 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39299 /* 110910 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39300 /* 110915 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39301 /* 110920 */ // GIR_Coverage, 19539,
39302 /* 110920 */ GIR_EraseRootFromParent_Done,
39303 /* 110921 */ // Label 3067: @110921
39304 /* 110921 */ GIM_Try, /*On fail goto*//*Label 3068*/ GIMT_Encode4(110970), // Rule ID 17647 //
39305 /* 110926 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39306 /* 110930 */ // (zext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_32bit:{ *:[i32] })
39307 /* 110930 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39308 /* 110933 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
39309 /* 110937 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39310 /* 110942 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39311 /* 110946 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39312 /* 110948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39313 /* 110951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39314 /* 110953 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39315 /* 110956 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39316 /* 110959 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39317 /* 110964 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39318 /* 110969 */ // GIR_Coverage, 17647,
39319 /* 110969 */ GIR_EraseRootFromParent_Done,
39320 /* 110970 */ // Label 3068: @110970
39321 /* 110970 */ GIM_Reject,
39322 /* 110971 */ // Label 3066: @110971
39323 /* 110971 */ GIM_Reject,
39324 /* 110972 */ // Label 3063: @110972
39325 /* 110972 */ GIM_Try, /*On fail goto*//*Label 3069*/ GIMT_Encode4(111291),
39326 /* 110977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39327 /* 110981 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3070*/ GIMT_Encode4(111093), GIMT_Encode2(GIFBS_HasZU), // Rule ID 23212 //
39328 /* 110988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39329 /* 110992 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
39330 /* 110996 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
39331 /* 111000 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
39332 /* 111004 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
39333 /* 111008 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
39334 /* 111012 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39335 /* 111015 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
39336 /* 111019 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
39337 /* 111023 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
39338 /* 111027 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39339 /* 111031 */ // MIs[3] Operand 1
39340 /* 111031 */ // No operand predicates
39341 /* 111031 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
39342 /* 111033 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39343 /* 111040 */ // (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] })
39344 /* 111040 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39345 /* 111043 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rmi),
39346 /* 111047 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39347 /* 111052 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src1
39348 /* 111056 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/3, // src2
39349 /* 111059 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39350 /* 111062 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
39351 /* 111069 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39352 /* 111071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39353 /* 111074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39354 /* 111076 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39355 /* 111079 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
39356 /* 111082 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39357 /* 111087 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39358 /* 111092 */ // GIR_Coverage, 23212,
39359 /* 111092 */ GIR_EraseRootFromParent_Done,
39360 /* 111093 */ // Label 3070: @111093
39361 /* 111093 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3071*/ GIMT_Encode4(111177), GIMT_Encode2(GIFBS_HasZU), // Rule ID 23211 //
39362 /* 111100 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39363 /* 111104 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
39364 /* 111108 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
39365 /* 111112 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
39366 /* 111116 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39367 /* 111121 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
39368 /* 111125 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39369 /* 111129 */ // MIs[2] Operand 1
39370 /* 111129 */ // No operand predicates
39371 /* 111129 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
39372 /* 111131 */ // (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] })
39373 /* 111131 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39374 /* 111134 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rri),
39375 /* 111138 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39376 /* 111143 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src1
39377 /* 111147 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/2, // src2
39378 /* 111150 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39379 /* 111153 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39380 /* 111155 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39381 /* 111158 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39382 /* 111160 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39383 /* 111163 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
39384 /* 111166 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39385 /* 111171 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39386 /* 111176 */ // GIR_Coverage, 23211,
39387 /* 111176 */ GIR_EraseRootFromParent_Done,
39388 /* 111177 */ // Label 3071: @111177
39389 /* 111177 */ GIM_Try, /*On fail goto*//*Label 3072*/ GIMT_Encode4(111241), // Rule ID 19536 //
39390 /* 111182 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39391 /* 111186 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39392 /* 111190 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
39393 /* 111194 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39394 /* 111199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39395 /* 111201 */ // (zext:{ *:[i64] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (SUBREG_TO_REG:{ *:[i64] } (KMOVWrk:{ *:[i32] } VK16:{ *:[v16i1] }:$src), sub_32bit:{ *:[i32] })
39396 /* 111201 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39397 /* 111204 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVWrk),
39398 /* 111208 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39399 /* 111213 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
39400 /* 111217 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39401 /* 111219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39402 /* 111222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39403 /* 111224 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39404 /* 111227 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39405 /* 111230 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39406 /* 111235 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39407 /* 111240 */ // GIR_Coverage, 19536,
39408 /* 111240 */ GIR_EraseRootFromParent_Done,
39409 /* 111241 */ // Label 3072: @111241
39410 /* 111241 */ GIM_Try, /*On fail goto*//*Label 3073*/ GIMT_Encode4(111290), // Rule ID 17649 //
39411 /* 111246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39412 /* 111250 */ // (zext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src), sub_32bit:{ *:[i32] })
39413 /* 111250 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39414 /* 111253 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
39415 /* 111257 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39416 /* 111262 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39417 /* 111266 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39418 /* 111268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39419 /* 111271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39420 /* 111273 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39421 /* 111276 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39422 /* 111279 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39423 /* 111284 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39424 /* 111289 */ // GIR_Coverage, 17649,
39425 /* 111289 */ GIR_EraseRootFromParent_Done,
39426 /* 111290 */ // Label 3073: @111290
39427 /* 111290 */ GIM_Reject,
39428 /* 111291 */ // Label 3069: @111291
39429 /* 111291 */ GIM_Reject,
39430 /* 111292 */ // Label 3064: @111292
39431 /* 111292 */ GIM_Try, /*On fail goto*//*Label 3074*/ GIMT_Encode4(111345), // Rule ID 17651 //
39432 /* 111297 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39433 /* 111301 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39434 /* 111305 */ // (zext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src), sub_32bit:{ *:[i32] })
39435 /* 111305 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39436 /* 111308 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
39437 /* 111312 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39438 /* 111317 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39439 /* 111321 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39440 /* 111323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39441 /* 111326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39442 /* 111328 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39443 /* 111331 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39444 /* 111334 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39445 /* 111339 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39446 /* 111344 */ // GIR_Coverage, 17651,
39447 /* 111344 */ GIR_EraseRootFromParent_Done,
39448 /* 111345 */ // Label 3074: @111345
39449 /* 111345 */ GIM_Reject,
39450 /* 111346 */ // Label 3065: @111346
39451 /* 111346 */ GIM_Reject,
39452 /* 111347 */ // Label 3043: @111347
39453 /* 111347 */ GIM_Try, /*On fail goto*//*Label 3075*/ GIMT_Encode4(111512),
39454 /* 111352 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
39455 /* 111355 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3076*/ GIMT_Encode4(111410), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 18502 //
39456 /* 111362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39457 /* 111366 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39458 /* 111370 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39459 /* 111374 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39460 /* 111377 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39461 /* 111381 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39462 /* 111385 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39463 /* 111387 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39464 /* 111394 */ // (zext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
39465 /* 111394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWYrm),
39466 /* 111397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39467 /* 111399 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39468 /* 111403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39469 /* 111408 */ GIR_RootConstrainSelectedInstOperands,
39470 /* 111409 */ // GIR_Coverage, 18502,
39471 /* 111409 */ GIR_EraseRootFromParent_Done,
39472 /* 111410 */ // Label 3076: @111410
39473 /* 111410 */ GIM_Try, /*On fail goto*//*Label 3077*/ GIMT_Encode4(111489),
39474 /* 111415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39475 /* 111419 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3078*/ GIMT_Encode4(111470), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 21764 //
39476 /* 111426 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39477 /* 111430 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39478 /* 111434 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39479 /* 111437 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39480 /* 111441 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39481 /* 111445 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39482 /* 111447 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39483 /* 111454 */ // (zext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
39484 /* 111454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZ256rm),
39485 /* 111457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39486 /* 111459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39487 /* 111463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39488 /* 111468 */ GIR_RootConstrainSelectedInstOperands,
39489 /* 111469 */ // GIR_Coverage, 21764,
39490 /* 111469 */ GIR_EraseRootFromParent_Done,
39491 /* 111470 */ // Label 3078: @111470
39492 /* 111470 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3079*/ GIMT_Encode4(111488), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12374 //
39493 /* 111477 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39494 /* 111481 */ // (zext:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src) => (VPMOVZXBWZ256rr:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src)
39495 /* 111481 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZ256rr),
39496 /* 111486 */ GIR_RootConstrainSelectedInstOperands,
39497 /* 111487 */ // GIR_Coverage, 12374,
39498 /* 111487 */ GIR_Done,
39499 /* 111488 */ // Label 3079: @111488
39500 /* 111488 */ GIM_Reject,
39501 /* 111489 */ // Label 3077: @111489
39502 /* 111489 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3080*/ GIMT_Encode4(111511), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 18495 //
39503 /* 111496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39504 /* 111500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39505 /* 111504 */ // (zext:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src) => (VPMOVZXBWYrr:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src)
39506 /* 111504 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWYrr),
39507 /* 111509 */ GIR_RootConstrainSelectedInstOperands,
39508 /* 111510 */ // GIR_Coverage, 18495,
39509 /* 111510 */ GIR_Done,
39510 /* 111511 */ // Label 3080: @111511
39511 /* 111511 */ GIM_Reject,
39512 /* 111512 */ // Label 3075: @111512
39513 /* 111512 */ GIM_Reject,
39514 /* 111513 */ // Label 3044: @111513
39515 /* 111513 */ GIM_Try, /*On fail goto*//*Label 3081*/ GIMT_Encode4(111595),
39516 /* 111518 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
39517 /* 111521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39518 /* 111525 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3082*/ GIMT_Encode4(111576), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 21767 //
39519 /* 111532 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39520 /* 111536 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39521 /* 111540 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39522 /* 111543 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39523 /* 111547 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39524 /* 111551 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39525 /* 111553 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39526 /* 111560 */ // (zext:{ *:[v32i16] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
39527 /* 111560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZrm),
39528 /* 111563 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39529 /* 111565 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39530 /* 111569 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39531 /* 111574 */ GIR_RootConstrainSelectedInstOperands,
39532 /* 111575 */ // GIR_Coverage, 21767,
39533 /* 111575 */ GIR_EraseRootFromParent_Done,
39534 /* 111576 */ // Label 3082: @111576
39535 /* 111576 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3083*/ GIMT_Encode4(111594), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 12380 //
39536 /* 111583 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39537 /* 111587 */ // (zext:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src) => (VPMOVZXBWZrr:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src)
39538 /* 111587 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZrr),
39539 /* 111592 */ GIR_RootConstrainSelectedInstOperands,
39540 /* 111593 */ // GIR_Coverage, 12380,
39541 /* 111593 */ GIR_Done,
39542 /* 111594 */ // Label 3083: @111594
39543 /* 111594 */ GIM_Reject,
39544 /* 111595 */ // Label 3081: @111595
39545 /* 111595 */ GIM_Reject,
39546 /* 111596 */ // Label 3045: @111596
39547 /* 111596 */ GIM_Try, /*On fail goto*//*Label 3084*/ GIMT_Encode4(111761),
39548 /* 111601 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
39549 /* 111604 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3085*/ GIMT_Encode4(111659), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18508 //
39550 /* 111611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39551 /* 111615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39552 /* 111619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39553 /* 111623 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39554 /* 111626 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39555 /* 111630 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39556 /* 111634 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39557 /* 111636 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39558 /* 111643 */ // (zext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
39559 /* 111643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDYrm),
39560 /* 111646 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39561 /* 111648 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39562 /* 111652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39563 /* 111657 */ GIR_RootConstrainSelectedInstOperands,
39564 /* 111658 */ // GIR_Coverage, 18508,
39565 /* 111658 */ GIR_EraseRootFromParent_Done,
39566 /* 111659 */ // Label 3085: @111659
39567 /* 111659 */ GIM_Try, /*On fail goto*//*Label 3086*/ GIMT_Encode4(111738),
39568 /* 111664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39569 /* 111668 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3087*/ GIMT_Encode4(111719), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21765 //
39570 /* 111675 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39571 /* 111679 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39572 /* 111683 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39573 /* 111686 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39574 /* 111690 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39575 /* 111694 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39576 /* 111696 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39577 /* 111703 */ // (zext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
39578 /* 111703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZ256rm),
39579 /* 111706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39580 /* 111708 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39581 /* 111712 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39582 /* 111717 */ GIR_RootConstrainSelectedInstOperands,
39583 /* 111718 */ // GIR_Coverage, 21765,
39584 /* 111718 */ GIR_EraseRootFromParent_Done,
39585 /* 111719 */ // Label 3087: @111719
39586 /* 111719 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3088*/ GIMT_Encode4(111737), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 12428 //
39587 /* 111726 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39588 /* 111730 */ // (zext:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src) => (VPMOVZXWDZ256rr:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src)
39589 /* 111730 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZ256rr),
39590 /* 111735 */ GIR_RootConstrainSelectedInstOperands,
39591 /* 111736 */ // GIR_Coverage, 12428,
39592 /* 111736 */ GIR_Done,
39593 /* 111737 */ // Label 3088: @111737
39594 /* 111737 */ GIM_Reject,
39595 /* 111738 */ // Label 3086: @111738
39596 /* 111738 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3089*/ GIMT_Encode4(111760), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18498 //
39597 /* 111745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39598 /* 111749 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39599 /* 111753 */ // (zext:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src) => (VPMOVZXWDYrr:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src)
39600 /* 111753 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDYrr),
39601 /* 111758 */ GIR_RootConstrainSelectedInstOperands,
39602 /* 111759 */ // GIR_Coverage, 18498,
39603 /* 111759 */ GIR_Done,
39604 /* 111760 */ // Label 3089: @111760
39605 /* 111760 */ GIM_Reject,
39606 /* 111761 */ // Label 3084: @111761
39607 /* 111761 */ GIM_Reject,
39608 /* 111762 */ // Label 3046: @111762
39609 /* 111762 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(13), GIMT_Encode2(18), /*)*//*default:*//*Label 3092*/ GIMT_Encode4(111953),
39610 /* 111773 */ /*GILLT_v16s8*//*Label 3090*/ GIMT_Encode4(111793), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
39611 /* 111789 */ /*GILLT_v16s16*//*Label 3091*/ GIMT_Encode4(111873),
39612 /* 111793 */ // Label 3090: @111793
39613 /* 111793 */ GIM_Try, /*On fail goto*//*Label 3093*/ GIMT_Encode4(111872),
39614 /* 111798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39615 /* 111802 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3094*/ GIMT_Encode4(111853), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21768 //
39616 /* 111809 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39617 /* 111813 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39618 /* 111817 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39619 /* 111820 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39620 /* 111824 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39621 /* 111828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39622 /* 111830 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39623 /* 111837 */ // (zext:{ *:[v16i32] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
39624 /* 111837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBDZrm),
39625 /* 111840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39626 /* 111842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39627 /* 111846 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39628 /* 111851 */ GIR_RootConstrainSelectedInstOperands,
39629 /* 111852 */ // GIR_Coverage, 21768,
39630 /* 111852 */ GIR_EraseRootFromParent_Done,
39631 /* 111853 */ // Label 3094: @111853
39632 /* 111853 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3095*/ GIMT_Encode4(111871), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12398 //
39633 /* 111860 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39634 /* 111864 */ // (zext:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src) => (VPMOVZXBDZrr:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src)
39635 /* 111864 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBDZrr),
39636 /* 111869 */ GIR_RootConstrainSelectedInstOperands,
39637 /* 111870 */ // GIR_Coverage, 12398,
39638 /* 111870 */ GIR_Done,
39639 /* 111871 */ // Label 3095: @111871
39640 /* 111871 */ GIM_Reject,
39641 /* 111872 */ // Label 3093: @111872
39642 /* 111872 */ GIM_Reject,
39643 /* 111873 */ // Label 3091: @111873
39644 /* 111873 */ GIM_Try, /*On fail goto*//*Label 3096*/ GIMT_Encode4(111952),
39645 /* 111878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39646 /* 111882 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3097*/ GIMT_Encode4(111933), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21769 //
39647 /* 111889 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39648 /* 111893 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39649 /* 111897 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39650 /* 111900 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39651 /* 111904 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39652 /* 111908 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39653 /* 111910 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39654 /* 111917 */ // (zext:{ *:[v16i32] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
39655 /* 111917 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrm),
39656 /* 111920 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39657 /* 111922 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39658 /* 111926 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39659 /* 111931 */ GIR_RootConstrainSelectedInstOperands,
39660 /* 111932 */ // GIR_Coverage, 21769,
39661 /* 111932 */ GIR_EraseRootFromParent_Done,
39662 /* 111933 */ // Label 3097: @111933
39663 /* 111933 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3098*/ GIMT_Encode4(111951), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12434 //
39664 /* 111940 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39665 /* 111944 */ // (zext:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src) => (VPMOVZXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src)
39666 /* 111944 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrr),
39667 /* 111949 */ GIR_RootConstrainSelectedInstOperands,
39668 /* 111950 */ // GIR_Coverage, 12434,
39669 /* 111950 */ GIR_Done,
39670 /* 111951 */ // Label 3098: @111951
39671 /* 111951 */ GIM_Reject,
39672 /* 111952 */ // Label 3096: @111952
39673 /* 111952 */ GIM_Reject,
39674 /* 111953 */ // Label 3092: @111953
39675 /* 111953 */ GIM_Reject,
39676 /* 111954 */ // Label 3047: @111954
39677 /* 111954 */ GIM_Try, /*On fail goto*//*Label 3099*/ GIMT_Encode4(112119),
39678 /* 111959 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
39679 /* 111962 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3100*/ GIMT_Encode4(112017), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18512 //
39680 /* 111969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39681 /* 111973 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39682 /* 111977 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39683 /* 111981 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39684 /* 111984 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39685 /* 111988 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39686 /* 111992 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39687 /* 111994 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39688 /* 112001 */ // (zext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
39689 /* 112001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQYrm),
39690 /* 112004 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39691 /* 112006 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39692 /* 112010 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39693 /* 112015 */ GIR_RootConstrainSelectedInstOperands,
39694 /* 112016 */ // GIR_Coverage, 18512,
39695 /* 112016 */ GIR_EraseRootFromParent_Done,
39696 /* 112017 */ // Label 3100: @112017
39697 /* 112017 */ GIM_Try, /*On fail goto*//*Label 3101*/ GIMT_Encode4(112096),
39698 /* 112022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39699 /* 112026 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3102*/ GIMT_Encode4(112077), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 21766 //
39700 /* 112033 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39701 /* 112037 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39702 /* 112041 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39703 /* 112044 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39704 /* 112048 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39705 /* 112052 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39706 /* 112054 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39707 /* 112061 */ // (zext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
39708 /* 112061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZ256rm),
39709 /* 112064 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39710 /* 112066 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39711 /* 112070 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39712 /* 112075 */ GIR_RootConstrainSelectedInstOperands,
39713 /* 112076 */ // GIR_Coverage, 21766,
39714 /* 112076 */ GIR_EraseRootFromParent_Done,
39715 /* 112077 */ // Label 3102: @112077
39716 /* 112077 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3103*/ GIMT_Encode4(112095), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 12464 //
39717 /* 112084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39718 /* 112088 */ // (zext:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src) => (VPMOVZXDQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src)
39719 /* 112088 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZ256rr),
39720 /* 112093 */ GIR_RootConstrainSelectedInstOperands,
39721 /* 112094 */ // GIR_Coverage, 12464,
39722 /* 112094 */ GIR_Done,
39723 /* 112095 */ // Label 3103: @112095
39724 /* 112095 */ GIM_Reject,
39725 /* 112096 */ // Label 3101: @112096
39726 /* 112096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3104*/ GIMT_Encode4(112118), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 18500 //
39727 /* 112103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39728 /* 112107 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39729 /* 112111 */ // (zext:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src) => (VPMOVZXDQYrr:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src)
39730 /* 112111 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQYrr),
39731 /* 112116 */ GIR_RootConstrainSelectedInstOperands,
39732 /* 112117 */ // GIR_Coverage, 18500,
39733 /* 112117 */ GIR_Done,
39734 /* 112118 */ // Label 3104: @112118
39735 /* 112118 */ GIM_Reject,
39736 /* 112119 */ // Label 3099: @112119
39737 /* 112119 */ GIM_Reject,
39738 /* 112120 */ // Label 3048: @112120
39739 /* 112120 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(16), GIMT_Encode2(21), /*)*//*default:*//*Label 3107*/ GIMT_Encode4(112311),
39740 /* 112131 */ /*GILLT_v8s16*//*Label 3105*/ GIMT_Encode4(112151), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
39741 /* 112147 */ /*GILLT_v8s32*//*Label 3106*/ GIMT_Encode4(112231),
39742 /* 112151 */ // Label 3105: @112151
39743 /* 112151 */ GIM_Try, /*On fail goto*//*Label 3108*/ GIMT_Encode4(112230),
39744 /* 112156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39745 /* 112160 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3109*/ GIMT_Encode4(112211), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21770 //
39746 /* 112167 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39747 /* 112171 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39748 /* 112175 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39749 /* 112178 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39750 /* 112182 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39751 /* 112186 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39752 /* 112188 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39753 /* 112195 */ // (zext:{ *:[v8i64] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
39754 /* 112195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWQZrm),
39755 /* 112198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39756 /* 112200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39757 /* 112204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39758 /* 112209 */ GIR_RootConstrainSelectedInstOperands,
39759 /* 112210 */ // GIR_Coverage, 21770,
39760 /* 112210 */ GIR_EraseRootFromParent_Done,
39761 /* 112211 */ // Label 3109: @112211
39762 /* 112211 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3110*/ GIMT_Encode4(112229), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12452 //
39763 /* 112218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39764 /* 112222 */ // (zext:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src) => (VPMOVZXWQZrr:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src)
39765 /* 112222 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWQZrr),
39766 /* 112227 */ GIR_RootConstrainSelectedInstOperands,
39767 /* 112228 */ // GIR_Coverage, 12452,
39768 /* 112228 */ GIR_Done,
39769 /* 112229 */ // Label 3110: @112229
39770 /* 112229 */ GIM_Reject,
39771 /* 112230 */ // Label 3108: @112230
39772 /* 112230 */ GIM_Reject,
39773 /* 112231 */ // Label 3106: @112231
39774 /* 112231 */ GIM_Try, /*On fail goto*//*Label 3111*/ GIMT_Encode4(112310),
39775 /* 112236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39776 /* 112240 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3112*/ GIMT_Encode4(112291), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21771 //
39777 /* 112247 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39778 /* 112251 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39779 /* 112255 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39780 /* 112258 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39781 /* 112262 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39782 /* 112266 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39783 /* 112268 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39784 /* 112275 */ // (zext:{ *:[v8i64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
39785 /* 112275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZrm),
39786 /* 112278 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39787 /* 112280 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39788 /* 112284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39789 /* 112289 */ GIR_RootConstrainSelectedInstOperands,
39790 /* 112290 */ // GIR_Coverage, 21771,
39791 /* 112290 */ GIR_EraseRootFromParent_Done,
39792 /* 112291 */ // Label 3112: @112291
39793 /* 112291 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3113*/ GIMT_Encode4(112309), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12470 //
39794 /* 112298 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39795 /* 112302 */ // (zext:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src) => (VPMOVZXDQZrr:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src)
39796 /* 112302 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZrr),
39797 /* 112307 */ GIR_RootConstrainSelectedInstOperands,
39798 /* 112308 */ // GIR_Coverage, 12470,
39799 /* 112308 */ GIR_Done,
39800 /* 112309 */ // Label 3113: @112309
39801 /* 112309 */ GIM_Reject,
39802 /* 112310 */ // Label 3111: @112310
39803 /* 112310 */ GIM_Reject,
39804 /* 112311 */ // Label 3107: @112311
39805 /* 112311 */ GIM_Reject,
39806 /* 112312 */ // Label 3049: @112312
39807 /* 112312 */ GIM_Reject,
39808 /* 112313 */ // Label 29: @112313
39809 /* 112313 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 3118*/ GIMT_Encode4(113944),
39810 /* 112324 */ /*GILLT_s8*//*Label 3114*/ GIMT_Encode4(112340),
39811 /* 112328 */ /*GILLT_s16*//*Label 3115*/ GIMT_Encode4(112553),
39812 /* 112332 */ /*GILLT_s32*//*Label 3116*/ GIMT_Encode4(112766),
39813 /* 112336 */ /*GILLT_s64*//*Label 3117*/ GIMT_Encode4(113355),
39814 /* 112340 */ // Label 3114: @112340
39815 /* 112340 */ GIM_Try, /*On fail goto*//*Label 3119*/ GIMT_Encode4(112552),
39816 /* 112345 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39817 /* 112348 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
39818 /* 112351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39819 /* 112355 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39820 /* 112359 */ GIM_Try, /*On fail goto*//*Label 3120*/ GIMT_Encode4(112411),
39821 /* 112364 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
39822 /* 112368 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3121*/ GIMT_Encode4(112389), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 22905 //
39823 /* 112375 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 1:{ *:[i8] }) => (ADD8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src1)
39824 /* 112375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rr),
39825 /* 112378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39826 /* 112380 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39827 /* 112382 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39828 /* 112384 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39829 /* 112387 */ GIR_RootConstrainSelectedInstOperands,
39830 /* 112388 */ // GIR_Coverage, 22905,
39831 /* 112388 */ GIR_EraseRootFromParent_Done,
39832 /* 112389 */ // Label 3121: @112389
39833 /* 112389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3122*/ GIMT_Encode4(112410), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 22909 //
39834 /* 112396 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 1:{ *:[i8] }) => (ADD8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src1)
39835 /* 112396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rr_ND),
39836 /* 112399 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39837 /* 112401 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39838 /* 112403 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39839 /* 112405 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39840 /* 112408 */ GIR_RootConstrainSelectedInstOperands,
39841 /* 112409 */ // GIR_Coverage, 22909,
39842 /* 112409 */ GIR_EraseRootFromParent_Done,
39843 /* 112410 */ // Label 3122: @112410
39844 /* 112410 */ GIM_Reject,
39845 /* 112411 */ // Label 3120: @112411
39846 /* 112411 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3123*/ GIMT_Encode4(112443), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 637 //
39847 /* 112418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
39848 /* 112422 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39849 /* 112426 */ // MIs[1] Operand 1
39850 /* 112426 */ // No operand predicates
39851 /* 112426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39852 /* 112428 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
39853 /* 112428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8ri),
39854 /* 112431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39855 /* 112433 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39856 /* 112435 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
39857 /* 112438 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39858 /* 112441 */ GIR_RootConstrainSelectedInstOperands,
39859 /* 112442 */ // GIR_Coverage, 637,
39860 /* 112442 */ GIR_EraseRootFromParent_Done,
39861 /* 112443 */ // Label 3123: @112443
39862 /* 112443 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3124*/ GIMT_Encode4(112475), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 641 //
39863 /* 112450 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
39864 /* 112454 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39865 /* 112458 */ // MIs[1] Operand 1
39866 /* 112458 */ // No operand predicates
39867 /* 112458 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39868 /* 112460 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
39869 /* 112460 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8ri_ND),
39870 /* 112463 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39871 /* 112465 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39872 /* 112467 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
39873 /* 112470 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39874 /* 112473 */ GIR_RootConstrainSelectedInstOperands,
39875 /* 112474 */ // GIR_Coverage, 641,
39876 /* 112474 */ GIR_EraseRootFromParent_Done,
39877 /* 112475 */ // Label 3124: @112475
39878 /* 112475 */ GIM_Try, /*On fail goto*//*Label 3125*/ GIMT_Encode4(112551),
39879 /* 112480 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
39880 /* 112484 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3126*/ GIMT_Encode4(112517), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 653 //
39881 /* 112491 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHL8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
39882 /* 112491 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39883 /* 112495 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39884 /* 112501 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
39885 /* 112505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8rCL),
39886 /* 112508 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39887 /* 112510 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39888 /* 112512 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39889 /* 112515 */ GIR_RootConstrainSelectedInstOperands,
39890 /* 112516 */ // GIR_Coverage, 653,
39891 /* 112516 */ GIR_EraseRootFromParent_Done,
39892 /* 112517 */ // Label 3126: @112517
39893 /* 112517 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3127*/ GIMT_Encode4(112550), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 657 //
39894 /* 112524 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHL8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
39895 /* 112524 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39896 /* 112528 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39897 /* 112534 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
39898 /* 112538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8rCL_ND),
39899 /* 112541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39900 /* 112543 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39901 /* 112545 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39902 /* 112548 */ GIR_RootConstrainSelectedInstOperands,
39903 /* 112549 */ // GIR_Coverage, 657,
39904 /* 112549 */ GIR_EraseRootFromParent_Done,
39905 /* 112550 */ // Label 3127: @112550
39906 /* 112550 */ GIM_Reject,
39907 /* 112551 */ // Label 3125: @112551
39908 /* 112551 */ GIM_Reject,
39909 /* 112552 */ // Label 3119: @112552
39910 /* 112552 */ GIM_Reject,
39911 /* 112553 */ // Label 3115: @112553
39912 /* 112553 */ GIM_Try, /*On fail goto*//*Label 3128*/ GIMT_Encode4(112765),
39913 /* 112558 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39914 /* 112561 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
39915 /* 112564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39916 /* 112568 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39917 /* 112572 */ GIM_Try, /*On fail goto*//*Label 3129*/ GIMT_Encode4(112624),
39918 /* 112577 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
39919 /* 112581 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3130*/ GIMT_Encode4(112602), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 22906 //
39920 /* 112588 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 1:{ *:[i8] }) => (ADD16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src1)
39921 /* 112588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rr),
39922 /* 112591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39923 /* 112593 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39924 /* 112595 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39925 /* 112597 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39926 /* 112600 */ GIR_RootConstrainSelectedInstOperands,
39927 /* 112601 */ // GIR_Coverage, 22906,
39928 /* 112601 */ GIR_EraseRootFromParent_Done,
39929 /* 112602 */ // Label 3130: @112602
39930 /* 112602 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3131*/ GIMT_Encode4(112623), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 22910 //
39931 /* 112609 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 1:{ *:[i8] }) => (ADD16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src1)
39932 /* 112609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rr_ND),
39933 /* 112612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39934 /* 112614 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39935 /* 112616 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39936 /* 112618 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39937 /* 112621 */ GIR_RootConstrainSelectedInstOperands,
39938 /* 112622 */ // GIR_Coverage, 22910,
39939 /* 112622 */ GIR_EraseRootFromParent_Done,
39940 /* 112623 */ // Label 3131: @112623
39941 /* 112623 */ GIM_Reject,
39942 /* 112624 */ // Label 3129: @112624
39943 /* 112624 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3132*/ GIMT_Encode4(112656), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 638 //
39944 /* 112631 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
39945 /* 112635 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39946 /* 112639 */ // MIs[1] Operand 1
39947 /* 112639 */ // No operand predicates
39948 /* 112639 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39949 /* 112641 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
39950 /* 112641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16ri),
39951 /* 112644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39952 /* 112646 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39953 /* 112648 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
39954 /* 112651 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39955 /* 112654 */ GIR_RootConstrainSelectedInstOperands,
39956 /* 112655 */ // GIR_Coverage, 638,
39957 /* 112655 */ GIR_EraseRootFromParent_Done,
39958 /* 112656 */ // Label 3132: @112656
39959 /* 112656 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3133*/ GIMT_Encode4(112688), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 642 //
39960 /* 112663 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
39961 /* 112667 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
39962 /* 112671 */ // MIs[1] Operand 1
39963 /* 112671 */ // No operand predicates
39964 /* 112671 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39965 /* 112673 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
39966 /* 112673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16ri_ND),
39967 /* 112676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39968 /* 112678 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39969 /* 112680 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
39970 /* 112683 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39971 /* 112686 */ GIR_RootConstrainSelectedInstOperands,
39972 /* 112687 */ // GIR_Coverage, 642,
39973 /* 112687 */ GIR_EraseRootFromParent_Done,
39974 /* 112688 */ // Label 3133: @112688
39975 /* 112688 */ GIM_Try, /*On fail goto*//*Label 3134*/ GIMT_Encode4(112764),
39976 /* 112693 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
39977 /* 112697 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3135*/ GIMT_Encode4(112730), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 654 //
39978 /* 112704 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHL16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
39979 /* 112704 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39980 /* 112708 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39981 /* 112714 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
39982 /* 112718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16rCL),
39983 /* 112721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39984 /* 112723 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39985 /* 112725 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39986 /* 112728 */ GIR_RootConstrainSelectedInstOperands,
39987 /* 112729 */ // GIR_Coverage, 654,
39988 /* 112729 */ GIR_EraseRootFromParent_Done,
39989 /* 112730 */ // Label 3135: @112730
39990 /* 112730 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3136*/ GIMT_Encode4(112763), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 658 //
39991 /* 112737 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHL16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
39992 /* 112737 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39993 /* 112741 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39994 /* 112747 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
39995 /* 112751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16rCL_ND),
39996 /* 112754 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39997 /* 112756 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
39998 /* 112758 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39999 /* 112761 */ GIR_RootConstrainSelectedInstOperands,
40000 /* 112762 */ // GIR_Coverage, 658,
40001 /* 112762 */ GIR_EraseRootFromParent_Done,
40002 /* 112763 */ // Label 3136: @112763
40003 /* 112763 */ GIM_Reject,
40004 /* 112764 */ // Label 3134: @112764
40005 /* 112764 */ GIM_Reject,
40006 /* 112765 */ // Label 3128: @112765
40007 /* 112765 */ GIM_Reject,
40008 /* 112766 */ // Label 3116: @112766
40009 /* 112766 */ GIM_Try, /*On fail goto*//*Label 3137*/ GIMT_Encode4(113354),
40010 /* 112771 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
40011 /* 112774 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40012 /* 112777 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40013 /* 112781 */ GIM_Try, /*On fail goto*//*Label 3138*/ GIMT_Encode4(113001),
40014 /* 112786 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40015 /* 112790 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3139*/ GIMT_Encode4(112895), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17729 //
40016 /* 112797 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40017 /* 112801 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40018 /* 112805 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40019 /* 112808 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40020 /* 112812 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
40021 /* 112816 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40022 /* 112818 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40023 /* 112825 */ // (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] }))
40024 /* 112825 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40025 /* 112828 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40026 /* 112832 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40027 /* 112837 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40028 /* 112839 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40029 /* 112842 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40030 /* 112846 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40031 /* 112851 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40032 /* 112854 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40033 /* 112858 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40034 /* 112861 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40035 /* 112866 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40036 /* 112871 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40037 /* 112876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rm),
40038 /* 112879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40039 /* 112881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40040 /* 112885 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40041 /* 112888 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40042 /* 112893 */ GIR_RootConstrainSelectedInstOperands,
40043 /* 112894 */ // GIR_Coverage, 17729,
40044 /* 112894 */ GIR_EraseRootFromParent_Done,
40045 /* 112895 */ // Label 3139: @112895
40046 /* 112895 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3140*/ GIMT_Encode4(113000), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17761 //
40047 /* 112902 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40048 /* 112906 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40049 /* 112910 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40050 /* 112913 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40051 /* 112917 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
40052 /* 112921 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40053 /* 112923 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40054 /* 112930 */ // (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] }))
40055 /* 112930 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40056 /* 112933 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40057 /* 112937 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40058 /* 112942 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40059 /* 112944 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40060 /* 112947 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40061 /* 112951 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40062 /* 112956 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40063 /* 112959 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40064 /* 112963 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40065 /* 112966 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40066 /* 112971 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40067 /* 112976 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40068 /* 112981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rm_EVEX),
40069 /* 112984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40070 /* 112986 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40071 /* 112990 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40072 /* 112993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40073 /* 112998 */ GIR_RootConstrainSelectedInstOperands,
40074 /* 112999 */ // GIR_Coverage, 17761,
40075 /* 112999 */ GIR_EraseRootFromParent_Done,
40076 /* 113000 */ // Label 3140: @113000
40077 /* 113000 */ GIM_Reject,
40078 /* 113001 */ // Label 3138: @113001
40079 /* 113001 */ GIM_Try, /*On fail goto*//*Label 3141*/ GIMT_Encode4(113353),
40080 /* 113006 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40081 /* 113010 */ GIM_Try, /*On fail goto*//*Label 3142*/ GIMT_Encode4(113062),
40082 /* 113015 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40083 /* 113019 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3143*/ GIMT_Encode4(113040), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 22907 //
40084 /* 113026 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 1:{ *:[i8] }) => (ADD32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src1)
40085 /* 113026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rr),
40086 /* 113029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40087 /* 113031 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40088 /* 113033 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40089 /* 113035 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40090 /* 113038 */ GIR_RootConstrainSelectedInstOperands,
40091 /* 113039 */ // GIR_Coverage, 22907,
40092 /* 113039 */ GIR_EraseRootFromParent_Done,
40093 /* 113040 */ // Label 3143: @113040
40094 /* 113040 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3144*/ GIMT_Encode4(113061), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 22911 //
40095 /* 113047 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 1:{ *:[i8] }) => (ADD32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src1)
40096 /* 113047 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rr_ND),
40097 /* 113050 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40098 /* 113052 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40099 /* 113054 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40100 /* 113056 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40101 /* 113059 */ GIR_RootConstrainSelectedInstOperands,
40102 /* 113060 */ // GIR_Coverage, 22911,
40103 /* 113060 */ GIR_EraseRootFromParent_Done,
40104 /* 113061 */ // Label 3144: @113061
40105 /* 113061 */ GIM_Reject,
40106 /* 113062 */ // Label 3142: @113062
40107 /* 113062 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3145*/ GIMT_Encode4(113094), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 639 //
40108 /* 113069 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40109 /* 113073 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40110 /* 113077 */ // MIs[1] Operand 1
40111 /* 113077 */ // No operand predicates
40112 /* 113077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40113 /* 113079 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
40114 /* 113079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32ri),
40115 /* 113082 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40116 /* 113084 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40117 /* 113086 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40118 /* 113089 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40119 /* 113092 */ GIR_RootConstrainSelectedInstOperands,
40120 /* 113093 */ // GIR_Coverage, 639,
40121 /* 113093 */ GIR_EraseRootFromParent_Done,
40122 /* 113094 */ // Label 3145: @113094
40123 /* 113094 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3146*/ GIMT_Encode4(113126), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 643 //
40124 /* 113101 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40125 /* 113105 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40126 /* 113109 */ // MIs[1] Operand 1
40127 /* 113109 */ // No operand predicates
40128 /* 113109 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40129 /* 113111 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
40130 /* 113111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32ri_ND),
40131 /* 113114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40132 /* 113116 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40133 /* 113118 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40134 /* 113121 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40135 /* 113124 */ GIR_RootConstrainSelectedInstOperands,
40136 /* 113125 */ // GIR_Coverage, 643,
40137 /* 113125 */ GIR_EraseRootFromParent_Done,
40138 /* 113126 */ // Label 3146: @113126
40139 /* 113126 */ GIM_Try, /*On fail goto*//*Label 3147*/ GIMT_Encode4(113276),
40140 /* 113131 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40141 /* 113135 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3148*/ GIMT_Encode4(113205), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17725 //
40142 /* 113142 */ // (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] }))
40143 /* 113142 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40144 /* 113145 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40145 /* 113149 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40146 /* 113154 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40147 /* 113156 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40148 /* 113159 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40149 /* 113163 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40150 /* 113168 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40151 /* 113171 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40152 /* 113175 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40153 /* 113178 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40154 /* 113183 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40155 /* 113188 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40156 /* 113193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rr),
40157 /* 113196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40158 /* 113198 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40159 /* 113200 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40160 /* 113203 */ GIR_RootConstrainSelectedInstOperands,
40161 /* 113204 */ // GIR_Coverage, 17725,
40162 /* 113204 */ GIR_EraseRootFromParent_Done,
40163 /* 113205 */ // Label 3148: @113205
40164 /* 113205 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3149*/ GIMT_Encode4(113275), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17757 //
40165 /* 113212 */ // (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] }))
40166 /* 113212 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40167 /* 113215 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40168 /* 113219 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40169 /* 113224 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40170 /* 113226 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40171 /* 113229 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40172 /* 113233 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40173 /* 113238 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40174 /* 113241 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40175 /* 113245 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40176 /* 113248 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40177 /* 113253 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40178 /* 113258 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40179 /* 113263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rr_EVEX),
40180 /* 113266 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40181 /* 113268 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40182 /* 113270 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40183 /* 113273 */ GIR_RootConstrainSelectedInstOperands,
40184 /* 113274 */ // GIR_Coverage, 17757,
40185 /* 113274 */ GIR_EraseRootFromParent_Done,
40186 /* 113275 */ // Label 3149: @113275
40187 /* 113275 */ GIM_Reject,
40188 /* 113276 */ // Label 3147: @113276
40189 /* 113276 */ GIM_Try, /*On fail goto*//*Label 3150*/ GIMT_Encode4(113352),
40190 /* 113281 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40191 /* 113285 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3151*/ GIMT_Encode4(113318), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 655 //
40192 /* 113292 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHL32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
40193 /* 113292 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40194 /* 113296 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40195 /* 113302 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40196 /* 113306 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32rCL),
40197 /* 113309 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40198 /* 113311 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40199 /* 113313 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40200 /* 113316 */ GIR_RootConstrainSelectedInstOperands,
40201 /* 113317 */ // GIR_Coverage, 655,
40202 /* 113317 */ GIR_EraseRootFromParent_Done,
40203 /* 113318 */ // Label 3151: @113318
40204 /* 113318 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3152*/ GIMT_Encode4(113351), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 659 //
40205 /* 113325 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHL32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
40206 /* 113325 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40207 /* 113329 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40208 /* 113335 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40209 /* 113339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32rCL_ND),
40210 /* 113342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40211 /* 113344 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40212 /* 113346 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40213 /* 113349 */ GIR_RootConstrainSelectedInstOperands,
40214 /* 113350 */ // GIR_Coverage, 659,
40215 /* 113350 */ GIR_EraseRootFromParent_Done,
40216 /* 113351 */ // Label 3152: @113351
40217 /* 113351 */ GIM_Reject,
40218 /* 113352 */ // Label 3150: @113352
40219 /* 113352 */ GIM_Reject,
40220 /* 113353 */ // Label 3141: @113353
40221 /* 113353 */ GIM_Reject,
40222 /* 113354 */ // Label 3137: @113354
40223 /* 113354 */ GIM_Reject,
40224 /* 113355 */ // Label 3117: @113355
40225 /* 113355 */ GIM_Try, /*On fail goto*//*Label 3153*/ GIMT_Encode4(113943),
40226 /* 113360 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
40227 /* 113363 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40228 /* 113366 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40229 /* 113370 */ GIM_Try, /*On fail goto*//*Label 3154*/ GIMT_Encode4(113590),
40230 /* 113375 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40231 /* 113379 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3155*/ GIMT_Encode4(113484), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17730 //
40232 /* 113386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40233 /* 113390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40234 /* 113394 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40235 /* 113397 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40236 /* 113401 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40237 /* 113405 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40238 /* 113407 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40239 /* 113414 */ // (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] }))
40240 /* 113414 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40241 /* 113417 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40242 /* 113421 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40243 /* 113426 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40244 /* 113428 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40245 /* 113431 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40246 /* 113435 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40247 /* 113440 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40248 /* 113443 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40249 /* 113447 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40250 /* 113450 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40251 /* 113455 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40252 /* 113460 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40253 /* 113465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rm),
40254 /* 113468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40255 /* 113470 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40256 /* 113474 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40257 /* 113477 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40258 /* 113482 */ GIR_RootConstrainSelectedInstOperands,
40259 /* 113483 */ // GIR_Coverage, 17730,
40260 /* 113483 */ GIR_EraseRootFromParent_Done,
40261 /* 113484 */ // Label 3155: @113484
40262 /* 113484 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3156*/ GIMT_Encode4(113589), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17762 //
40263 /* 113491 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40264 /* 113495 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40265 /* 113499 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40266 /* 113502 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40267 /* 113506 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40268 /* 113510 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40269 /* 113512 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40270 /* 113519 */ // (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] }))
40271 /* 113519 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40272 /* 113522 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40273 /* 113526 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40274 /* 113531 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40275 /* 113533 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40276 /* 113536 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40277 /* 113540 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40278 /* 113545 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40279 /* 113548 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40280 /* 113552 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40281 /* 113555 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40282 /* 113560 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40283 /* 113565 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40284 /* 113570 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rm_EVEX),
40285 /* 113573 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40286 /* 113575 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40287 /* 113579 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40288 /* 113582 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40289 /* 113587 */ GIR_RootConstrainSelectedInstOperands,
40290 /* 113588 */ // GIR_Coverage, 17762,
40291 /* 113588 */ GIR_EraseRootFromParent_Done,
40292 /* 113589 */ // Label 3156: @113589
40293 /* 113589 */ GIM_Reject,
40294 /* 113590 */ // Label 3154: @113590
40295 /* 113590 */ GIM_Try, /*On fail goto*//*Label 3157*/ GIMT_Encode4(113942),
40296 /* 113595 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40297 /* 113599 */ GIM_Try, /*On fail goto*//*Label 3158*/ GIMT_Encode4(113651),
40298 /* 113604 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40299 /* 113608 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3159*/ GIMT_Encode4(113629), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 22908 //
40300 /* 113615 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 1:{ *:[i8] }) => (ADD64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src1)
40301 /* 113615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rr),
40302 /* 113618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40303 /* 113620 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40304 /* 113622 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40305 /* 113624 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40306 /* 113627 */ GIR_RootConstrainSelectedInstOperands,
40307 /* 113628 */ // GIR_Coverage, 22908,
40308 /* 113628 */ GIR_EraseRootFromParent_Done,
40309 /* 113629 */ // Label 3159: @113629
40310 /* 113629 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3160*/ GIMT_Encode4(113650), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 22912 //
40311 /* 113636 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 1:{ *:[i8] }) => (ADD64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src1)
40312 /* 113636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rr_ND),
40313 /* 113639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40314 /* 113641 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40315 /* 113643 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40316 /* 113645 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40317 /* 113648 */ GIR_RootConstrainSelectedInstOperands,
40318 /* 113649 */ // GIR_Coverage, 22912,
40319 /* 113649 */ GIR_EraseRootFromParent_Done,
40320 /* 113650 */ // Label 3160: @113650
40321 /* 113650 */ GIM_Reject,
40322 /* 113651 */ // Label 3158: @113651
40323 /* 113651 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3161*/ GIMT_Encode4(113683), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 640 //
40324 /* 113658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40325 /* 113662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40326 /* 113666 */ // MIs[1] Operand 1
40327 /* 113666 */ // No operand predicates
40328 /* 113666 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40329 /* 113668 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
40330 /* 113668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64ri),
40331 /* 113671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40332 /* 113673 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40333 /* 113675 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40334 /* 113678 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40335 /* 113681 */ GIR_RootConstrainSelectedInstOperands,
40336 /* 113682 */ // GIR_Coverage, 640,
40337 /* 113682 */ GIR_EraseRootFromParent_Done,
40338 /* 113683 */ // Label 3161: @113683
40339 /* 113683 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3162*/ GIMT_Encode4(113715), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 644 //
40340 /* 113690 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40341 /* 113694 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40342 /* 113698 */ // MIs[1] Operand 1
40343 /* 113698 */ // No operand predicates
40344 /* 113698 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40345 /* 113700 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
40346 /* 113700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64ri_ND),
40347 /* 113703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40348 /* 113705 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40349 /* 113707 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40350 /* 113710 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40351 /* 113713 */ GIR_RootConstrainSelectedInstOperands,
40352 /* 113714 */ // GIR_Coverage, 644,
40353 /* 113714 */ GIR_EraseRootFromParent_Done,
40354 /* 113715 */ // Label 3162: @113715
40355 /* 113715 */ GIM_Try, /*On fail goto*//*Label 3163*/ GIMT_Encode4(113865),
40356 /* 113720 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40357 /* 113724 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3164*/ GIMT_Encode4(113794), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17726 //
40358 /* 113731 */ // (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] }))
40359 /* 113731 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40360 /* 113734 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40361 /* 113738 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40362 /* 113743 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40363 /* 113745 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40364 /* 113748 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40365 /* 113752 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40366 /* 113757 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40367 /* 113760 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40368 /* 113764 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40369 /* 113767 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40370 /* 113772 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40371 /* 113777 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40372 /* 113782 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rr),
40373 /* 113785 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40374 /* 113787 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40375 /* 113789 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40376 /* 113792 */ GIR_RootConstrainSelectedInstOperands,
40377 /* 113793 */ // GIR_Coverage, 17726,
40378 /* 113793 */ GIR_EraseRootFromParent_Done,
40379 /* 113794 */ // Label 3164: @113794
40380 /* 113794 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3165*/ GIMT_Encode4(113864), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17758 //
40381 /* 113801 */ // (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] }))
40382 /* 113801 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40383 /* 113804 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40384 /* 113808 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40385 /* 113813 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40386 /* 113815 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40387 /* 113818 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40388 /* 113822 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40389 /* 113827 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40390 /* 113830 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40391 /* 113834 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40392 /* 113837 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40393 /* 113842 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40394 /* 113847 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40395 /* 113852 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rr_EVEX),
40396 /* 113855 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40397 /* 113857 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40398 /* 113859 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40399 /* 113862 */ GIR_RootConstrainSelectedInstOperands,
40400 /* 113863 */ // GIR_Coverage, 17758,
40401 /* 113863 */ GIR_EraseRootFromParent_Done,
40402 /* 113864 */ // Label 3165: @113864
40403 /* 113864 */ GIM_Reject,
40404 /* 113865 */ // Label 3163: @113865
40405 /* 113865 */ GIM_Try, /*On fail goto*//*Label 3166*/ GIMT_Encode4(113941),
40406 /* 113870 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40407 /* 113874 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3167*/ GIMT_Encode4(113907), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 656 //
40408 /* 113881 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHL64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
40409 /* 113881 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40410 /* 113885 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40411 /* 113891 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40412 /* 113895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64rCL),
40413 /* 113898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40414 /* 113900 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40415 /* 113902 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40416 /* 113905 */ GIR_RootConstrainSelectedInstOperands,
40417 /* 113906 */ // GIR_Coverage, 656,
40418 /* 113906 */ GIR_EraseRootFromParent_Done,
40419 /* 113907 */ // Label 3167: @113907
40420 /* 113907 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3168*/ GIMT_Encode4(113940), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 660 //
40421 /* 113914 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHL64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
40422 /* 113914 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40423 /* 113918 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40424 /* 113924 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40425 /* 113928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64rCL_ND),
40426 /* 113931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40427 /* 113933 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40428 /* 113935 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40429 /* 113938 */ GIR_RootConstrainSelectedInstOperands,
40430 /* 113939 */ // GIR_Coverage, 660,
40431 /* 113939 */ GIR_EraseRootFromParent_Done,
40432 /* 113940 */ // Label 3168: @113940
40433 /* 113940 */ GIM_Reject,
40434 /* 113941 */ // Label 3166: @113941
40435 /* 113941 */ GIM_Reject,
40436 /* 113942 */ // Label 3157: @113942
40437 /* 113942 */ GIM_Reject,
40438 /* 113943 */ // Label 3153: @113943
40439 /* 113943 */ GIM_Reject,
40440 /* 113944 */ // Label 3118: @113944
40441 /* 113944 */ GIM_Reject,
40442 /* 113945 */ // Label 30: @113945
40443 /* 113945 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 3173*/ GIMT_Encode4(115368),
40444 /* 113956 */ /*GILLT_s8*//*Label 3169*/ GIMT_Encode4(113972),
40445 /* 113960 */ /*GILLT_s16*//*Label 3170*/ GIMT_Encode4(114133),
40446 /* 113964 */ /*GILLT_s32*//*Label 3171*/ GIMT_Encode4(114294),
40447 /* 113968 */ /*GILLT_s64*//*Label 3172*/ GIMT_Encode4(114831),
40448 /* 113972 */ // Label 3169: @113972
40449 /* 113972 */ GIM_Try, /*On fail goto*//*Label 3174*/ GIMT_Encode4(114132),
40450 /* 113977 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40451 /* 113980 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40452 /* 113983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40453 /* 113987 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40454 /* 113991 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3175*/ GIMT_Encode4(114023), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 669 //
40455 /* 113998 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40456 /* 114002 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40457 /* 114006 */ // MIs[1] Operand 1
40458 /* 114006 */ // No operand predicates
40459 /* 114006 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40460 /* 114008 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
40461 /* 114008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8ri),
40462 /* 114011 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40463 /* 114013 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40464 /* 114015 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40465 /* 114018 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40466 /* 114021 */ GIR_RootConstrainSelectedInstOperands,
40467 /* 114022 */ // GIR_Coverage, 669,
40468 /* 114022 */ GIR_EraseRootFromParent_Done,
40469 /* 114023 */ // Label 3175: @114023
40470 /* 114023 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3176*/ GIMT_Encode4(114055), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 673 //
40471 /* 114030 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40472 /* 114034 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40473 /* 114038 */ // MIs[1] Operand 1
40474 /* 114038 */ // No operand predicates
40475 /* 114038 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40476 /* 114040 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
40477 /* 114040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8ri_ND),
40478 /* 114043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40479 /* 114045 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40480 /* 114047 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40481 /* 114050 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40482 /* 114053 */ GIR_RootConstrainSelectedInstOperands,
40483 /* 114054 */ // GIR_Coverage, 673,
40484 /* 114054 */ GIR_EraseRootFromParent_Done,
40485 /* 114055 */ // Label 3176: @114055
40486 /* 114055 */ GIM_Try, /*On fail goto*//*Label 3177*/ GIMT_Encode4(114131),
40487 /* 114060 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40488 /* 114064 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3178*/ GIMT_Encode4(114097), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 685 //
40489 /* 114071 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
40490 /* 114071 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40491 /* 114075 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40492 /* 114081 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40493 /* 114085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8rCL),
40494 /* 114088 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40495 /* 114090 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40496 /* 114092 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40497 /* 114095 */ GIR_RootConstrainSelectedInstOperands,
40498 /* 114096 */ // GIR_Coverage, 685,
40499 /* 114096 */ GIR_EraseRootFromParent_Done,
40500 /* 114097 */ // Label 3178: @114097
40501 /* 114097 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3179*/ GIMT_Encode4(114130), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 689 //
40502 /* 114104 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
40503 /* 114104 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40504 /* 114108 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40505 /* 114114 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40506 /* 114118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8rCL_ND),
40507 /* 114121 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40508 /* 114123 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40509 /* 114125 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40510 /* 114128 */ GIR_RootConstrainSelectedInstOperands,
40511 /* 114129 */ // GIR_Coverage, 689,
40512 /* 114129 */ GIR_EraseRootFromParent_Done,
40513 /* 114130 */ // Label 3179: @114130
40514 /* 114130 */ GIM_Reject,
40515 /* 114131 */ // Label 3177: @114131
40516 /* 114131 */ GIM_Reject,
40517 /* 114132 */ // Label 3174: @114132
40518 /* 114132 */ GIM_Reject,
40519 /* 114133 */ // Label 3170: @114133
40520 /* 114133 */ GIM_Try, /*On fail goto*//*Label 3180*/ GIMT_Encode4(114293),
40521 /* 114138 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40522 /* 114141 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40523 /* 114144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40524 /* 114148 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40525 /* 114152 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3181*/ GIMT_Encode4(114184), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 670 //
40526 /* 114159 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40527 /* 114163 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40528 /* 114167 */ // MIs[1] Operand 1
40529 /* 114167 */ // No operand predicates
40530 /* 114167 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40531 /* 114169 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
40532 /* 114169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16ri),
40533 /* 114172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40534 /* 114174 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40535 /* 114176 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40536 /* 114179 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40537 /* 114182 */ GIR_RootConstrainSelectedInstOperands,
40538 /* 114183 */ // GIR_Coverage, 670,
40539 /* 114183 */ GIR_EraseRootFromParent_Done,
40540 /* 114184 */ // Label 3181: @114184
40541 /* 114184 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3182*/ GIMT_Encode4(114216), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 674 //
40542 /* 114191 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40543 /* 114195 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40544 /* 114199 */ // MIs[1] Operand 1
40545 /* 114199 */ // No operand predicates
40546 /* 114199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40547 /* 114201 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
40548 /* 114201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16ri_ND),
40549 /* 114204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40550 /* 114206 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40551 /* 114208 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40552 /* 114211 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40553 /* 114214 */ GIR_RootConstrainSelectedInstOperands,
40554 /* 114215 */ // GIR_Coverage, 674,
40555 /* 114215 */ GIR_EraseRootFromParent_Done,
40556 /* 114216 */ // Label 3182: @114216
40557 /* 114216 */ GIM_Try, /*On fail goto*//*Label 3183*/ GIMT_Encode4(114292),
40558 /* 114221 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40559 /* 114225 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3184*/ GIMT_Encode4(114258), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 686 //
40560 /* 114232 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
40561 /* 114232 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40562 /* 114236 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40563 /* 114242 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40564 /* 114246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16rCL),
40565 /* 114249 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40566 /* 114251 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40567 /* 114253 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40568 /* 114256 */ GIR_RootConstrainSelectedInstOperands,
40569 /* 114257 */ // GIR_Coverage, 686,
40570 /* 114257 */ GIR_EraseRootFromParent_Done,
40571 /* 114258 */ // Label 3184: @114258
40572 /* 114258 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3185*/ GIMT_Encode4(114291), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 690 //
40573 /* 114265 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
40574 /* 114265 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40575 /* 114269 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40576 /* 114275 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40577 /* 114279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16rCL_ND),
40578 /* 114282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40579 /* 114284 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40580 /* 114286 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40581 /* 114289 */ GIR_RootConstrainSelectedInstOperands,
40582 /* 114290 */ // GIR_Coverage, 690,
40583 /* 114290 */ GIR_EraseRootFromParent_Done,
40584 /* 114291 */ // Label 3185: @114291
40585 /* 114291 */ GIM_Reject,
40586 /* 114292 */ // Label 3183: @114292
40587 /* 114292 */ GIM_Reject,
40588 /* 114293 */ // Label 3180: @114293
40589 /* 114293 */ GIM_Reject,
40590 /* 114294 */ // Label 3171: @114294
40591 /* 114294 */ GIM_Try, /*On fail goto*//*Label 3186*/ GIMT_Encode4(114830),
40592 /* 114299 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
40593 /* 114302 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40594 /* 114305 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40595 /* 114309 */ GIM_Try, /*On fail goto*//*Label 3187*/ GIMT_Encode4(114529),
40596 /* 114314 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40597 /* 114318 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3188*/ GIMT_Encode4(114423), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17721 //
40598 /* 114325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40599 /* 114329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40600 /* 114333 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40601 /* 114336 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40602 /* 114340 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
40603 /* 114344 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40604 /* 114346 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40605 /* 114353 */ // (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] }))
40606 /* 114353 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40607 /* 114356 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40608 /* 114360 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40609 /* 114365 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40610 /* 114367 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40611 /* 114370 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40612 /* 114374 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40613 /* 114379 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40614 /* 114382 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40615 /* 114386 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40616 /* 114389 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40617 /* 114394 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40618 /* 114399 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40619 /* 114404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rm),
40620 /* 114407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40621 /* 114409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40622 /* 114413 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40623 /* 114416 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40624 /* 114421 */ GIR_RootConstrainSelectedInstOperands,
40625 /* 114422 */ // GIR_Coverage, 17721,
40626 /* 114422 */ GIR_EraseRootFromParent_Done,
40627 /* 114423 */ // Label 3188: @114423
40628 /* 114423 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3189*/ GIMT_Encode4(114528), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17753 //
40629 /* 114430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40630 /* 114434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40631 /* 114438 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40632 /* 114441 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40633 /* 114445 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
40634 /* 114449 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40635 /* 114451 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40636 /* 114458 */ // (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] }))
40637 /* 114458 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40638 /* 114461 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40639 /* 114465 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40640 /* 114470 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40641 /* 114472 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40642 /* 114475 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40643 /* 114479 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40644 /* 114484 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40645 /* 114487 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40646 /* 114491 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40647 /* 114494 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40648 /* 114499 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40649 /* 114504 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40650 /* 114509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rm_EVEX),
40651 /* 114512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40652 /* 114514 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40653 /* 114518 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40654 /* 114521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40655 /* 114526 */ GIR_RootConstrainSelectedInstOperands,
40656 /* 114527 */ // GIR_Coverage, 17753,
40657 /* 114527 */ GIR_EraseRootFromParent_Done,
40658 /* 114528 */ // Label 3189: @114528
40659 /* 114528 */ GIM_Reject,
40660 /* 114529 */ // Label 3187: @114529
40661 /* 114529 */ GIM_Try, /*On fail goto*//*Label 3190*/ GIMT_Encode4(114829),
40662 /* 114534 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40663 /* 114538 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3191*/ GIMT_Encode4(114570), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 671 //
40664 /* 114545 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40665 /* 114549 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40666 /* 114553 */ // MIs[1] Operand 1
40667 /* 114553 */ // No operand predicates
40668 /* 114553 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40669 /* 114555 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
40670 /* 114555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32ri),
40671 /* 114558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40672 /* 114560 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40673 /* 114562 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40674 /* 114565 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40675 /* 114568 */ GIR_RootConstrainSelectedInstOperands,
40676 /* 114569 */ // GIR_Coverage, 671,
40677 /* 114569 */ GIR_EraseRootFromParent_Done,
40678 /* 114570 */ // Label 3191: @114570
40679 /* 114570 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3192*/ GIMT_Encode4(114602), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 675 //
40680 /* 114577 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40681 /* 114581 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40682 /* 114585 */ // MIs[1] Operand 1
40683 /* 114585 */ // No operand predicates
40684 /* 114585 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40685 /* 114587 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
40686 /* 114587 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32ri_ND),
40687 /* 114590 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40688 /* 114592 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40689 /* 114594 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40690 /* 114597 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40691 /* 114600 */ GIR_RootConstrainSelectedInstOperands,
40692 /* 114601 */ // GIR_Coverage, 675,
40693 /* 114601 */ GIR_EraseRootFromParent_Done,
40694 /* 114602 */ // Label 3192: @114602
40695 /* 114602 */ GIM_Try, /*On fail goto*//*Label 3193*/ GIMT_Encode4(114752),
40696 /* 114607 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40697 /* 114611 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3194*/ GIMT_Encode4(114681), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17717 //
40698 /* 114618 */ // (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] }))
40699 /* 114618 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40700 /* 114621 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40701 /* 114625 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40702 /* 114630 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40703 /* 114632 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40704 /* 114635 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40705 /* 114639 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40706 /* 114644 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40707 /* 114647 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40708 /* 114651 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40709 /* 114654 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40710 /* 114659 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40711 /* 114664 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40712 /* 114669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rr),
40713 /* 114672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40714 /* 114674 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40715 /* 114676 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40716 /* 114679 */ GIR_RootConstrainSelectedInstOperands,
40717 /* 114680 */ // GIR_Coverage, 17717,
40718 /* 114680 */ GIR_EraseRootFromParent_Done,
40719 /* 114681 */ // Label 3194: @114681
40720 /* 114681 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3195*/ GIMT_Encode4(114751), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17749 //
40721 /* 114688 */ // (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] }))
40722 /* 114688 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40723 /* 114691 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40724 /* 114695 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40725 /* 114700 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40726 /* 114702 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40727 /* 114705 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40728 /* 114709 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40729 /* 114714 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40730 /* 114717 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40731 /* 114721 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40732 /* 114724 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40733 /* 114729 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40734 /* 114734 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40735 /* 114739 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rr_EVEX),
40736 /* 114742 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40737 /* 114744 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40738 /* 114746 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40739 /* 114749 */ GIR_RootConstrainSelectedInstOperands,
40740 /* 114750 */ // GIR_Coverage, 17749,
40741 /* 114750 */ GIR_EraseRootFromParent_Done,
40742 /* 114751 */ // Label 3195: @114751
40743 /* 114751 */ GIM_Reject,
40744 /* 114752 */ // Label 3193: @114752
40745 /* 114752 */ GIM_Try, /*On fail goto*//*Label 3196*/ GIMT_Encode4(114828),
40746 /* 114757 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40747 /* 114761 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3197*/ GIMT_Encode4(114794), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 687 //
40748 /* 114768 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
40749 /* 114768 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40750 /* 114772 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40751 /* 114778 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40752 /* 114782 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32rCL),
40753 /* 114785 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40754 /* 114787 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40755 /* 114789 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40756 /* 114792 */ GIR_RootConstrainSelectedInstOperands,
40757 /* 114793 */ // GIR_Coverage, 687,
40758 /* 114793 */ GIR_EraseRootFromParent_Done,
40759 /* 114794 */ // Label 3197: @114794
40760 /* 114794 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3198*/ GIMT_Encode4(114827), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 691 //
40761 /* 114801 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
40762 /* 114801 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40763 /* 114805 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40764 /* 114811 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40765 /* 114815 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32rCL_ND),
40766 /* 114818 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40767 /* 114820 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40768 /* 114822 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40769 /* 114825 */ GIR_RootConstrainSelectedInstOperands,
40770 /* 114826 */ // GIR_Coverage, 691,
40771 /* 114826 */ GIR_EraseRootFromParent_Done,
40772 /* 114827 */ // Label 3198: @114827
40773 /* 114827 */ GIM_Reject,
40774 /* 114828 */ // Label 3196: @114828
40775 /* 114828 */ GIM_Reject,
40776 /* 114829 */ // Label 3190: @114829
40777 /* 114829 */ GIM_Reject,
40778 /* 114830 */ // Label 3186: @114830
40779 /* 114830 */ GIM_Reject,
40780 /* 114831 */ // Label 3172: @114831
40781 /* 114831 */ GIM_Try, /*On fail goto*//*Label 3199*/ GIMT_Encode4(115367),
40782 /* 114836 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
40783 /* 114839 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40784 /* 114842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40785 /* 114846 */ GIM_Try, /*On fail goto*//*Label 3200*/ GIMT_Encode4(115066),
40786 /* 114851 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40787 /* 114855 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3201*/ GIMT_Encode4(114960), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17722 //
40788 /* 114862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40789 /* 114866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40790 /* 114870 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40791 /* 114873 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40792 /* 114877 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40793 /* 114881 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40794 /* 114883 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40795 /* 114890 */ // (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] }))
40796 /* 114890 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40797 /* 114893 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40798 /* 114897 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40799 /* 114902 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40800 /* 114904 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40801 /* 114907 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40802 /* 114911 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40803 /* 114916 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40804 /* 114919 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40805 /* 114923 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40806 /* 114926 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40807 /* 114931 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40808 /* 114936 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40809 /* 114941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rm),
40810 /* 114944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40811 /* 114946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40812 /* 114950 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40813 /* 114953 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40814 /* 114958 */ GIR_RootConstrainSelectedInstOperands,
40815 /* 114959 */ // GIR_Coverage, 17722,
40816 /* 114959 */ GIR_EraseRootFromParent_Done,
40817 /* 114960 */ // Label 3201: @114960
40818 /* 114960 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3202*/ GIMT_Encode4(115065), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17754 //
40819 /* 114967 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40820 /* 114971 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40821 /* 114975 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40822 /* 114978 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40823 /* 114982 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40824 /* 114986 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40825 /* 114988 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40826 /* 114995 */ // (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] }))
40827 /* 114995 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40828 /* 114998 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40829 /* 115002 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40830 /* 115007 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40831 /* 115009 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40832 /* 115012 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40833 /* 115016 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40834 /* 115021 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40835 /* 115024 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40836 /* 115028 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40837 /* 115031 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40838 /* 115036 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40839 /* 115041 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40840 /* 115046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rm_EVEX),
40841 /* 115049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40842 /* 115051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40843 /* 115055 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40844 /* 115058 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40845 /* 115063 */ GIR_RootConstrainSelectedInstOperands,
40846 /* 115064 */ // GIR_Coverage, 17754,
40847 /* 115064 */ GIR_EraseRootFromParent_Done,
40848 /* 115065 */ // Label 3202: @115065
40849 /* 115065 */ GIM_Reject,
40850 /* 115066 */ // Label 3200: @115066
40851 /* 115066 */ GIM_Try, /*On fail goto*//*Label 3203*/ GIMT_Encode4(115366),
40852 /* 115071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40853 /* 115075 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3204*/ GIMT_Encode4(115107), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 672 //
40854 /* 115082 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40855 /* 115086 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40856 /* 115090 */ // MIs[1] Operand 1
40857 /* 115090 */ // No operand predicates
40858 /* 115090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40859 /* 115092 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
40860 /* 115092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64ri),
40861 /* 115095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40862 /* 115097 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40863 /* 115099 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40864 /* 115102 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40865 /* 115105 */ GIR_RootConstrainSelectedInstOperands,
40866 /* 115106 */ // GIR_Coverage, 672,
40867 /* 115106 */ GIR_EraseRootFromParent_Done,
40868 /* 115107 */ // Label 3204: @115107
40869 /* 115107 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3205*/ GIMT_Encode4(115139), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 676 //
40870 /* 115114 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40871 /* 115118 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40872 /* 115122 */ // MIs[1] Operand 1
40873 /* 115122 */ // No operand predicates
40874 /* 115122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40875 /* 115124 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
40876 /* 115124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64ri_ND),
40877 /* 115127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40878 /* 115129 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40879 /* 115131 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40880 /* 115134 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40881 /* 115137 */ GIR_RootConstrainSelectedInstOperands,
40882 /* 115138 */ // GIR_Coverage, 676,
40883 /* 115138 */ GIR_EraseRootFromParent_Done,
40884 /* 115139 */ // Label 3205: @115139
40885 /* 115139 */ GIM_Try, /*On fail goto*//*Label 3206*/ GIMT_Encode4(115289),
40886 /* 115144 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40887 /* 115148 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3207*/ GIMT_Encode4(115218), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17718 //
40888 /* 115155 */ // (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] }))
40889 /* 115155 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40890 /* 115158 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40891 /* 115162 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40892 /* 115167 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40893 /* 115169 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40894 /* 115172 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40895 /* 115176 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40896 /* 115181 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40897 /* 115184 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40898 /* 115188 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40899 /* 115191 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40900 /* 115196 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40901 /* 115201 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40902 /* 115206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rr),
40903 /* 115209 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40904 /* 115211 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40905 /* 115213 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40906 /* 115216 */ GIR_RootConstrainSelectedInstOperands,
40907 /* 115217 */ // GIR_Coverage, 17718,
40908 /* 115217 */ GIR_EraseRootFromParent_Done,
40909 /* 115218 */ // Label 3207: @115218
40910 /* 115218 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3208*/ GIMT_Encode4(115288), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17750 //
40911 /* 115225 */ // (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] }))
40912 /* 115225 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
40913 /* 115228 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40914 /* 115232 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40915 /* 115237 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40916 /* 115239 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
40917 /* 115242 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40918 /* 115246 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40919 /* 115251 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40920 /* 115254 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40921 /* 115258 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40922 /* 115261 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40923 /* 115266 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
40924 /* 115271 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40925 /* 115276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rr_EVEX),
40926 /* 115279 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40927 /* 115281 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40928 /* 115283 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40929 /* 115286 */ GIR_RootConstrainSelectedInstOperands,
40930 /* 115287 */ // GIR_Coverage, 17750,
40931 /* 115287 */ GIR_EraseRootFromParent_Done,
40932 /* 115288 */ // Label 3208: @115288
40933 /* 115288 */ GIM_Reject,
40934 /* 115289 */ // Label 3206: @115289
40935 /* 115289 */ GIM_Try, /*On fail goto*//*Label 3209*/ GIMT_Encode4(115365),
40936 /* 115294 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40937 /* 115298 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3210*/ GIMT_Encode4(115331), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 688 //
40938 /* 115305 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
40939 /* 115305 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40940 /* 115309 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40941 /* 115315 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40942 /* 115319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64rCL),
40943 /* 115322 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40944 /* 115324 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40945 /* 115326 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40946 /* 115329 */ GIR_RootConstrainSelectedInstOperands,
40947 /* 115330 */ // GIR_Coverage, 688,
40948 /* 115330 */ GIR_EraseRootFromParent_Done,
40949 /* 115331 */ // Label 3210: @115331
40950 /* 115331 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3211*/ GIMT_Encode4(115364), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 692 //
40951 /* 115338 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
40952 /* 115338 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40953 /* 115342 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40954 /* 115348 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40955 /* 115352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64rCL_ND),
40956 /* 115355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40957 /* 115357 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40958 /* 115359 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40959 /* 115362 */ GIR_RootConstrainSelectedInstOperands,
40960 /* 115363 */ // GIR_Coverage, 692,
40961 /* 115363 */ GIR_EraseRootFromParent_Done,
40962 /* 115364 */ // Label 3211: @115364
40963 /* 115364 */ GIM_Reject,
40964 /* 115365 */ // Label 3209: @115365
40965 /* 115365 */ GIM_Reject,
40966 /* 115366 */ // Label 3203: @115366
40967 /* 115366 */ GIM_Reject,
40968 /* 115367 */ // Label 3199: @115367
40969 /* 115367 */ GIM_Reject,
40970 /* 115368 */ // Label 3173: @115368
40971 /* 115368 */ GIM_Reject,
40972 /* 115369 */ // Label 31: @115369
40973 /* 115369 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 3216*/ GIMT_Encode4(116792),
40974 /* 115380 */ /*GILLT_s8*//*Label 3212*/ GIMT_Encode4(115396),
40975 /* 115384 */ /*GILLT_s16*//*Label 3213*/ GIMT_Encode4(115557),
40976 /* 115388 */ /*GILLT_s32*//*Label 3214*/ GIMT_Encode4(115718),
40977 /* 115392 */ /*GILLT_s64*//*Label 3215*/ GIMT_Encode4(116255),
40978 /* 115396 */ // Label 3212: @115396
40979 /* 115396 */ GIM_Try, /*On fail goto*//*Label 3217*/ GIMT_Encode4(115556),
40980 /* 115401 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40981 /* 115404 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40982 /* 115407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40983 /* 115411 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40984 /* 115415 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3218*/ GIMT_Encode4(115447), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 701 //
40985 /* 115422 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40986 /* 115426 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40987 /* 115430 */ // MIs[1] Operand 1
40988 /* 115430 */ // No operand predicates
40989 /* 115430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40990 /* 115432 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
40991 /* 115432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8ri),
40992 /* 115435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40993 /* 115437 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40994 /* 115439 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40995 /* 115442 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40996 /* 115445 */ GIR_RootConstrainSelectedInstOperands,
40997 /* 115446 */ // GIR_Coverage, 701,
40998 /* 115446 */ GIR_EraseRootFromParent_Done,
40999 /* 115447 */ // Label 3218: @115447
41000 /* 115447 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3219*/ GIMT_Encode4(115479), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 705 //
41001 /* 115454 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41002 /* 115458 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41003 /* 115462 */ // MIs[1] Operand 1
41004 /* 115462 */ // No operand predicates
41005 /* 115462 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41006 /* 115464 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
41007 /* 115464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8ri_ND),
41008 /* 115467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41009 /* 115469 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41010 /* 115471 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41011 /* 115474 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41012 /* 115477 */ GIR_RootConstrainSelectedInstOperands,
41013 /* 115478 */ // GIR_Coverage, 705,
41014 /* 115478 */ GIR_EraseRootFromParent_Done,
41015 /* 115479 */ // Label 3219: @115479
41016 /* 115479 */ GIM_Try, /*On fail goto*//*Label 3220*/ GIMT_Encode4(115555),
41017 /* 115484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41018 /* 115488 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3221*/ GIMT_Encode4(115521), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 717 //
41019 /* 115495 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SAR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
41020 /* 115495 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41021 /* 115499 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41022 /* 115505 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41023 /* 115509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8rCL),
41024 /* 115512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41025 /* 115514 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41026 /* 115516 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41027 /* 115519 */ GIR_RootConstrainSelectedInstOperands,
41028 /* 115520 */ // GIR_Coverage, 717,
41029 /* 115520 */ GIR_EraseRootFromParent_Done,
41030 /* 115521 */ // Label 3221: @115521
41031 /* 115521 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3222*/ GIMT_Encode4(115554), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 721 //
41032 /* 115528 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SAR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
41033 /* 115528 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41034 /* 115532 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41035 /* 115538 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41036 /* 115542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8rCL_ND),
41037 /* 115545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41038 /* 115547 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41039 /* 115549 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41040 /* 115552 */ GIR_RootConstrainSelectedInstOperands,
41041 /* 115553 */ // GIR_Coverage, 721,
41042 /* 115553 */ GIR_EraseRootFromParent_Done,
41043 /* 115554 */ // Label 3222: @115554
41044 /* 115554 */ GIM_Reject,
41045 /* 115555 */ // Label 3220: @115555
41046 /* 115555 */ GIM_Reject,
41047 /* 115556 */ // Label 3217: @115556
41048 /* 115556 */ GIM_Reject,
41049 /* 115557 */ // Label 3213: @115557
41050 /* 115557 */ GIM_Try, /*On fail goto*//*Label 3223*/ GIMT_Encode4(115717),
41051 /* 115562 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
41052 /* 115565 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41053 /* 115568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41054 /* 115572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41055 /* 115576 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3224*/ GIMT_Encode4(115608), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 702 //
41056 /* 115583 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41057 /* 115587 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41058 /* 115591 */ // MIs[1] Operand 1
41059 /* 115591 */ // No operand predicates
41060 /* 115591 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41061 /* 115593 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
41062 /* 115593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16ri),
41063 /* 115596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41064 /* 115598 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41065 /* 115600 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41066 /* 115603 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41067 /* 115606 */ GIR_RootConstrainSelectedInstOperands,
41068 /* 115607 */ // GIR_Coverage, 702,
41069 /* 115607 */ GIR_EraseRootFromParent_Done,
41070 /* 115608 */ // Label 3224: @115608
41071 /* 115608 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3225*/ GIMT_Encode4(115640), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 706 //
41072 /* 115615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41073 /* 115619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41074 /* 115623 */ // MIs[1] Operand 1
41075 /* 115623 */ // No operand predicates
41076 /* 115623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41077 /* 115625 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
41078 /* 115625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16ri_ND),
41079 /* 115628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41080 /* 115630 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41081 /* 115632 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41082 /* 115635 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41083 /* 115638 */ GIR_RootConstrainSelectedInstOperands,
41084 /* 115639 */ // GIR_Coverage, 706,
41085 /* 115639 */ GIR_EraseRootFromParent_Done,
41086 /* 115640 */ // Label 3225: @115640
41087 /* 115640 */ GIM_Try, /*On fail goto*//*Label 3226*/ GIMT_Encode4(115716),
41088 /* 115645 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41089 /* 115649 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3227*/ GIMT_Encode4(115682), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 718 //
41090 /* 115656 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SAR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
41091 /* 115656 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41092 /* 115660 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41093 /* 115666 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41094 /* 115670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16rCL),
41095 /* 115673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41096 /* 115675 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41097 /* 115677 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41098 /* 115680 */ GIR_RootConstrainSelectedInstOperands,
41099 /* 115681 */ // GIR_Coverage, 718,
41100 /* 115681 */ GIR_EraseRootFromParent_Done,
41101 /* 115682 */ // Label 3227: @115682
41102 /* 115682 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3228*/ GIMT_Encode4(115715), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 722 //
41103 /* 115689 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SAR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
41104 /* 115689 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41105 /* 115693 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41106 /* 115699 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41107 /* 115703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16rCL_ND),
41108 /* 115706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41109 /* 115708 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41110 /* 115710 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41111 /* 115713 */ GIR_RootConstrainSelectedInstOperands,
41112 /* 115714 */ // GIR_Coverage, 722,
41113 /* 115714 */ GIR_EraseRootFromParent_Done,
41114 /* 115715 */ // Label 3228: @115715
41115 /* 115715 */ GIM_Reject,
41116 /* 115716 */ // Label 3226: @115716
41117 /* 115716 */ GIM_Reject,
41118 /* 115717 */ // Label 3223: @115717
41119 /* 115717 */ GIM_Reject,
41120 /* 115718 */ // Label 3214: @115718
41121 /* 115718 */ GIM_Try, /*On fail goto*//*Label 3229*/ GIMT_Encode4(116254),
41122 /* 115723 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
41123 /* 115726 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41124 /* 115729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41125 /* 115733 */ GIM_Try, /*On fail goto*//*Label 3230*/ GIMT_Encode4(115953),
41126 /* 115738 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41127 /* 115742 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3231*/ GIMT_Encode4(115847), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17713 //
41128 /* 115749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41129 /* 115753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41130 /* 115757 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41131 /* 115760 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41132 /* 115764 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41133 /* 115768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41134 /* 115770 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41135 /* 115777 */ // (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] }))
41136 /* 115777 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41137 /* 115780 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41138 /* 115784 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41139 /* 115789 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41140 /* 115791 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41141 /* 115794 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41142 /* 115798 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41143 /* 115803 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41144 /* 115806 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41145 /* 115810 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41146 /* 115813 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41147 /* 115818 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41148 /* 115823 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41149 /* 115828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rm),
41150 /* 115831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41151 /* 115833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41152 /* 115837 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41153 /* 115840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41154 /* 115845 */ GIR_RootConstrainSelectedInstOperands,
41155 /* 115846 */ // GIR_Coverage, 17713,
41156 /* 115846 */ GIR_EraseRootFromParent_Done,
41157 /* 115847 */ // Label 3231: @115847
41158 /* 115847 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3232*/ GIMT_Encode4(115952), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17745 //
41159 /* 115854 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41160 /* 115858 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41161 /* 115862 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41162 /* 115865 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41163 /* 115869 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41164 /* 115873 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41165 /* 115875 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41166 /* 115882 */ // (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] }))
41167 /* 115882 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41168 /* 115885 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41169 /* 115889 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41170 /* 115894 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41171 /* 115896 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41172 /* 115899 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41173 /* 115903 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41174 /* 115908 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41175 /* 115911 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41176 /* 115915 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41177 /* 115918 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41178 /* 115923 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41179 /* 115928 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41180 /* 115933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rm_EVEX),
41181 /* 115936 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41182 /* 115938 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41183 /* 115942 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41184 /* 115945 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41185 /* 115950 */ GIR_RootConstrainSelectedInstOperands,
41186 /* 115951 */ // GIR_Coverage, 17745,
41187 /* 115951 */ GIR_EraseRootFromParent_Done,
41188 /* 115952 */ // Label 3232: @115952
41189 /* 115952 */ GIM_Reject,
41190 /* 115953 */ // Label 3230: @115953
41191 /* 115953 */ GIM_Try, /*On fail goto*//*Label 3233*/ GIMT_Encode4(116253),
41192 /* 115958 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41193 /* 115962 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3234*/ GIMT_Encode4(115994), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 703 //
41194 /* 115969 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41195 /* 115973 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41196 /* 115977 */ // MIs[1] Operand 1
41197 /* 115977 */ // No operand predicates
41198 /* 115977 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41199 /* 115979 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
41200 /* 115979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32ri),
41201 /* 115982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41202 /* 115984 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41203 /* 115986 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41204 /* 115989 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41205 /* 115992 */ GIR_RootConstrainSelectedInstOperands,
41206 /* 115993 */ // GIR_Coverage, 703,
41207 /* 115993 */ GIR_EraseRootFromParent_Done,
41208 /* 115994 */ // Label 3234: @115994
41209 /* 115994 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3235*/ GIMT_Encode4(116026), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 707 //
41210 /* 116001 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41211 /* 116005 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41212 /* 116009 */ // MIs[1] Operand 1
41213 /* 116009 */ // No operand predicates
41214 /* 116009 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41215 /* 116011 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
41216 /* 116011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32ri_ND),
41217 /* 116014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41218 /* 116016 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41219 /* 116018 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41220 /* 116021 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41221 /* 116024 */ GIR_RootConstrainSelectedInstOperands,
41222 /* 116025 */ // GIR_Coverage, 707,
41223 /* 116025 */ GIR_EraseRootFromParent_Done,
41224 /* 116026 */ // Label 3235: @116026
41225 /* 116026 */ GIM_Try, /*On fail goto*//*Label 3236*/ GIMT_Encode4(116176),
41226 /* 116031 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41227 /* 116035 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3237*/ GIMT_Encode4(116105), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17709 //
41228 /* 116042 */ // (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] }))
41229 /* 116042 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41230 /* 116045 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41231 /* 116049 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41232 /* 116054 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41233 /* 116056 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41234 /* 116059 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41235 /* 116063 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41236 /* 116068 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41237 /* 116071 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41238 /* 116075 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41239 /* 116078 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41240 /* 116083 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41241 /* 116088 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41242 /* 116093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rr),
41243 /* 116096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41244 /* 116098 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41245 /* 116100 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41246 /* 116103 */ GIR_RootConstrainSelectedInstOperands,
41247 /* 116104 */ // GIR_Coverage, 17709,
41248 /* 116104 */ GIR_EraseRootFromParent_Done,
41249 /* 116105 */ // Label 3237: @116105
41250 /* 116105 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3238*/ GIMT_Encode4(116175), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17741 //
41251 /* 116112 */ // (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] }))
41252 /* 116112 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41253 /* 116115 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41254 /* 116119 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41255 /* 116124 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41256 /* 116126 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41257 /* 116129 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41258 /* 116133 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41259 /* 116138 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41260 /* 116141 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41261 /* 116145 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41262 /* 116148 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41263 /* 116153 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41264 /* 116158 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41265 /* 116163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rr_EVEX),
41266 /* 116166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41267 /* 116168 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41268 /* 116170 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41269 /* 116173 */ GIR_RootConstrainSelectedInstOperands,
41270 /* 116174 */ // GIR_Coverage, 17741,
41271 /* 116174 */ GIR_EraseRootFromParent_Done,
41272 /* 116175 */ // Label 3238: @116175
41273 /* 116175 */ GIM_Reject,
41274 /* 116176 */ // Label 3236: @116176
41275 /* 116176 */ GIM_Try, /*On fail goto*//*Label 3239*/ GIMT_Encode4(116252),
41276 /* 116181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41277 /* 116185 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3240*/ GIMT_Encode4(116218), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 719 //
41278 /* 116192 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SAR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
41279 /* 116192 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41280 /* 116196 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41281 /* 116202 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41282 /* 116206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32rCL),
41283 /* 116209 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41284 /* 116211 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41285 /* 116213 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41286 /* 116216 */ GIR_RootConstrainSelectedInstOperands,
41287 /* 116217 */ // GIR_Coverage, 719,
41288 /* 116217 */ GIR_EraseRootFromParent_Done,
41289 /* 116218 */ // Label 3240: @116218
41290 /* 116218 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3241*/ GIMT_Encode4(116251), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 723 //
41291 /* 116225 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SAR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
41292 /* 116225 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41293 /* 116229 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41294 /* 116235 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41295 /* 116239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32rCL_ND),
41296 /* 116242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41297 /* 116244 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41298 /* 116246 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41299 /* 116249 */ GIR_RootConstrainSelectedInstOperands,
41300 /* 116250 */ // GIR_Coverage, 723,
41301 /* 116250 */ GIR_EraseRootFromParent_Done,
41302 /* 116251 */ // Label 3241: @116251
41303 /* 116251 */ GIM_Reject,
41304 /* 116252 */ // Label 3239: @116252
41305 /* 116252 */ GIM_Reject,
41306 /* 116253 */ // Label 3233: @116253
41307 /* 116253 */ GIM_Reject,
41308 /* 116254 */ // Label 3229: @116254
41309 /* 116254 */ GIM_Reject,
41310 /* 116255 */ // Label 3215: @116255
41311 /* 116255 */ GIM_Try, /*On fail goto*//*Label 3242*/ GIMT_Encode4(116791),
41312 /* 116260 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
41313 /* 116263 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41314 /* 116266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41315 /* 116270 */ GIM_Try, /*On fail goto*//*Label 3243*/ GIMT_Encode4(116490),
41316 /* 116275 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41317 /* 116279 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3244*/ GIMT_Encode4(116384), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17714 //
41318 /* 116286 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41319 /* 116290 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41320 /* 116294 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41321 /* 116297 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41322 /* 116301 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41323 /* 116305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41324 /* 116307 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41325 /* 116314 */ // (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] }))
41326 /* 116314 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41327 /* 116317 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41328 /* 116321 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41329 /* 116326 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41330 /* 116328 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41331 /* 116331 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41332 /* 116335 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41333 /* 116340 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41334 /* 116343 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41335 /* 116347 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41336 /* 116350 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41337 /* 116355 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41338 /* 116360 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41339 /* 116365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rm),
41340 /* 116368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41341 /* 116370 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41342 /* 116374 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41343 /* 116377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41344 /* 116382 */ GIR_RootConstrainSelectedInstOperands,
41345 /* 116383 */ // GIR_Coverage, 17714,
41346 /* 116383 */ GIR_EraseRootFromParent_Done,
41347 /* 116384 */ // Label 3244: @116384
41348 /* 116384 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3245*/ GIMT_Encode4(116489), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17746 //
41349 /* 116391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41350 /* 116395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41351 /* 116399 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41352 /* 116402 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41353 /* 116406 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41354 /* 116410 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41355 /* 116412 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41356 /* 116419 */ // (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] }))
41357 /* 116419 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41358 /* 116422 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41359 /* 116426 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41360 /* 116431 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41361 /* 116433 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41362 /* 116436 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41363 /* 116440 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41364 /* 116445 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41365 /* 116448 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41366 /* 116452 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41367 /* 116455 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41368 /* 116460 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41369 /* 116465 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41370 /* 116470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rm_EVEX),
41371 /* 116473 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41372 /* 116475 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41373 /* 116479 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41374 /* 116482 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41375 /* 116487 */ GIR_RootConstrainSelectedInstOperands,
41376 /* 116488 */ // GIR_Coverage, 17746,
41377 /* 116488 */ GIR_EraseRootFromParent_Done,
41378 /* 116489 */ // Label 3245: @116489
41379 /* 116489 */ GIM_Reject,
41380 /* 116490 */ // Label 3243: @116490
41381 /* 116490 */ GIM_Try, /*On fail goto*//*Label 3246*/ GIMT_Encode4(116790),
41382 /* 116495 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41383 /* 116499 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3247*/ GIMT_Encode4(116531), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 704 //
41384 /* 116506 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41385 /* 116510 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41386 /* 116514 */ // MIs[1] Operand 1
41387 /* 116514 */ // No operand predicates
41388 /* 116514 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41389 /* 116516 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
41390 /* 116516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64ri),
41391 /* 116519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41392 /* 116521 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41393 /* 116523 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41394 /* 116526 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41395 /* 116529 */ GIR_RootConstrainSelectedInstOperands,
41396 /* 116530 */ // GIR_Coverage, 704,
41397 /* 116530 */ GIR_EraseRootFromParent_Done,
41398 /* 116531 */ // Label 3247: @116531
41399 /* 116531 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3248*/ GIMT_Encode4(116563), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 708 //
41400 /* 116538 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41401 /* 116542 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41402 /* 116546 */ // MIs[1] Operand 1
41403 /* 116546 */ // No operand predicates
41404 /* 116546 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41405 /* 116548 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
41406 /* 116548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64ri_ND),
41407 /* 116551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41408 /* 116553 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41409 /* 116555 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41410 /* 116558 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41411 /* 116561 */ GIR_RootConstrainSelectedInstOperands,
41412 /* 116562 */ // GIR_Coverage, 708,
41413 /* 116562 */ GIR_EraseRootFromParent_Done,
41414 /* 116563 */ // Label 3248: @116563
41415 /* 116563 */ GIM_Try, /*On fail goto*//*Label 3249*/ GIMT_Encode4(116713),
41416 /* 116568 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41417 /* 116572 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3250*/ GIMT_Encode4(116642), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17710 //
41418 /* 116579 */ // (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] }))
41419 /* 116579 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41420 /* 116582 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41421 /* 116586 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41422 /* 116591 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41423 /* 116593 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41424 /* 116596 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41425 /* 116600 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41426 /* 116605 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41427 /* 116608 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41428 /* 116612 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41429 /* 116615 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41430 /* 116620 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41431 /* 116625 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41432 /* 116630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rr),
41433 /* 116633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41434 /* 116635 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41435 /* 116637 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41436 /* 116640 */ GIR_RootConstrainSelectedInstOperands,
41437 /* 116641 */ // GIR_Coverage, 17710,
41438 /* 116641 */ GIR_EraseRootFromParent_Done,
41439 /* 116642 */ // Label 3250: @116642
41440 /* 116642 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3251*/ GIMT_Encode4(116712), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17742 //
41441 /* 116649 */ // (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] }))
41442 /* 116649 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41443 /* 116652 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41444 /* 116656 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41445 /* 116661 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41446 /* 116663 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41447 /* 116666 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41448 /* 116670 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41449 /* 116675 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41450 /* 116678 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41451 /* 116682 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41452 /* 116685 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41453 /* 116690 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41454 /* 116695 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41455 /* 116700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rr_EVEX),
41456 /* 116703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41457 /* 116705 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41458 /* 116707 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41459 /* 116710 */ GIR_RootConstrainSelectedInstOperands,
41460 /* 116711 */ // GIR_Coverage, 17742,
41461 /* 116711 */ GIR_EraseRootFromParent_Done,
41462 /* 116712 */ // Label 3251: @116712
41463 /* 116712 */ GIM_Reject,
41464 /* 116713 */ // Label 3249: @116713
41465 /* 116713 */ GIM_Try, /*On fail goto*//*Label 3252*/ GIMT_Encode4(116789),
41466 /* 116718 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41467 /* 116722 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3253*/ GIMT_Encode4(116755), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 720 //
41468 /* 116729 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SAR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
41469 /* 116729 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41470 /* 116733 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41471 /* 116739 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41472 /* 116743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64rCL),
41473 /* 116746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41474 /* 116748 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41475 /* 116750 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41476 /* 116753 */ GIR_RootConstrainSelectedInstOperands,
41477 /* 116754 */ // GIR_Coverage, 720,
41478 /* 116754 */ GIR_EraseRootFromParent_Done,
41479 /* 116755 */ // Label 3253: @116755
41480 /* 116755 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3254*/ GIMT_Encode4(116788), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 724 //
41481 /* 116762 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SAR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
41482 /* 116762 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41483 /* 116766 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41484 /* 116772 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41485 /* 116776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64rCL_ND),
41486 /* 116779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41487 /* 116781 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41488 /* 116783 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41489 /* 116786 */ GIR_RootConstrainSelectedInstOperands,
41490 /* 116787 */ // GIR_Coverage, 724,
41491 /* 116787 */ GIR_EraseRootFromParent_Done,
41492 /* 116788 */ // Label 3254: @116788
41493 /* 116788 */ GIM_Reject,
41494 /* 116789 */ // Label 3252: @116789
41495 /* 116789 */ GIM_Reject,
41496 /* 116790 */ // Label 3246: @116790
41497 /* 116790 */ GIM_Reject,
41498 /* 116791 */ // Label 3242: @116791
41499 /* 116791 */ GIM_Reject,
41500 /* 116792 */ // Label 3216: @116792
41501 /* 116792 */ GIM_Reject,
41502 /* 116793 */ // Label 32: @116793
41503 /* 116793 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(25), /*)*//*default:*//*Label 3266*/ GIMT_Encode4(119473),
41504 /* 116804 */ /*GILLT_s32*//*Label 3255*/ GIMT_Encode4(116892),
41505 /* 116808 */ /*GILLT_s64*//*Label 3256*/ GIMT_Encode4(117068), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
41506 /* 116856 */ /*GILLT_v8s16*//*Label 3257*/ GIMT_Encode4(117244),
41507 /* 116860 */ /*GILLT_v16s16*//*Label 3258*/ GIMT_Encode4(117573),
41508 /* 116864 */ /*GILLT_v32s16*//*Label 3259*/ GIMT_Encode4(117886),
41509 /* 116868 */ /*GILLT_v4s32*//*Label 3260*/ GIMT_Encode4(117987),
41510 /* 116872 */ /*GILLT_v8s32*//*Label 3261*/ GIMT_Encode4(118316),
41511 /* 116876 */ /*GILLT_v16s32*//*Label 3262*/ GIMT_Encode4(118629),
41512 /* 116880 */ /*GILLT_v2s64*//*Label 3263*/ GIMT_Encode4(118730),
41513 /* 116884 */ /*GILLT_v4s64*//*Label 3264*/ GIMT_Encode4(119059),
41514 /* 116888 */ /*GILLT_v8s64*//*Label 3265*/ GIMT_Encode4(119372),
41515 /* 116892 */ // Label 3255: @116892
41516 /* 116892 */ GIM_Try, /*On fail goto*//*Label 3267*/ GIMT_Encode4(117067),
41517 /* 116897 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
41518 /* 116900 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
41519 /* 116903 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
41520 /* 116906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41521 /* 116910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41522 /* 116914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41523 /* 116918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3268*/ GIMT_Encode4(116952), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 798 //
41524 /* 116925 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
41525 /* 116929 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41526 /* 116933 */ // MIs[1] Operand 1
41527 /* 116933 */ // No operand predicates
41528 /* 116933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41529 /* 116935 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD32rri8:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
41530 /* 116935 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rri8),
41531 /* 116938 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41532 /* 116940 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41533 /* 116942 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41534 /* 116944 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
41535 /* 116947 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41536 /* 116950 */ GIR_RootConstrainSelectedInstOperands,
41537 /* 116951 */ // GIR_Coverage, 798,
41538 /* 116951 */ GIR_EraseRootFromParent_Done,
41539 /* 116952 */ // Label 3268: @116952
41540 /* 116952 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3269*/ GIMT_Encode4(116986), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 804 //
41541 /* 116959 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
41542 /* 116963 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41543 /* 116967 */ // MIs[1] Operand 1
41544 /* 116967 */ // No operand predicates
41545 /* 116967 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41546 /* 116969 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD32rri8_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
41547 /* 116969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rri8_ND),
41548 /* 116972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41549 /* 116974 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41550 /* 116976 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41551 /* 116978 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
41552 /* 116981 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41553 /* 116984 */ GIR_RootConstrainSelectedInstOperands,
41554 /* 116985 */ // GIR_Coverage, 804,
41555 /* 116985 */ GIR_EraseRootFromParent_Done,
41556 /* 116986 */ // Label 3269: @116986
41557 /* 116986 */ GIM_Try, /*On fail goto*//*Label 3270*/ GIMT_Encode4(117066),
41558 /* 116991 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41559 /* 116995 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3271*/ GIMT_Encode4(117030), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 801 //
41560 /* 117002 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }) => (SHLD32rrCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
41561 /* 117002 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41562 /* 117006 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41563 /* 117012 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
41564 /* 117016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rrCL),
41565 /* 117019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41566 /* 117021 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41567 /* 117023 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41568 /* 117025 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41569 /* 117028 */ GIR_RootConstrainSelectedInstOperands,
41570 /* 117029 */ // GIR_Coverage, 801,
41571 /* 117029 */ GIR_EraseRootFromParent_Done,
41572 /* 117030 */ // Label 3271: @117030
41573 /* 117030 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3272*/ GIMT_Encode4(117065), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 807 //
41574 /* 117037 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }) => (SHLD32rrCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
41575 /* 117037 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41576 /* 117041 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41577 /* 117047 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
41578 /* 117051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rrCL_ND),
41579 /* 117054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41580 /* 117056 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41581 /* 117058 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41582 /* 117060 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41583 /* 117063 */ GIR_RootConstrainSelectedInstOperands,
41584 /* 117064 */ // GIR_Coverage, 807,
41585 /* 117064 */ GIR_EraseRootFromParent_Done,
41586 /* 117065 */ // Label 3272: @117065
41587 /* 117065 */ GIM_Reject,
41588 /* 117066 */ // Label 3270: @117066
41589 /* 117066 */ GIM_Reject,
41590 /* 117067 */ // Label 3267: @117067
41591 /* 117067 */ GIM_Reject,
41592 /* 117068 */ // Label 3256: @117068
41593 /* 117068 */ GIM_Try, /*On fail goto*//*Label 3273*/ GIMT_Encode4(117243),
41594 /* 117073 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
41595 /* 117076 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
41596 /* 117079 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
41597 /* 117082 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41598 /* 117086 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41599 /* 117090 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41600 /* 117094 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3274*/ GIMT_Encode4(117128), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 799 //
41601 /* 117101 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
41602 /* 117105 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41603 /* 117109 */ // MIs[1] Operand 1
41604 /* 117109 */ // No operand predicates
41605 /* 117109 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41606 /* 117111 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD64rri8:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
41607 /* 117111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rri8),
41608 /* 117114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41609 /* 117116 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41610 /* 117118 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41611 /* 117120 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
41612 /* 117123 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41613 /* 117126 */ GIR_RootConstrainSelectedInstOperands,
41614 /* 117127 */ // GIR_Coverage, 799,
41615 /* 117127 */ GIR_EraseRootFromParent_Done,
41616 /* 117128 */ // Label 3274: @117128
41617 /* 117128 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3275*/ GIMT_Encode4(117162), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 805 //
41618 /* 117135 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
41619 /* 117139 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41620 /* 117143 */ // MIs[1] Operand 1
41621 /* 117143 */ // No operand predicates
41622 /* 117143 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41623 /* 117145 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD64rri8_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
41624 /* 117145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rri8_ND),
41625 /* 117148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41626 /* 117150 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41627 /* 117152 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41628 /* 117154 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
41629 /* 117157 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41630 /* 117160 */ GIR_RootConstrainSelectedInstOperands,
41631 /* 117161 */ // GIR_Coverage, 805,
41632 /* 117161 */ GIR_EraseRootFromParent_Done,
41633 /* 117162 */ // Label 3275: @117162
41634 /* 117162 */ GIM_Try, /*On fail goto*//*Label 3276*/ GIMT_Encode4(117242),
41635 /* 117167 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41636 /* 117171 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3277*/ GIMT_Encode4(117206), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 802 //
41637 /* 117178 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }) => (SHLD64rrCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
41638 /* 117178 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41639 /* 117182 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41640 /* 117188 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
41641 /* 117192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rrCL),
41642 /* 117195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41643 /* 117197 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41644 /* 117199 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41645 /* 117201 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41646 /* 117204 */ GIR_RootConstrainSelectedInstOperands,
41647 /* 117205 */ // GIR_Coverage, 802,
41648 /* 117205 */ GIR_EraseRootFromParent_Done,
41649 /* 117206 */ // Label 3277: @117206
41650 /* 117206 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3278*/ GIMT_Encode4(117241), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 808 //
41651 /* 117213 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }) => (SHLD64rrCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
41652 /* 117213 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41653 /* 117217 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41654 /* 117223 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
41655 /* 117227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rrCL_ND),
41656 /* 117230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41657 /* 117232 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41658 /* 117234 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41659 /* 117236 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41660 /* 117239 */ GIR_RootConstrainSelectedInstOperands,
41661 /* 117240 */ // GIR_Coverage, 808,
41662 /* 117240 */ GIR_EraseRootFromParent_Done,
41663 /* 117241 */ // Label 3278: @117241
41664 /* 117241 */ GIM_Reject,
41665 /* 117242 */ // Label 3276: @117242
41666 /* 117242 */ GIM_Reject,
41667 /* 117243 */ // Label 3273: @117243
41668 /* 117243 */ GIM_Reject,
41669 /* 117244 */ // Label 3257: @117244
41670 /* 117244 */ GIM_Try, /*On fail goto*//*Label 3279*/ GIMT_Encode4(117572),
41671 /* 117249 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
41672 /* 117252 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
41673 /* 117255 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
41674 /* 117258 */ GIM_Try, /*On fail goto*//*Label 3280*/ GIMT_Encode4(117349),
41675 /* 117263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41676 /* 117267 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41677 /* 117271 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41678 /* 117275 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3281*/ GIMT_Encode4(117330), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14108 //
41679 /* 117282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
41680 /* 117286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41681 /* 117290 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41682 /* 117293 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41683 /* 117297 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41684 /* 117301 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41685 /* 117303 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41686 /* 117310 */ // (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)
41687 /* 117310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ128m),
41688 /* 117313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41689 /* 117315 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41690 /* 117317 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41691 /* 117319 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
41692 /* 117323 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41693 /* 117328 */ GIR_RootConstrainSelectedInstOperands,
41694 /* 117329 */ // GIR_Coverage, 14108,
41695 /* 117329 */ GIR_EraseRootFromParent_Done,
41696 /* 117330 */ // Label 3281: @117330
41697 /* 117330 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3282*/ GIMT_Encode4(117348), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14105 //
41698 /* 117337 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41699 /* 117341 */ // (fshl:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3) => (VPSHLDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3)
41700 /* 117341 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ128r),
41701 /* 117346 */ GIR_RootConstrainSelectedInstOperands,
41702 /* 117347 */ // GIR_Coverage, 14105,
41703 /* 117347 */ GIR_Done,
41704 /* 117348 */ // Label 3282: @117348
41705 /* 117348 */ GIM_Reject,
41706 /* 117349 */ // Label 3280: @117349
41707 /* 117349 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3283*/ GIMT_Encode4(117571), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22305 //
41708 /* 117356 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
41709 /* 117360 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41710 /* 117364 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41711 /* 117368 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41712 /* 117372 */ // (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] })
41713 /* 117372 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
41714 /* 117375 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41715 /* 117379 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41716 /* 117384 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
41717 /* 117386 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
41718 /* 117389 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41719 /* 117393 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41720 /* 117398 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
41721 /* 117401 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
41722 /* 117405 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
41723 /* 117408 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41724 /* 117413 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41725 /* 117418 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
41726 /* 117423 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
41727 /* 117426 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41728 /* 117430 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41729 /* 117435 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
41730 /* 117437 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
41731 /* 117440 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41732 /* 117444 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41733 /* 117449 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
41734 /* 117452 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
41735 /* 117456 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
41736 /* 117459 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41737 /* 117464 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41738 /* 117469 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
41739 /* 117474 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
41740 /* 117477 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41741 /* 117481 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41742 /* 117486 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
41743 /* 117488 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
41744 /* 117491 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41745 /* 117495 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41746 /* 117500 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
41747 /* 117503 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
41748 /* 117507 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
41749 /* 117510 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41750 /* 117515 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41751 /* 117520 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
41752 /* 117525 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
41753 /* 117528 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
41754 /* 117532 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41755 /* 117537 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41756 /* 117540 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
41757 /* 117543 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
41758 /* 117546 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
41759 /* 117548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41760 /* 117551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41761 /* 117553 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
41762 /* 117560 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
41763 /* 117565 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41764 /* 117570 */ // GIR_Coverage, 22305,
41765 /* 117570 */ GIR_EraseRootFromParent_Done,
41766 /* 117571 */ // Label 3283: @117571
41767 /* 117571 */ GIM_Reject,
41768 /* 117572 */ // Label 3279: @117572
41769 /* 117572 */ GIM_Reject,
41770 /* 117573 */ // Label 3258: @117573
41771 /* 117573 */ GIM_Try, /*On fail goto*//*Label 3284*/ GIMT_Encode4(117885),
41772 /* 117578 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
41773 /* 117581 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
41774 /* 117584 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
41775 /* 117587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41776 /* 117591 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41777 /* 117595 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41778 /* 117599 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3285*/ GIMT_Encode4(117654), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14102 //
41779 /* 117606 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
41780 /* 117610 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41781 /* 117614 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41782 /* 117617 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41783 /* 117621 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41784 /* 117625 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41785 /* 117627 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41786 /* 117634 */ // (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)
41787 /* 117634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ256m),
41788 /* 117637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41789 /* 117639 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41790 /* 117641 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41791 /* 117643 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
41792 /* 117647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41793 /* 117652 */ GIR_RootConstrainSelectedInstOperands,
41794 /* 117653 */ // GIR_Coverage, 14102,
41795 /* 117653 */ GIR_EraseRootFromParent_Done,
41796 /* 117654 */ // Label 3285: @117654
41797 /* 117654 */ GIM_Try, /*On fail goto*//*Label 3286*/ GIMT_Encode4(117884),
41798 /* 117659 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41799 /* 117663 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3287*/ GIMT_Encode4(117677), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14099 //
41800 /* 117670 */ // (fshl:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3) => (VPSHLDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3)
41801 /* 117670 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ256r),
41802 /* 117675 */ GIR_RootConstrainSelectedInstOperands,
41803 /* 117676 */ // GIR_Coverage, 14099,
41804 /* 117676 */ GIR_Done,
41805 /* 117677 */ // Label 3287: @117677
41806 /* 117677 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3288*/ GIMT_Encode4(117883), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22301 //
41807 /* 117684 */ // (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] })
41808 /* 117684 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
41809 /* 117687 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41810 /* 117691 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41811 /* 117696 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
41812 /* 117698 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
41813 /* 117701 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41814 /* 117705 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41815 /* 117710 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
41816 /* 117713 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
41817 /* 117717 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
41818 /* 117720 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41819 /* 117725 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41820 /* 117730 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
41821 /* 117735 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
41822 /* 117738 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41823 /* 117742 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41824 /* 117747 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
41825 /* 117749 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
41826 /* 117752 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41827 /* 117756 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41828 /* 117761 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
41829 /* 117764 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
41830 /* 117768 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
41831 /* 117771 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41832 /* 117776 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41833 /* 117781 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
41834 /* 117786 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
41835 /* 117789 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41836 /* 117793 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41837 /* 117798 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
41838 /* 117800 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
41839 /* 117803 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41840 /* 117807 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41841 /* 117812 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
41842 /* 117815 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
41843 /* 117819 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
41844 /* 117822 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41845 /* 117827 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41846 /* 117832 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
41847 /* 117837 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
41848 /* 117840 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
41849 /* 117844 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41850 /* 117849 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41851 /* 117852 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
41852 /* 117855 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
41853 /* 117858 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
41854 /* 117860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41855 /* 117863 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41856 /* 117865 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
41857 /* 117872 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
41858 /* 117877 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41859 /* 117882 */ // GIR_Coverage, 22301,
41860 /* 117882 */ GIR_EraseRootFromParent_Done,
41861 /* 117883 */ // Label 3288: @117883
41862 /* 117883 */ GIM_Reject,
41863 /* 117884 */ // Label 3286: @117884
41864 /* 117884 */ GIM_Reject,
41865 /* 117885 */ // Label 3284: @117885
41866 /* 117885 */ GIM_Reject,
41867 /* 117886 */ // Label 3259: @117886
41868 /* 117886 */ GIM_Try, /*On fail goto*//*Label 3289*/ GIMT_Encode4(117986),
41869 /* 117891 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
41870 /* 117894 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
41871 /* 117897 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
41872 /* 117900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41873 /* 117904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41874 /* 117908 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41875 /* 117912 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3290*/ GIMT_Encode4(117967), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14096 //
41876 /* 117919 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
41877 /* 117923 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41878 /* 117927 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41879 /* 117930 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41880 /* 117934 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41881 /* 117938 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41882 /* 117940 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41883 /* 117947 */ // (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)
41884 /* 117947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZm),
41885 /* 117950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41886 /* 117952 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41887 /* 117954 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41888 /* 117956 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
41889 /* 117960 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41890 /* 117965 */ GIR_RootConstrainSelectedInstOperands,
41891 /* 117966 */ // GIR_Coverage, 14096,
41892 /* 117966 */ GIR_EraseRootFromParent_Done,
41893 /* 117967 */ // Label 3290: @117967
41894 /* 117967 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3291*/ GIMT_Encode4(117985), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14093 //
41895 /* 117974 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41896 /* 117978 */ // (fshl:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src3) => (VPSHLDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src3)
41897 /* 117978 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
41898 /* 117983 */ GIR_RootConstrainSelectedInstOperands,
41899 /* 117984 */ // GIR_Coverage, 14093,
41900 /* 117984 */ GIR_Done,
41901 /* 117985 */ // Label 3291: @117985
41902 /* 117985 */ GIM_Reject,
41903 /* 117986 */ // Label 3289: @117986
41904 /* 117986 */ GIM_Reject,
41905 /* 117987 */ // Label 3260: @117987
41906 /* 117987 */ GIM_Try, /*On fail goto*//*Label 3292*/ GIMT_Encode4(118315),
41907 /* 117992 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
41908 /* 117995 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
41909 /* 117998 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
41910 /* 118001 */ GIM_Try, /*On fail goto*//*Label 3293*/ GIMT_Encode4(118092),
41911 /* 118006 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41912 /* 118010 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41913 /* 118014 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41914 /* 118018 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3294*/ GIMT_Encode4(118073), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14132 //
41915 /* 118025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
41916 /* 118029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41917 /* 118033 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41918 /* 118036 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41919 /* 118040 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41920 /* 118044 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41921 /* 118046 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41922 /* 118053 */ // (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)
41923 /* 118053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ128m),
41924 /* 118056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41925 /* 118058 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41926 /* 118060 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
41927 /* 118062 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
41928 /* 118066 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41929 /* 118071 */ GIR_RootConstrainSelectedInstOperands,
41930 /* 118072 */ // GIR_Coverage, 14132,
41931 /* 118072 */ GIR_EraseRootFromParent_Done,
41932 /* 118073 */ // Label 3294: @118073
41933 /* 118073 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3295*/ GIMT_Encode4(118091), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14129 //
41934 /* 118080 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41935 /* 118084 */ // (fshl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3) => (VPSHLDVDZ128r:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3)
41936 /* 118084 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ128r),
41937 /* 118089 */ GIR_RootConstrainSelectedInstOperands,
41938 /* 118090 */ // GIR_Coverage, 14129,
41939 /* 118090 */ GIR_Done,
41940 /* 118091 */ // Label 3295: @118091
41941 /* 118091 */ GIM_Reject,
41942 /* 118092 */ // Label 3293: @118092
41943 /* 118092 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3296*/ GIMT_Encode4(118314), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22297 //
41944 /* 118099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
41945 /* 118103 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41946 /* 118107 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41947 /* 118111 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41948 /* 118115 */ // (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] })
41949 /* 118115 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v16s32,
41950 /* 118118 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41951 /* 118122 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41952 /* 118127 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
41953 /* 118129 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
41954 /* 118132 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41955 /* 118136 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41956 /* 118141 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
41957 /* 118144 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
41958 /* 118148 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
41959 /* 118151 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41960 /* 118156 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41961 /* 118161 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
41962 /* 118166 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
41963 /* 118169 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41964 /* 118173 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41965 /* 118178 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
41966 /* 118180 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
41967 /* 118183 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41968 /* 118187 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41969 /* 118192 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
41970 /* 118195 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
41971 /* 118199 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
41972 /* 118202 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41973 /* 118207 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41974 /* 118212 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
41975 /* 118217 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
41976 /* 118220 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41977 /* 118224 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41978 /* 118229 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
41979 /* 118231 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
41980 /* 118234 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41981 /* 118238 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41982 /* 118243 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
41983 /* 118246 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
41984 /* 118250 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
41985 /* 118253 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
41986 /* 118258 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
41987 /* 118263 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
41988 /* 118268 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
41989 /* 118271 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZr),
41990 /* 118275 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41991 /* 118280 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41992 /* 118283 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
41993 /* 118286 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
41994 /* 118289 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
41995 /* 118291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41996 /* 118294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41997 /* 118296 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
41998 /* 118303 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
41999 /* 118308 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42000 /* 118313 */ // GIR_Coverage, 22297,
42001 /* 118313 */ GIR_EraseRootFromParent_Done,
42002 /* 118314 */ // Label 3296: @118314
42003 /* 118314 */ GIM_Reject,
42004 /* 118315 */ // Label 3292: @118315
42005 /* 118315 */ GIM_Reject,
42006 /* 118316 */ // Label 3261: @118316
42007 /* 118316 */ GIM_Try, /*On fail goto*//*Label 3297*/ GIMT_Encode4(118628),
42008 /* 118321 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
42009 /* 118324 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
42010 /* 118327 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
42011 /* 118330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42012 /* 118334 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42013 /* 118338 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42014 /* 118342 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3298*/ GIMT_Encode4(118397), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14123 //
42015 /* 118349 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42016 /* 118353 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42017 /* 118357 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42018 /* 118360 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42019 /* 118364 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42020 /* 118368 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42021 /* 118370 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42022 /* 118377 */ // (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)
42023 /* 118377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ256m),
42024 /* 118380 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42025 /* 118382 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42026 /* 118384 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42027 /* 118386 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42028 /* 118390 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42029 /* 118395 */ GIR_RootConstrainSelectedInstOperands,
42030 /* 118396 */ // GIR_Coverage, 14123,
42031 /* 118396 */ GIR_EraseRootFromParent_Done,
42032 /* 118397 */ // Label 3298: @118397
42033 /* 118397 */ GIM_Try, /*On fail goto*//*Label 3299*/ GIMT_Encode4(118627),
42034 /* 118402 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42035 /* 118406 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3300*/ GIMT_Encode4(118420), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14120 //
42036 /* 118413 */ // (fshl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3) => (VPSHLDVDZ256r:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3)
42037 /* 118413 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ256r),
42038 /* 118418 */ GIR_RootConstrainSelectedInstOperands,
42039 /* 118419 */ // GIR_Coverage, 14120,
42040 /* 118419 */ GIR_Done,
42041 /* 118420 */ // Label 3300: @118420
42042 /* 118420 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3301*/ GIMT_Encode4(118626), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22293 //
42043 /* 118427 */ // (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] })
42044 /* 118427 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v16s32,
42045 /* 118430 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42046 /* 118434 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42047 /* 118439 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42048 /* 118441 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
42049 /* 118444 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42050 /* 118448 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42051 /* 118453 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42052 /* 118456 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42053 /* 118460 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
42054 /* 118463 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42055 /* 118468 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42056 /* 118473 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42057 /* 118478 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
42058 /* 118481 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42059 /* 118485 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42060 /* 118490 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42061 /* 118492 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
42062 /* 118495 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42063 /* 118499 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42064 /* 118504 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42065 /* 118507 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
42066 /* 118511 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
42067 /* 118514 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42068 /* 118519 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42069 /* 118524 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42070 /* 118529 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
42071 /* 118532 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42072 /* 118536 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42073 /* 118541 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42074 /* 118543 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
42075 /* 118546 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42076 /* 118550 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42077 /* 118555 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42078 /* 118558 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42079 /* 118562 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
42080 /* 118565 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42081 /* 118570 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42082 /* 118575 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42083 /* 118580 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42084 /* 118583 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZr),
42085 /* 118587 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42086 /* 118592 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42087 /* 118595 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42088 /* 118598 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42089 /* 118601 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42090 /* 118603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42091 /* 118606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42092 /* 118608 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
42093 /* 118615 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
42094 /* 118620 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42095 /* 118625 */ // GIR_Coverage, 22293,
42096 /* 118625 */ GIR_EraseRootFromParent_Done,
42097 /* 118626 */ // Label 3301: @118626
42098 /* 118626 */ GIM_Reject,
42099 /* 118627 */ // Label 3299: @118627
42100 /* 118627 */ GIM_Reject,
42101 /* 118628 */ // Label 3297: @118628
42102 /* 118628 */ GIM_Reject,
42103 /* 118629 */ // Label 3262: @118629
42104 /* 118629 */ GIM_Try, /*On fail goto*//*Label 3302*/ GIMT_Encode4(118729),
42105 /* 118634 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
42106 /* 118637 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
42107 /* 118640 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
42108 /* 118643 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42109 /* 118647 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42110 /* 118651 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42111 /* 118655 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3303*/ GIMT_Encode4(118710), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14114 //
42112 /* 118662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42113 /* 118666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42114 /* 118670 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42115 /* 118673 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42116 /* 118677 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42117 /* 118681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42118 /* 118683 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42119 /* 118690 */ // (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)
42120 /* 118690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZm),
42121 /* 118693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42122 /* 118695 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42123 /* 118697 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42124 /* 118699 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42125 /* 118703 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42126 /* 118708 */ GIR_RootConstrainSelectedInstOperands,
42127 /* 118709 */ // GIR_Coverage, 14114,
42128 /* 118709 */ GIR_EraseRootFromParent_Done,
42129 /* 118710 */ // Label 3303: @118710
42130 /* 118710 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3304*/ GIMT_Encode4(118728), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14111 //
42131 /* 118717 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42132 /* 118721 */ // (fshl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src3) => (VPSHLDVDZr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src3)
42133 /* 118721 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZr),
42134 /* 118726 */ GIR_RootConstrainSelectedInstOperands,
42135 /* 118727 */ // GIR_Coverage, 14111,
42136 /* 118727 */ GIR_Done,
42137 /* 118728 */ // Label 3304: @118728
42138 /* 118728 */ GIM_Reject,
42139 /* 118729 */ // Label 3302: @118729
42140 /* 118729 */ GIM_Reject,
42141 /* 118730 */ // Label 3263: @118730
42142 /* 118730 */ GIM_Try, /*On fail goto*//*Label 3305*/ GIMT_Encode4(119058),
42143 /* 118735 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
42144 /* 118738 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
42145 /* 118741 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
42146 /* 118744 */ GIM_Try, /*On fail goto*//*Label 3306*/ GIMT_Encode4(118835),
42147 /* 118749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42148 /* 118753 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42149 /* 118757 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42150 /* 118761 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3307*/ GIMT_Encode4(118816), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14159 //
42151 /* 118768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42152 /* 118772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42153 /* 118776 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42154 /* 118779 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42155 /* 118783 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42156 /* 118787 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42157 /* 118789 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42158 /* 118796 */ // (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)
42159 /* 118796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ128m),
42160 /* 118799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42161 /* 118801 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42162 /* 118803 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42163 /* 118805 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42164 /* 118809 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42165 /* 118814 */ GIR_RootConstrainSelectedInstOperands,
42166 /* 118815 */ // GIR_Coverage, 14159,
42167 /* 118815 */ GIR_EraseRootFromParent_Done,
42168 /* 118816 */ // Label 3307: @118816
42169 /* 118816 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3308*/ GIMT_Encode4(118834), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14156 //
42170 /* 118823 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42171 /* 118827 */ // (fshl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3) => (VPSHLDVQZ128r:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3)
42172 /* 118827 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ128r),
42173 /* 118832 */ GIR_RootConstrainSelectedInstOperands,
42174 /* 118833 */ // GIR_Coverage, 14156,
42175 /* 118833 */ GIR_Done,
42176 /* 118834 */ // Label 3308: @118834
42177 /* 118834 */ GIM_Reject,
42178 /* 118835 */ // Label 3306: @118835
42179 /* 118835 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3309*/ GIMT_Encode4(119057), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22289 //
42180 /* 118842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
42181 /* 118846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42182 /* 118850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42183 /* 118854 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42184 /* 118858 */ // (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] })
42185 /* 118858 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
42186 /* 118861 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42187 /* 118865 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42188 /* 118870 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42189 /* 118872 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
42190 /* 118875 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42191 /* 118879 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42192 /* 118884 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42193 /* 118887 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42194 /* 118891 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
42195 /* 118894 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42196 /* 118899 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42197 /* 118904 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42198 /* 118909 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
42199 /* 118912 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42200 /* 118916 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42201 /* 118921 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42202 /* 118923 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
42203 /* 118926 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42204 /* 118930 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42205 /* 118935 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42206 /* 118938 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
42207 /* 118942 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
42208 /* 118945 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42209 /* 118950 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42210 /* 118955 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42211 /* 118960 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
42212 /* 118963 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42213 /* 118967 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42214 /* 118972 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42215 /* 118974 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
42216 /* 118977 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42217 /* 118981 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42218 /* 118986 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42219 /* 118989 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42220 /* 118993 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
42221 /* 118996 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42222 /* 119001 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42223 /* 119006 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42224 /* 119011 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42225 /* 119014 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZr),
42226 /* 119018 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42227 /* 119023 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42228 /* 119026 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42229 /* 119029 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42230 /* 119032 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42231 /* 119034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42232 /* 119037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42233 /* 119039 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
42234 /* 119046 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
42235 /* 119051 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42236 /* 119056 */ // GIR_Coverage, 22289,
42237 /* 119056 */ GIR_EraseRootFromParent_Done,
42238 /* 119057 */ // Label 3309: @119057
42239 /* 119057 */ GIM_Reject,
42240 /* 119058 */ // Label 3305: @119058
42241 /* 119058 */ GIM_Reject,
42242 /* 119059 */ // Label 3264: @119059
42243 /* 119059 */ GIM_Try, /*On fail goto*//*Label 3310*/ GIMT_Encode4(119371),
42244 /* 119064 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
42245 /* 119067 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
42246 /* 119070 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
42247 /* 119073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42248 /* 119077 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42249 /* 119081 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42250 /* 119085 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3311*/ GIMT_Encode4(119140), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14150 //
42251 /* 119092 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42252 /* 119096 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42253 /* 119100 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42254 /* 119103 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42255 /* 119107 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42256 /* 119111 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42257 /* 119113 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42258 /* 119120 */ // (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)
42259 /* 119120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ256m),
42260 /* 119123 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42261 /* 119125 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42262 /* 119127 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42263 /* 119129 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42264 /* 119133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42265 /* 119138 */ GIR_RootConstrainSelectedInstOperands,
42266 /* 119139 */ // GIR_Coverage, 14150,
42267 /* 119139 */ GIR_EraseRootFromParent_Done,
42268 /* 119140 */ // Label 3311: @119140
42269 /* 119140 */ GIM_Try, /*On fail goto*//*Label 3312*/ GIMT_Encode4(119370),
42270 /* 119145 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42271 /* 119149 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3313*/ GIMT_Encode4(119163), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14147 //
42272 /* 119156 */ // (fshl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3) => (VPSHLDVQZ256r:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3)
42273 /* 119156 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ256r),
42274 /* 119161 */ GIR_RootConstrainSelectedInstOperands,
42275 /* 119162 */ // GIR_Coverage, 14147,
42276 /* 119162 */ GIR_Done,
42277 /* 119163 */ // Label 3313: @119163
42278 /* 119163 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3314*/ GIMT_Encode4(119369), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22285 //
42279 /* 119170 */ // (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] })
42280 /* 119170 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
42281 /* 119173 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42282 /* 119177 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42283 /* 119182 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42284 /* 119184 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
42285 /* 119187 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42286 /* 119191 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42287 /* 119196 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42288 /* 119199 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42289 /* 119203 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
42290 /* 119206 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42291 /* 119211 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42292 /* 119216 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42293 /* 119221 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
42294 /* 119224 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42295 /* 119228 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42296 /* 119233 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42297 /* 119235 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
42298 /* 119238 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42299 /* 119242 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42300 /* 119247 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42301 /* 119250 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
42302 /* 119254 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
42303 /* 119257 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42304 /* 119262 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42305 /* 119267 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42306 /* 119272 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
42307 /* 119275 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42308 /* 119279 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42309 /* 119284 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42310 /* 119286 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
42311 /* 119289 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42312 /* 119293 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42313 /* 119298 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42314 /* 119301 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42315 /* 119305 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
42316 /* 119308 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42317 /* 119313 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42318 /* 119318 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42319 /* 119323 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42320 /* 119326 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZr),
42321 /* 119330 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42322 /* 119335 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42323 /* 119338 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42324 /* 119341 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42325 /* 119344 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42326 /* 119346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42327 /* 119349 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42328 /* 119351 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
42329 /* 119358 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
42330 /* 119363 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42331 /* 119368 */ // GIR_Coverage, 22285,
42332 /* 119368 */ GIR_EraseRootFromParent_Done,
42333 /* 119369 */ // Label 3314: @119369
42334 /* 119369 */ GIM_Reject,
42335 /* 119370 */ // Label 3312: @119370
42336 /* 119370 */ GIM_Reject,
42337 /* 119371 */ // Label 3310: @119371
42338 /* 119371 */ GIM_Reject,
42339 /* 119372 */ // Label 3265: @119372
42340 /* 119372 */ GIM_Try, /*On fail goto*//*Label 3315*/ GIMT_Encode4(119472),
42341 /* 119377 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
42342 /* 119380 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
42343 /* 119383 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
42344 /* 119386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42345 /* 119390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42346 /* 119394 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42347 /* 119398 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3316*/ GIMT_Encode4(119453), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14141 //
42348 /* 119405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42349 /* 119409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42350 /* 119413 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42351 /* 119416 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42352 /* 119420 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42353 /* 119424 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42354 /* 119426 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42355 /* 119433 */ // (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)
42356 /* 119433 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZm),
42357 /* 119436 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42358 /* 119438 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42359 /* 119440 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42360 /* 119442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42361 /* 119446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42362 /* 119451 */ GIR_RootConstrainSelectedInstOperands,
42363 /* 119452 */ // GIR_Coverage, 14141,
42364 /* 119452 */ GIR_EraseRootFromParent_Done,
42365 /* 119453 */ // Label 3316: @119453
42366 /* 119453 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3317*/ GIMT_Encode4(119471), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14138 //
42367 /* 119460 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42368 /* 119464 */ // (fshl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src3) => (VPSHLDVQZr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src3)
42369 /* 119464 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZr),
42370 /* 119469 */ GIR_RootConstrainSelectedInstOperands,
42371 /* 119470 */ // GIR_Coverage, 14138,
42372 /* 119470 */ GIR_Done,
42373 /* 119471 */ // Label 3317: @119471
42374 /* 119471 */ GIM_Reject,
42375 /* 119472 */ // Label 3315: @119472
42376 /* 119472 */ GIM_Reject,
42377 /* 119473 */ // Label 3266: @119473
42378 /* 119473 */ GIM_Reject,
42379 /* 119474 */ // Label 33: @119474
42380 /* 119474 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(25), /*)*//*default:*//*Label 3329*/ GIMT_Encode4(122208),
42381 /* 119485 */ /*GILLT_s32*//*Label 3318*/ GIMT_Encode4(119573),
42382 /* 119489 */ /*GILLT_s64*//*Label 3319*/ GIMT_Encode4(119749), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
42383 /* 119537 */ /*GILLT_v8s16*//*Label 3320*/ GIMT_Encode4(119925),
42384 /* 119541 */ /*GILLT_v16s16*//*Label 3321*/ GIMT_Encode4(120260),
42385 /* 119545 */ /*GILLT_v32s16*//*Label 3322*/ GIMT_Encode4(120579),
42386 /* 119549 */ /*GILLT_v4s32*//*Label 3323*/ GIMT_Encode4(120686),
42387 /* 119553 */ /*GILLT_v8s32*//*Label 3324*/ GIMT_Encode4(121021),
42388 /* 119557 */ /*GILLT_v16s32*//*Label 3325*/ GIMT_Encode4(121340),
42389 /* 119561 */ /*GILLT_v2s64*//*Label 3326*/ GIMT_Encode4(121447),
42390 /* 119565 */ /*GILLT_v4s64*//*Label 3327*/ GIMT_Encode4(121782),
42391 /* 119569 */ /*GILLT_v8s64*//*Label 3328*/ GIMT_Encode4(122101),
42392 /* 119573 */ // Label 3318: @119573
42393 /* 119573 */ GIM_Try, /*On fail goto*//*Label 3330*/ GIMT_Encode4(119748),
42394 /* 119578 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
42395 /* 119581 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
42396 /* 119584 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
42397 /* 119587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42398 /* 119591 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42399 /* 119595 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42400 /* 119599 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3331*/ GIMT_Encode4(119633), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 822 //
42401 /* 119606 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42402 /* 119610 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42403 /* 119614 */ // MIs[1] Operand 1
42404 /* 119614 */ // No operand predicates
42405 /* 119614 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42406 /* 119616 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD32rri8:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
42407 /* 119616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rri8),
42408 /* 119619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42409 /* 119621 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42410 /* 119623 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42411 /* 119625 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
42412 /* 119628 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42413 /* 119631 */ GIR_RootConstrainSelectedInstOperands,
42414 /* 119632 */ // GIR_Coverage, 822,
42415 /* 119632 */ GIR_EraseRootFromParent_Done,
42416 /* 119633 */ // Label 3331: @119633
42417 /* 119633 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3332*/ GIMT_Encode4(119667), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 828 //
42418 /* 119640 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42419 /* 119644 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42420 /* 119648 */ // MIs[1] Operand 1
42421 /* 119648 */ // No operand predicates
42422 /* 119648 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42423 /* 119650 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD32rri8_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
42424 /* 119650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rri8_ND),
42425 /* 119653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42426 /* 119655 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42427 /* 119657 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42428 /* 119659 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
42429 /* 119662 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42430 /* 119665 */ GIR_RootConstrainSelectedInstOperands,
42431 /* 119666 */ // GIR_Coverage, 828,
42432 /* 119666 */ GIR_EraseRootFromParent_Done,
42433 /* 119667 */ // Label 3332: @119667
42434 /* 119667 */ GIM_Try, /*On fail goto*//*Label 3333*/ GIMT_Encode4(119747),
42435 /* 119672 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42436 /* 119676 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3334*/ GIMT_Encode4(119711), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 825 //
42437 /* 119683 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHRD32rrCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
42438 /* 119683 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42439 /* 119687 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42440 /* 119693 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
42441 /* 119697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rrCL),
42442 /* 119700 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42443 /* 119702 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42444 /* 119704 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42445 /* 119706 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42446 /* 119709 */ GIR_RootConstrainSelectedInstOperands,
42447 /* 119710 */ // GIR_Coverage, 825,
42448 /* 119710 */ GIR_EraseRootFromParent_Done,
42449 /* 119711 */ // Label 3334: @119711
42450 /* 119711 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3335*/ GIMT_Encode4(119746), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 831 //
42451 /* 119718 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHRD32rrCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
42452 /* 119718 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42453 /* 119722 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42454 /* 119728 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
42455 /* 119732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rrCL_ND),
42456 /* 119735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42457 /* 119737 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42458 /* 119739 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42459 /* 119741 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42460 /* 119744 */ GIR_RootConstrainSelectedInstOperands,
42461 /* 119745 */ // GIR_Coverage, 831,
42462 /* 119745 */ GIR_EraseRootFromParent_Done,
42463 /* 119746 */ // Label 3335: @119746
42464 /* 119746 */ GIM_Reject,
42465 /* 119747 */ // Label 3333: @119747
42466 /* 119747 */ GIM_Reject,
42467 /* 119748 */ // Label 3330: @119748
42468 /* 119748 */ GIM_Reject,
42469 /* 119749 */ // Label 3319: @119749
42470 /* 119749 */ GIM_Try, /*On fail goto*//*Label 3336*/ GIMT_Encode4(119924),
42471 /* 119754 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
42472 /* 119757 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
42473 /* 119760 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
42474 /* 119763 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42475 /* 119767 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42476 /* 119771 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42477 /* 119775 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3337*/ GIMT_Encode4(119809), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 823 //
42478 /* 119782 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42479 /* 119786 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42480 /* 119790 */ // MIs[1] Operand 1
42481 /* 119790 */ // No operand predicates
42482 /* 119790 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42483 /* 119792 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD64rri8:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
42484 /* 119792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rri8),
42485 /* 119795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42486 /* 119797 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42487 /* 119799 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42488 /* 119801 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
42489 /* 119804 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42490 /* 119807 */ GIR_RootConstrainSelectedInstOperands,
42491 /* 119808 */ // GIR_Coverage, 823,
42492 /* 119808 */ GIR_EraseRootFromParent_Done,
42493 /* 119809 */ // Label 3337: @119809
42494 /* 119809 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3338*/ GIMT_Encode4(119843), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 829 //
42495 /* 119816 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42496 /* 119820 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42497 /* 119824 */ // MIs[1] Operand 1
42498 /* 119824 */ // No operand predicates
42499 /* 119824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42500 /* 119826 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD64rri8_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
42501 /* 119826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rri8_ND),
42502 /* 119829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42503 /* 119831 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42504 /* 119833 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42505 /* 119835 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
42506 /* 119838 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42507 /* 119841 */ GIR_RootConstrainSelectedInstOperands,
42508 /* 119842 */ // GIR_Coverage, 829,
42509 /* 119842 */ GIR_EraseRootFromParent_Done,
42510 /* 119843 */ // Label 3338: @119843
42511 /* 119843 */ GIM_Try, /*On fail goto*//*Label 3339*/ GIMT_Encode4(119923),
42512 /* 119848 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42513 /* 119852 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3340*/ GIMT_Encode4(119887), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 826 //
42514 /* 119859 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHRD64rrCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
42515 /* 119859 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42516 /* 119863 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42517 /* 119869 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
42518 /* 119873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rrCL),
42519 /* 119876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42520 /* 119878 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42521 /* 119880 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42522 /* 119882 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42523 /* 119885 */ GIR_RootConstrainSelectedInstOperands,
42524 /* 119886 */ // GIR_Coverage, 826,
42525 /* 119886 */ GIR_EraseRootFromParent_Done,
42526 /* 119887 */ // Label 3340: @119887
42527 /* 119887 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3341*/ GIMT_Encode4(119922), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 832 //
42528 /* 119894 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHRD64rrCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
42529 /* 119894 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42530 /* 119898 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42531 /* 119904 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
42532 /* 119908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rrCL_ND),
42533 /* 119911 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42534 /* 119913 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42535 /* 119915 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42536 /* 119917 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42537 /* 119920 */ GIR_RootConstrainSelectedInstOperands,
42538 /* 119921 */ // GIR_Coverage, 832,
42539 /* 119921 */ GIR_EraseRootFromParent_Done,
42540 /* 119922 */ // Label 3341: @119922
42541 /* 119922 */ GIM_Reject,
42542 /* 119923 */ // Label 3339: @119923
42543 /* 119923 */ GIM_Reject,
42544 /* 119924 */ // Label 3336: @119924
42545 /* 119924 */ GIM_Reject,
42546 /* 119925 */ // Label 3320: @119925
42547 /* 119925 */ GIM_Try, /*On fail goto*//*Label 3342*/ GIMT_Encode4(120259),
42548 /* 119930 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
42549 /* 119933 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
42550 /* 119936 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
42551 /* 119939 */ GIM_Try, /*On fail goto*//*Label 3343*/ GIMT_Encode4(120036),
42552 /* 119944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42553 /* 119948 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42554 /* 119952 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42555 /* 119956 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3344*/ GIMT_Encode4(120011), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14180 //
42556 /* 119963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42557 /* 119967 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42558 /* 119971 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42559 /* 119974 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42560 /* 119978 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42561 /* 119982 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42562 /* 119984 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42563 /* 119991 */ // (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)
42564 /* 119991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ128m),
42565 /* 119994 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42566 /* 119996 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42567 /* 119998 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42568 /* 120000 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42569 /* 120004 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42570 /* 120009 */ GIR_RootConstrainSelectedInstOperands,
42571 /* 120010 */ // GIR_Coverage, 14180,
42572 /* 120010 */ GIR_EraseRootFromParent_Done,
42573 /* 120011 */ // Label 3344: @120011
42574 /* 120011 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3345*/ GIMT_Encode4(120035), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14177 //
42575 /* 120018 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42576 /* 120022 */ // (fshr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src3) => (VPSHRDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3)
42577 /* 120022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ128r),
42578 /* 120025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42579 /* 120027 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42580 /* 120029 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42581 /* 120031 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
42582 /* 120033 */ GIR_RootConstrainSelectedInstOperands,
42583 /* 120034 */ // GIR_Coverage, 14177,
42584 /* 120034 */ GIR_EraseRootFromParent_Done,
42585 /* 120035 */ // Label 3345: @120035
42586 /* 120035 */ GIM_Reject,
42587 /* 120036 */ // Label 3343: @120036
42588 /* 120036 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3346*/ GIMT_Encode4(120258), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22307 //
42589 /* 120043 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
42590 /* 120047 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42591 /* 120051 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42592 /* 120055 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42593 /* 120059 */ // (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] })
42594 /* 120059 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
42595 /* 120062 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42596 /* 120066 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42597 /* 120071 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42598 /* 120073 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
42599 /* 120076 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42600 /* 120080 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42601 /* 120085 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42602 /* 120088 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42603 /* 120092 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
42604 /* 120095 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42605 /* 120100 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42606 /* 120105 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42607 /* 120110 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
42608 /* 120113 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42609 /* 120117 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42610 /* 120122 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42611 /* 120124 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
42612 /* 120127 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42613 /* 120131 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42614 /* 120136 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42615 /* 120139 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
42616 /* 120143 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
42617 /* 120146 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42618 /* 120151 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42619 /* 120156 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42620 /* 120161 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
42621 /* 120164 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42622 /* 120168 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42623 /* 120173 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42624 /* 120175 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
42625 /* 120178 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42626 /* 120182 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42627 /* 120187 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42628 /* 120190 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
42629 /* 120194 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
42630 /* 120197 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42631 /* 120202 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42632 /* 120207 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42633 /* 120212 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42634 /* 120215 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
42635 /* 120219 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42636 /* 120224 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42637 /* 120227 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42638 /* 120230 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42639 /* 120233 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42640 /* 120235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42641 /* 120238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42642 /* 120240 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
42643 /* 120247 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
42644 /* 120252 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42645 /* 120257 */ // GIR_Coverage, 22307,
42646 /* 120257 */ GIR_EraseRootFromParent_Done,
42647 /* 120258 */ // Label 3346: @120258
42648 /* 120258 */ GIM_Reject,
42649 /* 120259 */ // Label 3342: @120259
42650 /* 120259 */ GIM_Reject,
42651 /* 120260 */ // Label 3321: @120260
42652 /* 120260 */ GIM_Try, /*On fail goto*//*Label 3347*/ GIMT_Encode4(120578),
42653 /* 120265 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
42654 /* 120268 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
42655 /* 120271 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
42656 /* 120274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42657 /* 120278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42658 /* 120282 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42659 /* 120286 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3348*/ GIMT_Encode4(120341), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14174 //
42660 /* 120293 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42661 /* 120297 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42662 /* 120301 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42663 /* 120304 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42664 /* 120308 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42665 /* 120312 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42666 /* 120314 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42667 /* 120321 */ // (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)
42668 /* 120321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ256m),
42669 /* 120324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42670 /* 120326 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42671 /* 120328 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42672 /* 120330 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42673 /* 120334 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42674 /* 120339 */ GIR_RootConstrainSelectedInstOperands,
42675 /* 120340 */ // GIR_Coverage, 14174,
42676 /* 120340 */ GIR_EraseRootFromParent_Done,
42677 /* 120341 */ // Label 3348: @120341
42678 /* 120341 */ GIM_Try, /*On fail goto*//*Label 3349*/ GIMT_Encode4(120577),
42679 /* 120346 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42680 /* 120350 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3350*/ GIMT_Encode4(120370), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14171 //
42681 /* 120357 */ // (fshr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src3) => (VPSHRDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3)
42682 /* 120357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ256r),
42683 /* 120360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42684 /* 120362 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42685 /* 120364 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42686 /* 120366 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
42687 /* 120368 */ GIR_RootConstrainSelectedInstOperands,
42688 /* 120369 */ // GIR_Coverage, 14171,
42689 /* 120369 */ GIR_EraseRootFromParent_Done,
42690 /* 120370 */ // Label 3350: @120370
42691 /* 120370 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3351*/ GIMT_Encode4(120576), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22303 //
42692 /* 120377 */ // (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] })
42693 /* 120377 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
42694 /* 120380 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42695 /* 120384 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42696 /* 120389 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42697 /* 120391 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
42698 /* 120394 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42699 /* 120398 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42700 /* 120403 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42701 /* 120406 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42702 /* 120410 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
42703 /* 120413 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42704 /* 120418 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42705 /* 120423 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42706 /* 120428 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
42707 /* 120431 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42708 /* 120435 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42709 /* 120440 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42710 /* 120442 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
42711 /* 120445 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42712 /* 120449 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42713 /* 120454 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42714 /* 120457 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
42715 /* 120461 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
42716 /* 120464 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42717 /* 120469 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42718 /* 120474 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42719 /* 120479 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
42720 /* 120482 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42721 /* 120486 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42722 /* 120491 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42723 /* 120493 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
42724 /* 120496 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42725 /* 120500 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42726 /* 120505 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42727 /* 120508 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
42728 /* 120512 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
42729 /* 120515 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42730 /* 120520 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42731 /* 120525 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42732 /* 120530 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42733 /* 120533 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
42734 /* 120537 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42735 /* 120542 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42736 /* 120545 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42737 /* 120548 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42738 /* 120551 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42739 /* 120553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42740 /* 120556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42741 /* 120558 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
42742 /* 120565 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
42743 /* 120570 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42744 /* 120575 */ // GIR_Coverage, 22303,
42745 /* 120575 */ GIR_EraseRootFromParent_Done,
42746 /* 120576 */ // Label 3351: @120576
42747 /* 120576 */ GIM_Reject,
42748 /* 120577 */ // Label 3349: @120577
42749 /* 120577 */ GIM_Reject,
42750 /* 120578 */ // Label 3347: @120578
42751 /* 120578 */ GIM_Reject,
42752 /* 120579 */ // Label 3322: @120579
42753 /* 120579 */ GIM_Try, /*On fail goto*//*Label 3352*/ GIMT_Encode4(120685),
42754 /* 120584 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
42755 /* 120587 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
42756 /* 120590 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
42757 /* 120593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42758 /* 120597 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42759 /* 120601 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42760 /* 120605 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3353*/ GIMT_Encode4(120660), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14168 //
42761 /* 120612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42762 /* 120616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42763 /* 120620 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42764 /* 120623 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42765 /* 120627 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42766 /* 120631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42767 /* 120633 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42768 /* 120640 */ // (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)
42769 /* 120640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZm),
42770 /* 120643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42771 /* 120645 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42772 /* 120647 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42773 /* 120649 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42774 /* 120653 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42775 /* 120658 */ GIR_RootConstrainSelectedInstOperands,
42776 /* 120659 */ // GIR_Coverage, 14168,
42777 /* 120659 */ GIR_EraseRootFromParent_Done,
42778 /* 120660 */ // Label 3353: @120660
42779 /* 120660 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3354*/ GIMT_Encode4(120684), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14165 //
42780 /* 120667 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42781 /* 120671 */ // (fshr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src3) => (VPSHRDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src3)
42782 /* 120671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
42783 /* 120674 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42784 /* 120676 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42785 /* 120678 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42786 /* 120680 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
42787 /* 120682 */ GIR_RootConstrainSelectedInstOperands,
42788 /* 120683 */ // GIR_Coverage, 14165,
42789 /* 120683 */ GIR_EraseRootFromParent_Done,
42790 /* 120684 */ // Label 3354: @120684
42791 /* 120684 */ GIM_Reject,
42792 /* 120685 */ // Label 3352: @120685
42793 /* 120685 */ GIM_Reject,
42794 /* 120686 */ // Label 3323: @120686
42795 /* 120686 */ GIM_Try, /*On fail goto*//*Label 3355*/ GIMT_Encode4(121020),
42796 /* 120691 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
42797 /* 120694 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
42798 /* 120697 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
42799 /* 120700 */ GIM_Try, /*On fail goto*//*Label 3356*/ GIMT_Encode4(120797),
42800 /* 120705 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42801 /* 120709 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42802 /* 120713 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42803 /* 120717 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3357*/ GIMT_Encode4(120772), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14204 //
42804 /* 120724 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42805 /* 120728 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42806 /* 120732 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42807 /* 120735 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42808 /* 120739 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42809 /* 120743 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42810 /* 120745 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42811 /* 120752 */ // (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)
42812 /* 120752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ128m),
42813 /* 120755 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42814 /* 120757 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42815 /* 120759 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42816 /* 120761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42817 /* 120765 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42818 /* 120770 */ GIR_RootConstrainSelectedInstOperands,
42819 /* 120771 */ // GIR_Coverage, 14204,
42820 /* 120771 */ GIR_EraseRootFromParent_Done,
42821 /* 120772 */ // Label 3357: @120772
42822 /* 120772 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3358*/ GIMT_Encode4(120796), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14201 //
42823 /* 120779 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42824 /* 120783 */ // (fshr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src3) => (VPSHRDVDZ128r:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3)
42825 /* 120783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ128r),
42826 /* 120786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42827 /* 120788 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42828 /* 120790 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42829 /* 120792 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
42830 /* 120794 */ GIR_RootConstrainSelectedInstOperands,
42831 /* 120795 */ // GIR_Coverage, 14201,
42832 /* 120795 */ GIR_EraseRootFromParent_Done,
42833 /* 120796 */ // Label 3358: @120796
42834 /* 120796 */ GIM_Reject,
42835 /* 120797 */ // Label 3356: @120797
42836 /* 120797 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3359*/ GIMT_Encode4(121019), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22299 //
42837 /* 120804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
42838 /* 120808 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42839 /* 120812 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42840 /* 120816 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42841 /* 120820 */ // (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] })
42842 /* 120820 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v16s32,
42843 /* 120823 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42844 /* 120827 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42845 /* 120832 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42846 /* 120834 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
42847 /* 120837 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42848 /* 120841 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42849 /* 120846 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42850 /* 120849 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42851 /* 120853 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
42852 /* 120856 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42853 /* 120861 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42854 /* 120866 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42855 /* 120871 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
42856 /* 120874 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42857 /* 120878 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42858 /* 120883 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42859 /* 120885 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
42860 /* 120888 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42861 /* 120892 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42862 /* 120897 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42863 /* 120900 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
42864 /* 120904 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
42865 /* 120907 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42866 /* 120912 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42867 /* 120917 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42868 /* 120922 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
42869 /* 120925 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42870 /* 120929 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42871 /* 120934 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42872 /* 120936 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
42873 /* 120939 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42874 /* 120943 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42875 /* 120948 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42876 /* 120951 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
42877 /* 120955 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
42878 /* 120958 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42879 /* 120963 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42880 /* 120968 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42881 /* 120973 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42882 /* 120976 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZr),
42883 /* 120980 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42884 /* 120985 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42885 /* 120988 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42886 /* 120991 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42887 /* 120994 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42888 /* 120996 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42889 /* 120999 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42890 /* 121001 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
42891 /* 121008 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
42892 /* 121013 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42893 /* 121018 */ // GIR_Coverage, 22299,
42894 /* 121018 */ GIR_EraseRootFromParent_Done,
42895 /* 121019 */ // Label 3359: @121019
42896 /* 121019 */ GIM_Reject,
42897 /* 121020 */ // Label 3355: @121020
42898 /* 121020 */ GIM_Reject,
42899 /* 121021 */ // Label 3324: @121021
42900 /* 121021 */ GIM_Try, /*On fail goto*//*Label 3360*/ GIMT_Encode4(121339),
42901 /* 121026 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
42902 /* 121029 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
42903 /* 121032 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
42904 /* 121035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42905 /* 121039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42906 /* 121043 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42907 /* 121047 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3361*/ GIMT_Encode4(121102), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14195 //
42908 /* 121054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42909 /* 121058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42910 /* 121062 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42911 /* 121065 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42912 /* 121069 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42913 /* 121073 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42914 /* 121075 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42915 /* 121082 */ // (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)
42916 /* 121082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ256m),
42917 /* 121085 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42918 /* 121087 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42919 /* 121089 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42920 /* 121091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42921 /* 121095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42922 /* 121100 */ GIR_RootConstrainSelectedInstOperands,
42923 /* 121101 */ // GIR_Coverage, 14195,
42924 /* 121101 */ GIR_EraseRootFromParent_Done,
42925 /* 121102 */ // Label 3361: @121102
42926 /* 121102 */ GIM_Try, /*On fail goto*//*Label 3362*/ GIMT_Encode4(121338),
42927 /* 121107 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42928 /* 121111 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3363*/ GIMT_Encode4(121131), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14192 //
42929 /* 121118 */ // (fshr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src3) => (VPSHRDVDZ256r:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3)
42930 /* 121118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ256r),
42931 /* 121121 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42932 /* 121123 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
42933 /* 121125 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
42934 /* 121127 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
42935 /* 121129 */ GIR_RootConstrainSelectedInstOperands,
42936 /* 121130 */ // GIR_Coverage, 14192,
42937 /* 121130 */ GIR_EraseRootFromParent_Done,
42938 /* 121131 */ // Label 3363: @121131
42939 /* 121131 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3364*/ GIMT_Encode4(121337), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22295 //
42940 /* 121138 */ // (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] })
42941 /* 121138 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v16s32,
42942 /* 121141 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42943 /* 121145 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42944 /* 121150 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42945 /* 121152 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
42946 /* 121155 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42947 /* 121159 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42948 /* 121164 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42949 /* 121167 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42950 /* 121171 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
42951 /* 121174 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42952 /* 121179 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42953 /* 121184 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42954 /* 121189 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
42955 /* 121192 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42956 /* 121196 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42957 /* 121201 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42958 /* 121203 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
42959 /* 121206 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42960 /* 121210 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42961 /* 121215 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42962 /* 121218 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
42963 /* 121222 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
42964 /* 121225 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42965 /* 121230 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42966 /* 121235 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42967 /* 121240 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
42968 /* 121243 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42969 /* 121247 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42970 /* 121252 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42971 /* 121254 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
42972 /* 121257 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42973 /* 121261 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42974 /* 121266 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42975 /* 121269 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
42976 /* 121273 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
42977 /* 121276 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42978 /* 121281 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42979 /* 121286 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42980 /* 121291 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42981 /* 121294 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZr),
42982 /* 121298 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42983 /* 121303 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42984 /* 121306 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42985 /* 121309 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42986 /* 121312 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42987 /* 121314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42988 /* 121317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42989 /* 121319 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
42990 /* 121326 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
42991 /* 121331 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42992 /* 121336 */ // GIR_Coverage, 22295,
42993 /* 121336 */ GIR_EraseRootFromParent_Done,
42994 /* 121337 */ // Label 3364: @121337
42995 /* 121337 */ GIM_Reject,
42996 /* 121338 */ // Label 3362: @121338
42997 /* 121338 */ GIM_Reject,
42998 /* 121339 */ // Label 3360: @121339
42999 /* 121339 */ GIM_Reject,
43000 /* 121340 */ // Label 3325: @121340
43001 /* 121340 */ GIM_Try, /*On fail goto*//*Label 3365*/ GIMT_Encode4(121446),
43002 /* 121345 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
43003 /* 121348 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
43004 /* 121351 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
43005 /* 121354 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43006 /* 121358 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43007 /* 121362 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43008 /* 121366 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3366*/ GIMT_Encode4(121421), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14186 //
43009 /* 121373 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43010 /* 121377 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43011 /* 121381 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43012 /* 121384 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43013 /* 121388 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43014 /* 121392 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43015 /* 121394 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43016 /* 121401 */ // (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)
43017 /* 121401 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZm),
43018 /* 121404 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43019 /* 121406 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43020 /* 121408 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43021 /* 121410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43022 /* 121414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43023 /* 121419 */ GIR_RootConstrainSelectedInstOperands,
43024 /* 121420 */ // GIR_Coverage, 14186,
43025 /* 121420 */ GIR_EraseRootFromParent_Done,
43026 /* 121421 */ // Label 3366: @121421
43027 /* 121421 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3367*/ GIMT_Encode4(121445), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14183 //
43028 /* 121428 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43029 /* 121432 */ // (fshr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src3) => (VPSHRDVDZr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src3)
43030 /* 121432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZr),
43031 /* 121435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43032 /* 121437 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43033 /* 121439 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43034 /* 121441 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43035 /* 121443 */ GIR_RootConstrainSelectedInstOperands,
43036 /* 121444 */ // GIR_Coverage, 14183,
43037 /* 121444 */ GIR_EraseRootFromParent_Done,
43038 /* 121445 */ // Label 3367: @121445
43039 /* 121445 */ GIM_Reject,
43040 /* 121446 */ // Label 3365: @121446
43041 /* 121446 */ GIM_Reject,
43042 /* 121447 */ // Label 3326: @121447
43043 /* 121447 */ GIM_Try, /*On fail goto*//*Label 3368*/ GIMT_Encode4(121781),
43044 /* 121452 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
43045 /* 121455 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
43046 /* 121458 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
43047 /* 121461 */ GIM_Try, /*On fail goto*//*Label 3369*/ GIMT_Encode4(121558),
43048 /* 121466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43049 /* 121470 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43050 /* 121474 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43051 /* 121478 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3370*/ GIMT_Encode4(121533), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14231 //
43052 /* 121485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43053 /* 121489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43054 /* 121493 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43055 /* 121496 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43056 /* 121500 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43057 /* 121504 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43058 /* 121506 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43059 /* 121513 */ // (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)
43060 /* 121513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ128m),
43061 /* 121516 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43062 /* 121518 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43063 /* 121520 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43064 /* 121522 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43065 /* 121526 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43066 /* 121531 */ GIR_RootConstrainSelectedInstOperands,
43067 /* 121532 */ // GIR_Coverage, 14231,
43068 /* 121532 */ GIR_EraseRootFromParent_Done,
43069 /* 121533 */ // Label 3370: @121533
43070 /* 121533 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3371*/ GIMT_Encode4(121557), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14228 //
43071 /* 121540 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43072 /* 121544 */ // (fshr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src3) => (VPSHRDVQZ128r:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3)
43073 /* 121544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ128r),
43074 /* 121547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43075 /* 121549 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43076 /* 121551 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43077 /* 121553 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43078 /* 121555 */ GIR_RootConstrainSelectedInstOperands,
43079 /* 121556 */ // GIR_Coverage, 14228,
43080 /* 121556 */ GIR_EraseRootFromParent_Done,
43081 /* 121557 */ // Label 3371: @121557
43082 /* 121557 */ GIM_Reject,
43083 /* 121558 */ // Label 3369: @121558
43084 /* 121558 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3372*/ GIMT_Encode4(121780), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22291 //
43085 /* 121565 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
43086 /* 121569 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43087 /* 121573 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43088 /* 121577 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43089 /* 121581 */ // (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] })
43090 /* 121581 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
43091 /* 121584 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43092 /* 121588 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43093 /* 121593 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43094 /* 121595 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
43095 /* 121598 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43096 /* 121602 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43097 /* 121607 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43098 /* 121610 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
43099 /* 121614 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
43100 /* 121617 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43101 /* 121622 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43102 /* 121627 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43103 /* 121632 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
43104 /* 121635 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43105 /* 121639 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43106 /* 121644 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43107 /* 121646 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
43108 /* 121649 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43109 /* 121653 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43110 /* 121658 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43111 /* 121661 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43112 /* 121665 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
43113 /* 121668 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43114 /* 121673 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43115 /* 121678 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43116 /* 121683 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
43117 /* 121686 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43118 /* 121690 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43119 /* 121695 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43120 /* 121697 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
43121 /* 121700 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43122 /* 121704 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43123 /* 121709 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43124 /* 121712 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
43125 /* 121716 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
43126 /* 121719 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43127 /* 121724 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43128 /* 121729 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43129 /* 121734 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43130 /* 121737 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZr),
43131 /* 121741 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43132 /* 121746 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43133 /* 121749 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43134 /* 121752 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43135 /* 121755 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43136 /* 121757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43137 /* 121760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43138 /* 121762 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
43139 /* 121769 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
43140 /* 121774 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43141 /* 121779 */ // GIR_Coverage, 22291,
43142 /* 121779 */ GIR_EraseRootFromParent_Done,
43143 /* 121780 */ // Label 3372: @121780
43144 /* 121780 */ GIM_Reject,
43145 /* 121781 */ // Label 3368: @121781
43146 /* 121781 */ GIM_Reject,
43147 /* 121782 */ // Label 3327: @121782
43148 /* 121782 */ GIM_Try, /*On fail goto*//*Label 3373*/ GIMT_Encode4(122100),
43149 /* 121787 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
43150 /* 121790 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
43151 /* 121793 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
43152 /* 121796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43153 /* 121800 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43154 /* 121804 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43155 /* 121808 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3374*/ GIMT_Encode4(121863), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14222 //
43156 /* 121815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43157 /* 121819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43158 /* 121823 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43159 /* 121826 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43160 /* 121830 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43161 /* 121834 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43162 /* 121836 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43163 /* 121843 */ // (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)
43164 /* 121843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ256m),
43165 /* 121846 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43166 /* 121848 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43167 /* 121850 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43168 /* 121852 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43169 /* 121856 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43170 /* 121861 */ GIR_RootConstrainSelectedInstOperands,
43171 /* 121862 */ // GIR_Coverage, 14222,
43172 /* 121862 */ GIR_EraseRootFromParent_Done,
43173 /* 121863 */ // Label 3374: @121863
43174 /* 121863 */ GIM_Try, /*On fail goto*//*Label 3375*/ GIMT_Encode4(122099),
43175 /* 121868 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43176 /* 121872 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3376*/ GIMT_Encode4(121892), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 14219 //
43177 /* 121879 */ // (fshr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src3) => (VPSHRDVQZ256r:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3)
43178 /* 121879 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ256r),
43179 /* 121882 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43180 /* 121884 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43181 /* 121886 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43182 /* 121888 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43183 /* 121890 */ GIR_RootConstrainSelectedInstOperands,
43184 /* 121891 */ // GIR_Coverage, 14219,
43185 /* 121891 */ GIR_EraseRootFromParent_Done,
43186 /* 121892 */ // Label 3376: @121892
43187 /* 121892 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3377*/ GIMT_Encode4(122098), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22287 //
43188 /* 121899 */ // (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] })
43189 /* 121899 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
43190 /* 121902 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43191 /* 121906 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43192 /* 121911 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43193 /* 121913 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
43194 /* 121916 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43195 /* 121920 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43196 /* 121925 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43197 /* 121928 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
43198 /* 121932 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
43199 /* 121935 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43200 /* 121940 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43201 /* 121945 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43202 /* 121950 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
43203 /* 121953 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43204 /* 121957 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43205 /* 121962 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43206 /* 121964 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
43207 /* 121967 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43208 /* 121971 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43209 /* 121976 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43210 /* 121979 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43211 /* 121983 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
43212 /* 121986 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43213 /* 121991 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43214 /* 121996 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43215 /* 122001 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
43216 /* 122004 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43217 /* 122008 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43218 /* 122013 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43219 /* 122015 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
43220 /* 122018 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43221 /* 122022 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43222 /* 122027 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43223 /* 122030 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
43224 /* 122034 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
43225 /* 122037 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43226 /* 122042 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43227 /* 122047 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43228 /* 122052 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43229 /* 122055 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZr),
43230 /* 122059 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43231 /* 122064 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43232 /* 122067 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43233 /* 122070 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43234 /* 122073 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43235 /* 122075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43236 /* 122078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43237 /* 122080 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
43238 /* 122087 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
43239 /* 122092 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43240 /* 122097 */ // GIR_Coverage, 22287,
43241 /* 122097 */ GIR_EraseRootFromParent_Done,
43242 /* 122098 */ // Label 3377: @122098
43243 /* 122098 */ GIM_Reject,
43244 /* 122099 */ // Label 3375: @122099
43245 /* 122099 */ GIM_Reject,
43246 /* 122100 */ // Label 3373: @122100
43247 /* 122100 */ GIM_Reject,
43248 /* 122101 */ // Label 3328: @122101
43249 /* 122101 */ GIM_Try, /*On fail goto*//*Label 3378*/ GIMT_Encode4(122207),
43250 /* 122106 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
43251 /* 122109 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
43252 /* 122112 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
43253 /* 122115 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43254 /* 122119 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43255 /* 122123 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43256 /* 122127 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3379*/ GIMT_Encode4(122182), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14213 //
43257 /* 122134 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43258 /* 122138 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43259 /* 122142 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43260 /* 122145 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43261 /* 122149 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43262 /* 122153 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43263 /* 122155 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43264 /* 122162 */ // (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)
43265 /* 122162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZm),
43266 /* 122165 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43267 /* 122167 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43268 /* 122169 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43269 /* 122171 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43270 /* 122175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43271 /* 122180 */ GIR_RootConstrainSelectedInstOperands,
43272 /* 122181 */ // GIR_Coverage, 14213,
43273 /* 122181 */ GIR_EraseRootFromParent_Done,
43274 /* 122182 */ // Label 3379: @122182
43275 /* 122182 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3380*/ GIMT_Encode4(122206), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 14210 //
43276 /* 122189 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43277 /* 122193 */ // (fshr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src3) => (VPSHRDVQZr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src3)
43278 /* 122193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZr),
43279 /* 122196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43280 /* 122198 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43281 /* 122200 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43282 /* 122202 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43283 /* 122204 */ GIR_RootConstrainSelectedInstOperands,
43284 /* 122205 */ // GIR_Coverage, 14210,
43285 /* 122205 */ GIR_EraseRootFromParent_Done,
43286 /* 122206 */ // Label 3380: @122206
43287 /* 122206 */ GIM_Reject,
43288 /* 122207 */ // Label 3378: @122207
43289 /* 122207 */ GIM_Reject,
43290 /* 122208 */ // Label 3329: @122208
43291 /* 122208 */ GIM_Reject,
43292 /* 122209 */ // Label 34: @122209
43293 /* 122209 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 3394*/ GIMT_Encode4(125357),
43294 /* 122220 */ /*GILLT_s8*//*Label 3381*/ GIMT_Encode4(122316),
43295 /* 122224 */ /*GILLT_s16*//*Label 3382*/ GIMT_Encode4(122525),
43296 /* 122228 */ /*GILLT_s32*//*Label 3383*/ GIMT_Encode4(122734),
43297 /* 122232 */ /*GILLT_s64*//*Label 3384*/ GIMT_Encode4(123165), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
43298 /* 122280 */ /*GILLT_v8s16*//*Label 3385*/ GIMT_Encode4(123596),
43299 /* 122284 */ /*GILLT_v16s16*//*Label 3386*/ GIMT_Encode4(123859),
43300 /* 122288 */ /*GILLT_v32s16*//*Label 3387*/ GIMT_Encode4(124110),
43301 /* 122292 */ /*GILLT_v4s32*//*Label 3388*/ GIMT_Encode4(124149),
43302 /* 122296 */ /*GILLT_v8s32*//*Label 3389*/ GIMT_Encode4(124411),
43303 /* 122300 */ /*GILLT_v16s32*//*Label 3390*/ GIMT_Encode4(124661),
43304 /* 122304 */ /*GILLT_v2s64*//*Label 3391*/ GIMT_Encode4(124753),
43305 /* 122308 */ /*GILLT_v4s64*//*Label 3392*/ GIMT_Encode4(125015),
43306 /* 122312 */ /*GILLT_v8s64*//*Label 3393*/ GIMT_Encode4(125265),
43307 /* 122316 */ // Label 3381: @122316
43308 /* 122316 */ GIM_Try, /*On fail goto*//*Label 3395*/ GIMT_Encode4(122524),
43309 /* 122321 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
43310 /* 122324 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
43311 /* 122327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43312 /* 122331 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43313 /* 122335 */ GIM_Try, /*On fail goto*//*Label 3396*/ GIMT_Encode4(122383),
43314 /* 122340 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
43315 /* 122344 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3397*/ GIMT_Encode4(122363), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 17657 //
43316 /* 122351 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROL8r1:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
43317 /* 122351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8r1),
43318 /* 122354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43319 /* 122356 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43320 /* 122358 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43321 /* 122361 */ GIR_RootConstrainSelectedInstOperands,
43322 /* 122362 */ // GIR_Coverage, 17657,
43323 /* 122362 */ GIR_EraseRootFromParent_Done,
43324 /* 122363 */ // Label 3397: @122363
43325 /* 122363 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3398*/ GIMT_Encode4(122382), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 17665 //
43326 /* 122370 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROL8r1_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
43327 /* 122370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8r1_ND),
43328 /* 122373 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43329 /* 122375 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43330 /* 122377 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43331 /* 122380 */ GIR_RootConstrainSelectedInstOperands,
43332 /* 122381 */ // GIR_Coverage, 17665,
43333 /* 122381 */ GIR_EraseRootFromParent_Done,
43334 /* 122382 */ // Label 3398: @122382
43335 /* 122382 */ GIM_Reject,
43336 /* 122383 */ // Label 3396: @122383
43337 /* 122383 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3399*/ GIMT_Encode4(122415), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 765 //
43338 /* 122390 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43339 /* 122394 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43340 /* 122398 */ // MIs[1] Operand 1
43341 /* 122398 */ // No operand predicates
43342 /* 122398 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43343 /* 122400 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
43344 /* 122400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8ri),
43345 /* 122403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43346 /* 122405 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43347 /* 122407 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43348 /* 122410 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43349 /* 122413 */ GIR_RootConstrainSelectedInstOperands,
43350 /* 122414 */ // GIR_Coverage, 765,
43351 /* 122414 */ GIR_EraseRootFromParent_Done,
43352 /* 122415 */ // Label 3399: @122415
43353 /* 122415 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3400*/ GIMT_Encode4(122447), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 769 //
43354 /* 122422 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43355 /* 122426 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43356 /* 122430 */ // MIs[1] Operand 1
43357 /* 122430 */ // No operand predicates
43358 /* 122430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43359 /* 122432 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
43360 /* 122432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8ri_ND),
43361 /* 122435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43362 /* 122437 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43363 /* 122439 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43364 /* 122442 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43365 /* 122445 */ GIR_RootConstrainSelectedInstOperands,
43366 /* 122446 */ // GIR_Coverage, 769,
43367 /* 122446 */ GIR_EraseRootFromParent_Done,
43368 /* 122447 */ // Label 3400: @122447
43369 /* 122447 */ GIM_Try, /*On fail goto*//*Label 3401*/ GIMT_Encode4(122523),
43370 /* 122452 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43371 /* 122456 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3402*/ GIMT_Encode4(122489), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 781 //
43372 /* 122463 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
43373 /* 122463 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43374 /* 122467 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43375 /* 122473 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43376 /* 122477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8rCL),
43377 /* 122480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43378 /* 122482 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43379 /* 122484 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43380 /* 122487 */ GIR_RootConstrainSelectedInstOperands,
43381 /* 122488 */ // GIR_Coverage, 781,
43382 /* 122488 */ GIR_EraseRootFromParent_Done,
43383 /* 122489 */ // Label 3402: @122489
43384 /* 122489 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3403*/ GIMT_Encode4(122522), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 785 //
43385 /* 122496 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
43386 /* 122496 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43387 /* 122500 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43388 /* 122506 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43389 /* 122510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8rCL_ND),
43390 /* 122513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43391 /* 122515 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43392 /* 122517 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43393 /* 122520 */ GIR_RootConstrainSelectedInstOperands,
43394 /* 122521 */ // GIR_Coverage, 785,
43395 /* 122521 */ GIR_EraseRootFromParent_Done,
43396 /* 122522 */ // Label 3403: @122522
43397 /* 122522 */ GIM_Reject,
43398 /* 122523 */ // Label 3401: @122523
43399 /* 122523 */ GIM_Reject,
43400 /* 122524 */ // Label 3395: @122524
43401 /* 122524 */ GIM_Reject,
43402 /* 122525 */ // Label 3382: @122525
43403 /* 122525 */ GIM_Try, /*On fail goto*//*Label 3404*/ GIMT_Encode4(122733),
43404 /* 122530 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
43405 /* 122533 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
43406 /* 122536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
43407 /* 122540 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
43408 /* 122544 */ GIM_Try, /*On fail goto*//*Label 3405*/ GIMT_Encode4(122592),
43409 /* 122549 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
43410 /* 122553 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3406*/ GIMT_Encode4(122572), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 17658 //
43411 /* 122560 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROL16r1:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
43412 /* 122560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16r1),
43413 /* 122563 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43414 /* 122565 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43415 /* 122567 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43416 /* 122570 */ GIR_RootConstrainSelectedInstOperands,
43417 /* 122571 */ // GIR_Coverage, 17658,
43418 /* 122571 */ GIR_EraseRootFromParent_Done,
43419 /* 122572 */ // Label 3406: @122572
43420 /* 122572 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3407*/ GIMT_Encode4(122591), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 17666 //
43421 /* 122579 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROL16r1_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
43422 /* 122579 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16r1_ND),
43423 /* 122582 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43424 /* 122584 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43425 /* 122586 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43426 /* 122589 */ GIR_RootConstrainSelectedInstOperands,
43427 /* 122590 */ // GIR_Coverage, 17666,
43428 /* 122590 */ GIR_EraseRootFromParent_Done,
43429 /* 122591 */ // Label 3407: @122591
43430 /* 122591 */ GIM_Reject,
43431 /* 122592 */ // Label 3405: @122592
43432 /* 122592 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3408*/ GIMT_Encode4(122624), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 766 //
43433 /* 122599 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43434 /* 122603 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43435 /* 122607 */ // MIs[1] Operand 1
43436 /* 122607 */ // No operand predicates
43437 /* 122607 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43438 /* 122609 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
43439 /* 122609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16ri),
43440 /* 122612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43441 /* 122614 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43442 /* 122616 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43443 /* 122619 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43444 /* 122622 */ GIR_RootConstrainSelectedInstOperands,
43445 /* 122623 */ // GIR_Coverage, 766,
43446 /* 122623 */ GIR_EraseRootFromParent_Done,
43447 /* 122624 */ // Label 3408: @122624
43448 /* 122624 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3409*/ GIMT_Encode4(122656), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 770 //
43449 /* 122631 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43450 /* 122635 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43451 /* 122639 */ // MIs[1] Operand 1
43452 /* 122639 */ // No operand predicates
43453 /* 122639 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43454 /* 122641 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
43455 /* 122641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16ri_ND),
43456 /* 122644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43457 /* 122646 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43458 /* 122648 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43459 /* 122651 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43460 /* 122654 */ GIR_RootConstrainSelectedInstOperands,
43461 /* 122655 */ // GIR_Coverage, 770,
43462 /* 122655 */ GIR_EraseRootFromParent_Done,
43463 /* 122656 */ // Label 3409: @122656
43464 /* 122656 */ GIM_Try, /*On fail goto*//*Label 3410*/ GIMT_Encode4(122732),
43465 /* 122661 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43466 /* 122665 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3411*/ GIMT_Encode4(122698), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 782 //
43467 /* 122672 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
43468 /* 122672 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43469 /* 122676 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43470 /* 122682 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43471 /* 122686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16rCL),
43472 /* 122689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43473 /* 122691 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43474 /* 122693 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43475 /* 122696 */ GIR_RootConstrainSelectedInstOperands,
43476 /* 122697 */ // GIR_Coverage, 782,
43477 /* 122697 */ GIR_EraseRootFromParent_Done,
43478 /* 122698 */ // Label 3411: @122698
43479 /* 122698 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3412*/ GIMT_Encode4(122731), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 786 //
43480 /* 122705 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
43481 /* 122705 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43482 /* 122709 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43483 /* 122715 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43484 /* 122719 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16rCL_ND),
43485 /* 122722 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43486 /* 122724 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43487 /* 122726 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43488 /* 122729 */ GIR_RootConstrainSelectedInstOperands,
43489 /* 122730 */ // GIR_Coverage, 786,
43490 /* 122730 */ GIR_EraseRootFromParent_Done,
43491 /* 122731 */ // Label 3412: @122731
43492 /* 122731 */ GIM_Reject,
43493 /* 122732 */ // Label 3410: @122732
43494 /* 122732 */ GIM_Reject,
43495 /* 122733 */ // Label 3404: @122733
43496 /* 122733 */ GIM_Reject,
43497 /* 122734 */ // Label 3383: @122734
43498 /* 122734 */ GIM_Try, /*On fail goto*//*Label 3413*/ GIMT_Encode4(123164),
43499 /* 122739 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
43500 /* 122742 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
43501 /* 122745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43502 /* 122749 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3414*/ GIMT_Encode4(122812), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17705 //
43503 /* 122756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43504 /* 122760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43505 /* 122764 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43506 /* 122767 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43507 /* 122771 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43508 /* 122775 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
43509 /* 122779 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43510 /* 122783 */ // MIs[2] Operand 1
43511 /* 122783 */ // No operand predicates
43512 /* 122783 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43513 /* 122785 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43514 /* 122792 */ // (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$shamt) => (RORX32mi:{ *:[i32] } addr:{ *:[iPTR] }:$src, (imm:{ *:[i8] }):$shamt)
43515 /* 122792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32mi),
43516 /* 122795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43517 /* 122797 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
43518 /* 122801 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
43519 /* 122804 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43520 /* 122810 */ GIR_RootConstrainSelectedInstOperands,
43521 /* 122811 */ // GIR_Coverage, 17705,
43522 /* 122811 */ GIR_EraseRootFromParent_Done,
43523 /* 122812 */ // Label 3414: @122812
43524 /* 122812 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3415*/ GIMT_Encode4(122875), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17737 //
43525 /* 122819 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43526 /* 122823 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43527 /* 122827 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43528 /* 122830 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43529 /* 122834 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43530 /* 122838 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
43531 /* 122842 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43532 /* 122846 */ // MIs[2] Operand 1
43533 /* 122846 */ // No operand predicates
43534 /* 122846 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43535 /* 122848 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43536 /* 122855 */ // (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)
43537 /* 122855 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32mi_EVEX),
43538 /* 122858 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43539 /* 122860 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
43540 /* 122864 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
43541 /* 122867 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43542 /* 122873 */ GIR_RootConstrainSelectedInstOperands,
43543 /* 122874 */ // GIR_Coverage, 17737,
43544 /* 122874 */ GIR_EraseRootFromParent_Done,
43545 /* 122875 */ // Label 3415: @122875
43546 /* 122875 */ GIM_Try, /*On fail goto*//*Label 3416*/ GIMT_Encode4(123163),
43547 /* 122880 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43548 /* 122884 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3417*/ GIMT_Encode4(122913), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17701 //
43549 /* 122891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43550 /* 122895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43551 /* 122899 */ // MIs[1] Operand 1
43552 /* 122899 */ // No operand predicates
43553 /* 122899 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43554 /* 122901 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX32ri:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt)
43555 /* 122901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32ri),
43556 /* 122904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43557 /* 122906 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
43558 /* 122908 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
43559 /* 122911 */ GIR_RootConstrainSelectedInstOperands,
43560 /* 122912 */ // GIR_Coverage, 17701,
43561 /* 122912 */ GIR_EraseRootFromParent_Done,
43562 /* 122913 */ // Label 3417: @122913
43563 /* 122913 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3418*/ GIMT_Encode4(122942), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17733 //
43564 /* 122920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43565 /* 122924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43566 /* 122928 */ // MIs[1] Operand 1
43567 /* 122928 */ // No operand predicates
43568 /* 122928 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43569 /* 122930 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX32ri_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt)
43570 /* 122930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32ri_EVEX),
43571 /* 122933 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43572 /* 122935 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
43573 /* 122937 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
43574 /* 122940 */ GIR_RootConstrainSelectedInstOperands,
43575 /* 122941 */ // GIR_Coverage, 17733,
43576 /* 122941 */ GIR_EraseRootFromParent_Done,
43577 /* 122942 */ // Label 3418: @122942
43578 /* 122942 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3419*/ GIMT_Encode4(122974), GIMT_Encode2(GIFBS_HasFastSHLDRotate), // Rule ID 847 //
43579 /* 122949 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43580 /* 122953 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43581 /* 122957 */ // MIs[1] Operand 1
43582 /* 122957 */ // No operand predicates
43583 /* 122957 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43584 /* 122959 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHRDROT32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt)
43585 /* 122959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRDROT32ri),
43586 /* 122962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43587 /* 122964 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43588 /* 122966 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
43589 /* 122969 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43590 /* 122972 */ GIR_RootConstrainSelectedInstOperands,
43591 /* 122973 */ // GIR_Coverage, 847,
43592 /* 122973 */ GIR_EraseRootFromParent_Done,
43593 /* 122974 */ // Label 3419: @122974
43594 /* 122974 */ GIM_Try, /*On fail goto*//*Label 3420*/ GIMT_Encode4(123022),
43595 /* 122979 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
43596 /* 122983 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3421*/ GIMT_Encode4(123002), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 17659 //
43597 /* 122990 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROL32r1:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
43598 /* 122990 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32r1),
43599 /* 122993 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43600 /* 122995 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43601 /* 122997 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43602 /* 123000 */ GIR_RootConstrainSelectedInstOperands,
43603 /* 123001 */ // GIR_Coverage, 17659,
43604 /* 123001 */ GIR_EraseRootFromParent_Done,
43605 /* 123002 */ // Label 3421: @123002
43606 /* 123002 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3422*/ GIMT_Encode4(123021), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 17667 //
43607 /* 123009 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROL32r1_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
43608 /* 123009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32r1_ND),
43609 /* 123012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43610 /* 123014 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43611 /* 123016 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43612 /* 123019 */ GIR_RootConstrainSelectedInstOperands,
43613 /* 123020 */ // GIR_Coverage, 17667,
43614 /* 123020 */ GIR_EraseRootFromParent_Done,
43615 /* 123021 */ // Label 3422: @123021
43616 /* 123021 */ GIM_Reject,
43617 /* 123022 */ // Label 3420: @123022
43618 /* 123022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3423*/ GIMT_Encode4(123054), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 767 //
43619 /* 123029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43620 /* 123033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43621 /* 123037 */ // MIs[1] Operand 1
43622 /* 123037 */ // No operand predicates
43623 /* 123037 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43624 /* 123039 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
43625 /* 123039 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32ri),
43626 /* 123042 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43627 /* 123044 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43628 /* 123046 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43629 /* 123049 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43630 /* 123052 */ GIR_RootConstrainSelectedInstOperands,
43631 /* 123053 */ // GIR_Coverage, 767,
43632 /* 123053 */ GIR_EraseRootFromParent_Done,
43633 /* 123054 */ // Label 3423: @123054
43634 /* 123054 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3424*/ GIMT_Encode4(123086), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 771 //
43635 /* 123061 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43636 /* 123065 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43637 /* 123069 */ // MIs[1] Operand 1
43638 /* 123069 */ // No operand predicates
43639 /* 123069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43640 /* 123071 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
43641 /* 123071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32ri_ND),
43642 /* 123074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43643 /* 123076 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43644 /* 123078 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43645 /* 123081 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43646 /* 123084 */ GIR_RootConstrainSelectedInstOperands,
43647 /* 123085 */ // GIR_Coverage, 771,
43648 /* 123085 */ GIR_EraseRootFromParent_Done,
43649 /* 123086 */ // Label 3424: @123086
43650 /* 123086 */ GIM_Try, /*On fail goto*//*Label 3425*/ GIMT_Encode4(123162),
43651 /* 123091 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43652 /* 123095 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3426*/ GIMT_Encode4(123128), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 783 //
43653 /* 123102 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
43654 /* 123102 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43655 /* 123106 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43656 /* 123112 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43657 /* 123116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32rCL),
43658 /* 123119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43659 /* 123121 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43660 /* 123123 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43661 /* 123126 */ GIR_RootConstrainSelectedInstOperands,
43662 /* 123127 */ // GIR_Coverage, 783,
43663 /* 123127 */ GIR_EraseRootFromParent_Done,
43664 /* 123128 */ // Label 3426: @123128
43665 /* 123128 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3427*/ GIMT_Encode4(123161), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 787 //
43666 /* 123135 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
43667 /* 123135 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43668 /* 123139 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43669 /* 123145 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43670 /* 123149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32rCL_ND),
43671 /* 123152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43672 /* 123154 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43673 /* 123156 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43674 /* 123159 */ GIR_RootConstrainSelectedInstOperands,
43675 /* 123160 */ // GIR_Coverage, 787,
43676 /* 123160 */ GIR_EraseRootFromParent_Done,
43677 /* 123161 */ // Label 3427: @123161
43678 /* 123161 */ GIM_Reject,
43679 /* 123162 */ // Label 3425: @123162
43680 /* 123162 */ GIM_Reject,
43681 /* 123163 */ // Label 3416: @123163
43682 /* 123163 */ GIM_Reject,
43683 /* 123164 */ // Label 3413: @123164
43684 /* 123164 */ GIM_Reject,
43685 /* 123165 */ // Label 3384: @123165
43686 /* 123165 */ GIM_Try, /*On fail goto*//*Label 3428*/ GIMT_Encode4(123595),
43687 /* 123170 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
43688 /* 123173 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
43689 /* 123176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43690 /* 123180 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3429*/ GIMT_Encode4(123243), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17706 //
43691 /* 123187 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43692 /* 123191 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43693 /* 123195 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43694 /* 123198 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43695 /* 123202 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43696 /* 123206 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
43697 /* 123210 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43698 /* 123214 */ // MIs[2] Operand 1
43699 /* 123214 */ // No operand predicates
43700 /* 123214 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43701 /* 123216 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43702 /* 123223 */ // (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$shamt) => (RORX64mi:{ *:[i64] } addr:{ *:[iPTR] }:$src, (imm:{ *:[i8] }):$shamt)
43703 /* 123223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64mi),
43704 /* 123226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43705 /* 123228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
43706 /* 123232 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
43707 /* 123235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43708 /* 123241 */ GIR_RootConstrainSelectedInstOperands,
43709 /* 123242 */ // GIR_Coverage, 17706,
43710 /* 123242 */ GIR_EraseRootFromParent_Done,
43711 /* 123243 */ // Label 3429: @123243
43712 /* 123243 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3430*/ GIMT_Encode4(123306), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17738 //
43713 /* 123250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43714 /* 123254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43715 /* 123258 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43716 /* 123261 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43717 /* 123265 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43718 /* 123269 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
43719 /* 123273 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43720 /* 123277 */ // MIs[2] Operand 1
43721 /* 123277 */ // No operand predicates
43722 /* 123277 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43723 /* 123279 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43724 /* 123286 */ // (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)
43725 /* 123286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64mi_EVEX),
43726 /* 123289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43727 /* 123291 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
43728 /* 123295 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
43729 /* 123298 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43730 /* 123304 */ GIR_RootConstrainSelectedInstOperands,
43731 /* 123305 */ // GIR_Coverage, 17738,
43732 /* 123305 */ GIR_EraseRootFromParent_Done,
43733 /* 123306 */ // Label 3430: @123306
43734 /* 123306 */ GIM_Try, /*On fail goto*//*Label 3431*/ GIMT_Encode4(123594),
43735 /* 123311 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43736 /* 123315 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3432*/ GIMT_Encode4(123344), GIMT_Encode2(GIFBS_HasBMI2_NoEGPR), // Rule ID 17702 //
43737 /* 123322 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43738 /* 123326 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43739 /* 123330 */ // MIs[1] Operand 1
43740 /* 123330 */ // No operand predicates
43741 /* 123330 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43742 /* 123332 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX64ri:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt)
43743 /* 123332 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64ri),
43744 /* 123335 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43745 /* 123337 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
43746 /* 123339 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
43747 /* 123342 */ GIR_RootConstrainSelectedInstOperands,
43748 /* 123343 */ // GIR_Coverage, 17702,
43749 /* 123343 */ GIR_EraseRootFromParent_Done,
43750 /* 123344 */ // Label 3432: @123344
43751 /* 123344 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3433*/ GIMT_Encode4(123373), GIMT_Encode2(GIFBS_HasBMI2_HasEGPR), // Rule ID 17734 //
43752 /* 123351 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43753 /* 123355 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43754 /* 123359 */ // MIs[1] Operand 1
43755 /* 123359 */ // No operand predicates
43756 /* 123359 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43757 /* 123361 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX64ri_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt)
43758 /* 123361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64ri_EVEX),
43759 /* 123364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43760 /* 123366 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
43761 /* 123368 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
43762 /* 123371 */ GIR_RootConstrainSelectedInstOperands,
43763 /* 123372 */ // GIR_Coverage, 17734,
43764 /* 123372 */ GIR_EraseRootFromParent_Done,
43765 /* 123373 */ // Label 3433: @123373
43766 /* 123373 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3434*/ GIMT_Encode4(123405), GIMT_Encode2(GIFBS_HasFastSHLDRotate), // Rule ID 848 //
43767 /* 123380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43768 /* 123384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43769 /* 123388 */ // MIs[1] Operand 1
43770 /* 123388 */ // No operand predicates
43771 /* 123388 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43772 /* 123390 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHRDROT64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt)
43773 /* 123390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRDROT64ri),
43774 /* 123393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43775 /* 123395 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43776 /* 123397 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
43777 /* 123400 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43778 /* 123403 */ GIR_RootConstrainSelectedInstOperands,
43779 /* 123404 */ // GIR_Coverage, 848,
43780 /* 123404 */ GIR_EraseRootFromParent_Done,
43781 /* 123405 */ // Label 3434: @123405
43782 /* 123405 */ GIM_Try, /*On fail goto*//*Label 3435*/ GIMT_Encode4(123453),
43783 /* 123410 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
43784 /* 123414 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3436*/ GIMT_Encode4(123433), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 17660 //
43785 /* 123421 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROL64r1:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
43786 /* 123421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64r1),
43787 /* 123424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43788 /* 123426 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43789 /* 123428 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43790 /* 123431 */ GIR_RootConstrainSelectedInstOperands,
43791 /* 123432 */ // GIR_Coverage, 17660,
43792 /* 123432 */ GIR_EraseRootFromParent_Done,
43793 /* 123433 */ // Label 3436: @123433
43794 /* 123433 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3437*/ GIMT_Encode4(123452), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 17668 //
43795 /* 123440 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROL64r1_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
43796 /* 123440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64r1_ND),
43797 /* 123443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43798 /* 123445 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43799 /* 123447 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43800 /* 123450 */ GIR_RootConstrainSelectedInstOperands,
43801 /* 123451 */ // GIR_Coverage, 17668,
43802 /* 123451 */ GIR_EraseRootFromParent_Done,
43803 /* 123452 */ // Label 3437: @123452
43804 /* 123452 */ GIM_Reject,
43805 /* 123453 */ // Label 3435: @123453
43806 /* 123453 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3438*/ GIMT_Encode4(123485), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 768 //
43807 /* 123460 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43808 /* 123464 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43809 /* 123468 */ // MIs[1] Operand 1
43810 /* 123468 */ // No operand predicates
43811 /* 123468 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43812 /* 123470 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
43813 /* 123470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64ri),
43814 /* 123473 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43815 /* 123475 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43816 /* 123477 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43817 /* 123480 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43818 /* 123483 */ GIR_RootConstrainSelectedInstOperands,
43819 /* 123484 */ // GIR_Coverage, 768,
43820 /* 123484 */ GIR_EraseRootFromParent_Done,
43821 /* 123485 */ // Label 3438: @123485
43822 /* 123485 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3439*/ GIMT_Encode4(123517), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 772 //
43823 /* 123492 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43824 /* 123496 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43825 /* 123500 */ // MIs[1] Operand 1
43826 /* 123500 */ // No operand predicates
43827 /* 123500 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43828 /* 123502 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
43829 /* 123502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64ri_ND),
43830 /* 123505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43831 /* 123507 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43832 /* 123509 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43833 /* 123512 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43834 /* 123515 */ GIR_RootConstrainSelectedInstOperands,
43835 /* 123516 */ // GIR_Coverage, 772,
43836 /* 123516 */ GIR_EraseRootFromParent_Done,
43837 /* 123517 */ // Label 3439: @123517
43838 /* 123517 */ GIM_Try, /*On fail goto*//*Label 3440*/ GIMT_Encode4(123593),
43839 /* 123522 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43840 /* 123526 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3441*/ GIMT_Encode4(123559), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 784 //
43841 /* 123533 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
43842 /* 123533 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43843 /* 123537 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43844 /* 123543 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43845 /* 123547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64rCL),
43846 /* 123550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43847 /* 123552 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43848 /* 123554 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43849 /* 123557 */ GIR_RootConstrainSelectedInstOperands,
43850 /* 123558 */ // GIR_Coverage, 784,
43851 /* 123558 */ GIR_EraseRootFromParent_Done,
43852 /* 123559 */ // Label 3441: @123559
43853 /* 123559 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3442*/ GIMT_Encode4(123592), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 788 //
43854 /* 123566 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
43855 /* 123566 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43856 /* 123570 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43857 /* 123576 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43858 /* 123580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64rCL_ND),
43859 /* 123583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43860 /* 123585 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43861 /* 123587 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43862 /* 123590 */ GIR_RootConstrainSelectedInstOperands,
43863 /* 123591 */ // GIR_Coverage, 788,
43864 /* 123591 */ GIR_EraseRootFromParent_Done,
43865 /* 123592 */ // Label 3442: @123592
43866 /* 123592 */ GIM_Reject,
43867 /* 123593 */ // Label 3440: @123593
43868 /* 123593 */ GIM_Reject,
43869 /* 123594 */ // Label 3431: @123594
43870 /* 123594 */ GIM_Reject,
43871 /* 123595 */ // Label 3428: @123595
43872 /* 123595 */ GIM_Reject,
43873 /* 123596 */ // Label 3385: @123596
43874 /* 123596 */ GIM_Try, /*On fail goto*//*Label 3443*/ GIMT_Encode4(123858),
43875 /* 123601 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
43876 /* 123604 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
43877 /* 123607 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3444*/ GIMT_Encode4(123639), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22319 //
43878 /* 123614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43879 /* 123618 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43880 /* 123622 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43881 /* 123626 */ // (rotr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSHRDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
43882 /* 123626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ128r),
43883 /* 123629 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43884 /* 123631 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43885 /* 123633 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43886 /* 123635 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43887 /* 123637 */ GIR_RootConstrainSelectedInstOperands,
43888 /* 123638 */ // GIR_Coverage, 22319,
43889 /* 123638 */ GIR_EraseRootFromParent_Done,
43890 /* 123639 */ // Label 3444: @123639
43891 /* 123639 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3445*/ GIMT_Encode4(123857), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22327 //
43892 /* 123646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
43893 /* 123650 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43894 /* 123654 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43895 /* 123658 */ // (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] })
43896 /* 123658 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
43897 /* 123661 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43898 /* 123665 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43899 /* 123670 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43900 /* 123672 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
43901 /* 123675 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43902 /* 123679 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43903 /* 123684 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43904 /* 123687 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/2, // src2
43905 /* 123691 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
43906 /* 123694 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43907 /* 123699 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43908 /* 123704 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43909 /* 123709 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
43910 /* 123712 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43911 /* 123716 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43912 /* 123721 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43913 /* 123723 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
43914 /* 123726 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43915 /* 123730 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43916 /* 123735 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43917 /* 123738 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43918 /* 123742 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
43919 /* 123745 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43920 /* 123750 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43921 /* 123755 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43922 /* 123760 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
43923 /* 123763 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43924 /* 123767 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43925 /* 123772 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43926 /* 123774 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
43927 /* 123777 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43928 /* 123781 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43929 /* 123786 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43930 /* 123789 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
43931 /* 123793 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
43932 /* 123796 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43933 /* 123801 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43934 /* 123806 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43935 /* 123811 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43936 /* 123814 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
43937 /* 123818 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43938 /* 123823 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43939 /* 123826 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43940 /* 123829 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43941 /* 123832 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43942 /* 123834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43943 /* 123837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43944 /* 123839 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
43945 /* 123846 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
43946 /* 123851 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43947 /* 123856 */ // GIR_Coverage, 22327,
43948 /* 123856 */ GIR_EraseRootFromParent_Done,
43949 /* 123857 */ // Label 3445: @123857
43950 /* 123857 */ GIM_Reject,
43951 /* 123858 */ // Label 3443: @123858
43952 /* 123858 */ GIM_Reject,
43953 /* 123859 */ // Label 3386: @123859
43954 /* 123859 */ GIM_Try, /*On fail goto*//*Label 3446*/ GIMT_Encode4(124109),
43955 /* 123864 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
43956 /* 123867 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
43957 /* 123870 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43958 /* 123874 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43959 /* 123878 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43960 /* 123882 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3447*/ GIMT_Encode4(123902), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22315 //
43961 /* 123889 */ // (rotr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSHRDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
43962 /* 123889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ256r),
43963 /* 123892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43964 /* 123894 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43965 /* 123896 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43966 /* 123898 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43967 /* 123900 */ GIR_RootConstrainSelectedInstOperands,
43968 /* 123901 */ // GIR_Coverage, 22315,
43969 /* 123901 */ GIR_EraseRootFromParent_Done,
43970 /* 123902 */ // Label 3447: @123902
43971 /* 123902 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3448*/ GIMT_Encode4(124108), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22323 //
43972 /* 123909 */ // (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] })
43973 /* 123909 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
43974 /* 123912 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43975 /* 123916 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43976 /* 123921 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43977 /* 123923 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
43978 /* 123926 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43979 /* 123930 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43980 /* 123935 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43981 /* 123938 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/2, // src2
43982 /* 123942 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
43983 /* 123945 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43984 /* 123950 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43985 /* 123955 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43986 /* 123960 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
43987 /* 123963 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43988 /* 123967 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43989 /* 123972 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43990 /* 123974 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
43991 /* 123977 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43992 /* 123981 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43993 /* 123986 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43994 /* 123989 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43995 /* 123993 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
43996 /* 123996 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43997 /* 124001 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43998 /* 124006 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43999 /* 124011 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
44000 /* 124014 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44001 /* 124018 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44002 /* 124023 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44003 /* 124025 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
44004 /* 124028 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44005 /* 124032 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44006 /* 124037 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44007 /* 124040 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44008 /* 124044 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
44009 /* 124047 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44010 /* 124052 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44011 /* 124057 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44012 /* 124062 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
44013 /* 124065 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
44014 /* 124069 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44015 /* 124074 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44016 /* 124077 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44017 /* 124080 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
44018 /* 124083 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44019 /* 124085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44020 /* 124088 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44021 /* 124090 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
44022 /* 124097 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
44023 /* 124102 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44024 /* 124107 */ // GIR_Coverage, 22323,
44025 /* 124107 */ GIR_EraseRootFromParent_Done,
44026 /* 124108 */ // Label 3448: @124108
44027 /* 124108 */ GIM_Reject,
44028 /* 124109 */ // Label 3446: @124109
44029 /* 124109 */ GIM_Reject,
44030 /* 124110 */ // Label 3387: @124110
44031 /* 124110 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3449*/ GIMT_Encode4(124148), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 22311 //
44032 /* 124117 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
44033 /* 124120 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
44034 /* 124123 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44035 /* 124127 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44036 /* 124131 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44037 /* 124135 */ // (rotr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSHRDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
44038 /* 124135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
44039 /* 124138 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44040 /* 124140 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44041 /* 124142 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44042 /* 124144 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44043 /* 124146 */ GIR_RootConstrainSelectedInstOperands,
44044 /* 124147 */ // GIR_Coverage, 22311,
44045 /* 124147 */ GIR_EraseRootFromParent_Done,
44046 /* 124148 */ // Label 3449: @124148
44047 /* 124148 */ GIM_Reject,
44048 /* 124149 */ // Label 3388: @124149
44049 /* 124149 */ GIM_Try, /*On fail goto*//*Label 3450*/ GIMT_Encode4(124410),
44050 /* 124154 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
44051 /* 124157 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
44052 /* 124160 */ GIM_Try, /*On fail goto*//*Label 3451*/ GIMT_Encode4(124245),
44053 /* 124165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44054 /* 124169 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44055 /* 124173 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3452*/ GIMT_Encode4(124226), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 7979 //
44056 /* 124180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44057 /* 124184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44058 /* 124188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44059 /* 124191 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44060 /* 124195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44061 /* 124199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44062 /* 124201 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44063 /* 124208 */ // (rotr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
44064 /* 124208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ128rm),
44065 /* 124211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44066 /* 124213 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44067 /* 124215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44068 /* 124219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44069 /* 124224 */ GIR_RootConstrainSelectedInstOperands,
44070 /* 124225 */ // GIR_Coverage, 7979,
44071 /* 124225 */ GIR_EraseRootFromParent_Done,
44072 /* 124226 */ // Label 3452: @124226
44073 /* 124226 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3453*/ GIMT_Encode4(124244), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 7976 //
44074 /* 124233 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44075 /* 124237 */ // (rotr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPRORVDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
44076 /* 124237 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ128rr),
44077 /* 124242 */ GIR_RootConstrainSelectedInstOperands,
44078 /* 124243 */ // GIR_Coverage, 7976,
44079 /* 124243 */ GIR_Done,
44080 /* 124244 */ // Label 3453: @124244
44081 /* 124244 */ GIM_Reject,
44082 /* 124245 */ // Label 3451: @124245
44083 /* 124245 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3454*/ GIMT_Encode4(124409), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20939 //
44084 /* 124252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
44085 /* 124256 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44086 /* 124260 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44087 /* 124264 */ // (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] })
44088 /* 124264 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
44089 /* 124267 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44090 /* 124271 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44091 /* 124276 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44092 /* 124278 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
44093 /* 124281 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44094 /* 124285 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44095 /* 124290 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44096 /* 124293 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
44097 /* 124297 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
44098 /* 124300 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44099 /* 124305 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44100 /* 124310 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44101 /* 124315 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
44102 /* 124318 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44103 /* 124322 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44104 /* 124327 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44105 /* 124329 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
44106 /* 124332 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44107 /* 124336 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44108 /* 124341 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44109 /* 124344 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44110 /* 124348 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
44111 /* 124351 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44112 /* 124356 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44113 /* 124361 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44114 /* 124366 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
44115 /* 124369 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
44116 /* 124373 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44117 /* 124378 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44118 /* 124381 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44119 /* 124384 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44120 /* 124386 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44121 /* 124389 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44122 /* 124391 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
44123 /* 124398 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
44124 /* 124403 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44125 /* 124408 */ // GIR_Coverage, 20939,
44126 /* 124408 */ GIR_EraseRootFromParent_Done,
44127 /* 124409 */ // Label 3454: @124409
44128 /* 124409 */ GIM_Reject,
44129 /* 124410 */ // Label 3450: @124410
44130 /* 124410 */ GIM_Reject,
44131 /* 124411 */ // Label 3389: @124411
44132 /* 124411 */ GIM_Try, /*On fail goto*//*Label 3455*/ GIMT_Encode4(124660),
44133 /* 124416 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
44134 /* 124419 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
44135 /* 124422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44136 /* 124426 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44137 /* 124430 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3456*/ GIMT_Encode4(124483), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 7970 //
44138 /* 124437 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44139 /* 124441 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44140 /* 124445 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44141 /* 124448 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44142 /* 124452 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44143 /* 124456 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44144 /* 124458 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44145 /* 124465 */ // (rotr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
44146 /* 124465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ256rm),
44147 /* 124468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44148 /* 124470 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44149 /* 124472 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44150 /* 124476 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44151 /* 124481 */ GIR_RootConstrainSelectedInstOperands,
44152 /* 124482 */ // GIR_Coverage, 7970,
44153 /* 124482 */ GIR_EraseRootFromParent_Done,
44154 /* 124483 */ // Label 3456: @124483
44155 /* 124483 */ GIM_Try, /*On fail goto*//*Label 3457*/ GIMT_Encode4(124659),
44156 /* 124488 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44157 /* 124492 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3458*/ GIMT_Encode4(124506), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 7967 //
44158 /* 124499 */ // (rotr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPRORVDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
44159 /* 124499 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ256rr),
44160 /* 124504 */ GIR_RootConstrainSelectedInstOperands,
44161 /* 124505 */ // GIR_Coverage, 7967,
44162 /* 124505 */ GIR_Done,
44163 /* 124506 */ // Label 3458: @124506
44164 /* 124506 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3459*/ GIMT_Encode4(124658), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20935 //
44165 /* 124513 */ // (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] })
44166 /* 124513 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
44167 /* 124516 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44168 /* 124520 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44169 /* 124525 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44170 /* 124527 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
44171 /* 124530 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44172 /* 124534 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44173 /* 124539 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44174 /* 124542 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
44175 /* 124546 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
44176 /* 124549 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44177 /* 124554 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44178 /* 124559 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44179 /* 124564 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
44180 /* 124567 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44181 /* 124571 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44182 /* 124576 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44183 /* 124578 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
44184 /* 124581 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44185 /* 124585 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44186 /* 124590 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44187 /* 124593 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44188 /* 124597 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
44189 /* 124600 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44190 /* 124605 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44191 /* 124610 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44192 /* 124615 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
44193 /* 124618 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
44194 /* 124622 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44195 /* 124627 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44196 /* 124630 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44197 /* 124633 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44198 /* 124635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44199 /* 124638 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44200 /* 124640 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
44201 /* 124647 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
44202 /* 124652 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44203 /* 124657 */ // GIR_Coverage, 20935,
44204 /* 124657 */ GIR_EraseRootFromParent_Done,
44205 /* 124658 */ // Label 3459: @124658
44206 /* 124658 */ GIM_Reject,
44207 /* 124659 */ // Label 3457: @124659
44208 /* 124659 */ GIM_Reject,
44209 /* 124660 */ // Label 3455: @124660
44210 /* 124660 */ GIM_Reject,
44211 /* 124661 */ // Label 3390: @124661
44212 /* 124661 */ GIM_Try, /*On fail goto*//*Label 3460*/ GIMT_Encode4(124752),
44213 /* 124666 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
44214 /* 124669 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
44215 /* 124672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44216 /* 124676 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44217 /* 124680 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3461*/ GIMT_Encode4(124733), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 7961 //
44218 /* 124687 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44219 /* 124691 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44220 /* 124695 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44221 /* 124698 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44222 /* 124702 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44223 /* 124706 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44224 /* 124708 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44225 /* 124715 */ // (rotr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
44226 /* 124715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrm),
44227 /* 124718 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44228 /* 124720 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44229 /* 124722 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44230 /* 124726 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44231 /* 124731 */ GIR_RootConstrainSelectedInstOperands,
44232 /* 124732 */ // GIR_Coverage, 7961,
44233 /* 124732 */ GIR_EraseRootFromParent_Done,
44234 /* 124733 */ // Label 3461: @124733
44235 /* 124733 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3462*/ GIMT_Encode4(124751), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 7958 //
44236 /* 124740 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44237 /* 124744 */ // (rotr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPRORVDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
44238 /* 124744 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
44239 /* 124749 */ GIR_RootConstrainSelectedInstOperands,
44240 /* 124750 */ // GIR_Coverage, 7958,
44241 /* 124750 */ GIR_Done,
44242 /* 124751 */ // Label 3462: @124751
44243 /* 124751 */ GIM_Reject,
44244 /* 124752 */ // Label 3460: @124752
44245 /* 124752 */ GIM_Reject,
44246 /* 124753 */ // Label 3391: @124753
44247 /* 124753 */ GIM_Try, /*On fail goto*//*Label 3463*/ GIMT_Encode4(125014),
44248 /* 124758 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
44249 /* 124761 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
44250 /* 124764 */ GIM_Try, /*On fail goto*//*Label 3464*/ GIMT_Encode4(124849),
44251 /* 124769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44252 /* 124773 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44253 /* 124777 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3465*/ GIMT_Encode4(124830), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8006 //
44254 /* 124784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44255 /* 124788 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44256 /* 124792 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44257 /* 124795 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44258 /* 124799 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44259 /* 124803 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44260 /* 124805 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44261 /* 124812 */ // (rotr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
44262 /* 124812 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ128rm),
44263 /* 124815 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44264 /* 124817 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44265 /* 124819 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44266 /* 124823 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44267 /* 124828 */ GIR_RootConstrainSelectedInstOperands,
44268 /* 124829 */ // GIR_Coverage, 8006,
44269 /* 124829 */ GIR_EraseRootFromParent_Done,
44270 /* 124830 */ // Label 3465: @124830
44271 /* 124830 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3466*/ GIMT_Encode4(124848), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8003 //
44272 /* 124837 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44273 /* 124841 */ // (rotr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPRORVQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
44274 /* 124841 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ128rr),
44275 /* 124846 */ GIR_RootConstrainSelectedInstOperands,
44276 /* 124847 */ // GIR_Coverage, 8003,
44277 /* 124847 */ GIR_Done,
44278 /* 124848 */ // Label 3466: @124848
44279 /* 124848 */ GIM_Reject,
44280 /* 124849 */ // Label 3464: @124849
44281 /* 124849 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3467*/ GIMT_Encode4(125013), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20931 //
44282 /* 124856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
44283 /* 124860 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44284 /* 124864 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44285 /* 124868 */ // (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] })
44286 /* 124868 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
44287 /* 124871 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44288 /* 124875 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44289 /* 124880 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44290 /* 124882 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
44291 /* 124885 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44292 /* 124889 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44293 /* 124894 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44294 /* 124897 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
44295 /* 124901 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
44296 /* 124904 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44297 /* 124909 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44298 /* 124914 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44299 /* 124919 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
44300 /* 124922 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44301 /* 124926 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44302 /* 124931 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44303 /* 124933 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
44304 /* 124936 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44305 /* 124940 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44306 /* 124945 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44307 /* 124948 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44308 /* 124952 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
44309 /* 124955 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44310 /* 124960 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44311 /* 124965 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44312 /* 124970 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
44313 /* 124973 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
44314 /* 124977 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44315 /* 124982 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44316 /* 124985 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44317 /* 124988 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44318 /* 124990 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44319 /* 124993 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44320 /* 124995 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
44321 /* 125002 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
44322 /* 125007 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44323 /* 125012 */ // GIR_Coverage, 20931,
44324 /* 125012 */ GIR_EraseRootFromParent_Done,
44325 /* 125013 */ // Label 3467: @125013
44326 /* 125013 */ GIM_Reject,
44327 /* 125014 */ // Label 3463: @125014
44328 /* 125014 */ GIM_Reject,
44329 /* 125015 */ // Label 3392: @125015
44330 /* 125015 */ GIM_Try, /*On fail goto*//*Label 3468*/ GIMT_Encode4(125264),
44331 /* 125020 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
44332 /* 125023 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
44333 /* 125026 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44334 /* 125030 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44335 /* 125034 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3469*/ GIMT_Encode4(125087), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 7997 //
44336 /* 125041 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44337 /* 125045 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44338 /* 125049 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44339 /* 125052 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44340 /* 125056 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44341 /* 125060 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44342 /* 125062 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44343 /* 125069 */ // (rotr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
44344 /* 125069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ256rm),
44345 /* 125072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44346 /* 125074 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44347 /* 125076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44348 /* 125080 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44349 /* 125085 */ GIR_RootConstrainSelectedInstOperands,
44350 /* 125086 */ // GIR_Coverage, 7997,
44351 /* 125086 */ GIR_EraseRootFromParent_Done,
44352 /* 125087 */ // Label 3469: @125087
44353 /* 125087 */ GIM_Try, /*On fail goto*//*Label 3470*/ GIMT_Encode4(125263),
44354 /* 125092 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44355 /* 125096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3471*/ GIMT_Encode4(125110), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 7994 //
44356 /* 125103 */ // (rotr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPRORVQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
44357 /* 125103 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ256rr),
44358 /* 125108 */ GIR_RootConstrainSelectedInstOperands,
44359 /* 125109 */ // GIR_Coverage, 7994,
44360 /* 125109 */ GIR_Done,
44361 /* 125110 */ // Label 3471: @125110
44362 /* 125110 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3472*/ GIMT_Encode4(125262), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20927 //
44363 /* 125117 */ // (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] })
44364 /* 125117 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
44365 /* 125120 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44366 /* 125124 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44367 /* 125129 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44368 /* 125131 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
44369 /* 125134 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44370 /* 125138 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44371 /* 125143 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44372 /* 125146 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
44373 /* 125150 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
44374 /* 125153 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44375 /* 125158 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44376 /* 125163 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44377 /* 125168 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
44378 /* 125171 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44379 /* 125175 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44380 /* 125180 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44381 /* 125182 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
44382 /* 125185 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44383 /* 125189 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44384 /* 125194 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44385 /* 125197 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44386 /* 125201 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
44387 /* 125204 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44388 /* 125209 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44389 /* 125214 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44390 /* 125219 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
44391 /* 125222 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
44392 /* 125226 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44393 /* 125231 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44394 /* 125234 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44395 /* 125237 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44396 /* 125239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44397 /* 125242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44398 /* 125244 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
44399 /* 125251 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
44400 /* 125256 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44401 /* 125261 */ // GIR_Coverage, 20927,
44402 /* 125261 */ GIR_EraseRootFromParent_Done,
44403 /* 125262 */ // Label 3472: @125262
44404 /* 125262 */ GIM_Reject,
44405 /* 125263 */ // Label 3470: @125263
44406 /* 125263 */ GIM_Reject,
44407 /* 125264 */ // Label 3468: @125264
44408 /* 125264 */ GIM_Reject,
44409 /* 125265 */ // Label 3393: @125265
44410 /* 125265 */ GIM_Try, /*On fail goto*//*Label 3473*/ GIMT_Encode4(125356),
44411 /* 125270 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
44412 /* 125273 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
44413 /* 125276 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44414 /* 125280 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44415 /* 125284 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3474*/ GIMT_Encode4(125337), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 7988 //
44416 /* 125291 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44417 /* 125295 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44418 /* 125299 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44419 /* 125302 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44420 /* 125306 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44421 /* 125310 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44422 /* 125312 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44423 /* 125319 */ // (rotr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
44424 /* 125319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrm),
44425 /* 125322 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44426 /* 125324 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44427 /* 125326 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44428 /* 125330 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44429 /* 125335 */ GIR_RootConstrainSelectedInstOperands,
44430 /* 125336 */ // GIR_Coverage, 7988,
44431 /* 125336 */ GIR_EraseRootFromParent_Done,
44432 /* 125337 */ // Label 3474: @125337
44433 /* 125337 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3475*/ GIMT_Encode4(125355), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 7985 //
44434 /* 125344 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44435 /* 125348 */ // (rotr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPRORVQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
44436 /* 125348 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
44437 /* 125353 */ GIR_RootConstrainSelectedInstOperands,
44438 /* 125354 */ // GIR_Coverage, 7985,
44439 /* 125354 */ GIR_Done,
44440 /* 125355 */ // Label 3475: @125355
44441 /* 125355 */ GIM_Reject,
44442 /* 125356 */ // Label 3473: @125356
44443 /* 125356 */ GIM_Reject,
44444 /* 125357 */ // Label 3394: @125357
44445 /* 125357 */ GIM_Reject,
44446 /* 125358 */ // Label 35: @125358
44447 /* 125358 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 3490*/ GIMT_Encode4(128733),
44448 /* 125369 */ /*GILLT_s8*//*Label 3476*/ GIMT_Encode4(125465),
44449 /* 125373 */ /*GILLT_s16*//*Label 3477*/ GIMT_Encode4(125674),
44450 /* 125377 */ /*GILLT_s32*//*Label 3478*/ GIMT_Encode4(125883),
44451 /* 125381 */ /*GILLT_s64*//*Label 3479*/ GIMT_Encode4(126124), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
44452 /* 125417 */ /*GILLT_v16s8*//*Label 3480*/ GIMT_Encode4(126365), GIMT_Encode4(0), GIMT_Encode4(0),
44453 /* 125429 */ /*GILLT_v8s16*//*Label 3481*/ GIMT_Encode4(126520),
44454 /* 125433 */ /*GILLT_v16s16*//*Label 3482*/ GIMT_Encode4(126931),
44455 /* 125437 */ /*GILLT_v32s16*//*Label 3483*/ GIMT_Encode4(127182),
44456 /* 125441 */ /*GILLT_v4s32*//*Label 3484*/ GIMT_Encode4(127221),
44457 /* 125445 */ /*GILLT_v8s32*//*Label 3485*/ GIMT_Encode4(127635),
44458 /* 125449 */ /*GILLT_v16s32*//*Label 3486*/ GIMT_Encode4(127885),
44459 /* 125453 */ /*GILLT_v2s64*//*Label 3487*/ GIMT_Encode4(127977),
44460 /* 125457 */ /*GILLT_v4s64*//*Label 3488*/ GIMT_Encode4(128391),
44461 /* 125461 */ /*GILLT_v8s64*//*Label 3489*/ GIMT_Encode4(128641),
44462 /* 125465 */ // Label 3476: @125465
44463 /* 125465 */ GIM_Try, /*On fail goto*//*Label 3491*/ GIMT_Encode4(125673),
44464 /* 125470 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
44465 /* 125473 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44466 /* 125476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
44467 /* 125480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
44468 /* 125484 */ GIM_Try, /*On fail goto*//*Label 3492*/ GIMT_Encode4(125532),
44469 /* 125489 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
44470 /* 125493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3493*/ GIMT_Encode4(125512), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 17653 //
44471 /* 125500 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROR8r1:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44472 /* 125500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8r1),
44473 /* 125503 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44474 /* 125505 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44475 /* 125507 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44476 /* 125510 */ GIR_RootConstrainSelectedInstOperands,
44477 /* 125511 */ // GIR_Coverage, 17653,
44478 /* 125511 */ GIR_EraseRootFromParent_Done,
44479 /* 125512 */ // Label 3493: @125512
44480 /* 125512 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3494*/ GIMT_Encode4(125531), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 17661 //
44481 /* 125519 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROR8r1_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44482 /* 125519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8r1_ND),
44483 /* 125522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44484 /* 125524 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44485 /* 125526 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44486 /* 125529 */ GIR_RootConstrainSelectedInstOperands,
44487 /* 125530 */ // GIR_Coverage, 17661,
44488 /* 125530 */ GIR_EraseRootFromParent_Done,
44489 /* 125531 */ // Label 3494: @125531
44490 /* 125531 */ GIM_Reject,
44491 /* 125532 */ // Label 3492: @125532
44492 /* 125532 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3495*/ GIMT_Encode4(125564), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 733 //
44493 /* 125539 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44494 /* 125543 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44495 /* 125547 */ // MIs[1] Operand 1
44496 /* 125547 */ // No operand predicates
44497 /* 125547 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44498 /* 125549 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
44499 /* 125549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8ri),
44500 /* 125552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44501 /* 125554 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44502 /* 125556 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44503 /* 125559 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44504 /* 125562 */ GIR_RootConstrainSelectedInstOperands,
44505 /* 125563 */ // GIR_Coverage, 733,
44506 /* 125563 */ GIR_EraseRootFromParent_Done,
44507 /* 125564 */ // Label 3495: @125564
44508 /* 125564 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3496*/ GIMT_Encode4(125596), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 737 //
44509 /* 125571 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44510 /* 125575 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44511 /* 125579 */ // MIs[1] Operand 1
44512 /* 125579 */ // No operand predicates
44513 /* 125579 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44514 /* 125581 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
44515 /* 125581 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8ri_ND),
44516 /* 125584 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44517 /* 125586 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44518 /* 125588 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44519 /* 125591 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44520 /* 125594 */ GIR_RootConstrainSelectedInstOperands,
44521 /* 125595 */ // GIR_Coverage, 737,
44522 /* 125595 */ GIR_EraseRootFromParent_Done,
44523 /* 125596 */ // Label 3496: @125596
44524 /* 125596 */ GIM_Try, /*On fail goto*//*Label 3497*/ GIMT_Encode4(125672),
44525 /* 125601 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44526 /* 125605 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3498*/ GIMT_Encode4(125638), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 749 //
44527 /* 125612 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROL8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44528 /* 125612 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44529 /* 125616 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44530 /* 125622 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44531 /* 125626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8rCL),
44532 /* 125629 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44533 /* 125631 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44534 /* 125633 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44535 /* 125636 */ GIR_RootConstrainSelectedInstOperands,
44536 /* 125637 */ // GIR_Coverage, 749,
44537 /* 125637 */ GIR_EraseRootFromParent_Done,
44538 /* 125638 */ // Label 3498: @125638
44539 /* 125638 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3499*/ GIMT_Encode4(125671), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 753 //
44540 /* 125645 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROL8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44541 /* 125645 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44542 /* 125649 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44543 /* 125655 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44544 /* 125659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8rCL_ND),
44545 /* 125662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44546 /* 125664 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44547 /* 125666 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44548 /* 125669 */ GIR_RootConstrainSelectedInstOperands,
44549 /* 125670 */ // GIR_Coverage, 753,
44550 /* 125670 */ GIR_EraseRootFromParent_Done,
44551 /* 125671 */ // Label 3499: @125671
44552 /* 125671 */ GIM_Reject,
44553 /* 125672 */ // Label 3497: @125672
44554 /* 125672 */ GIM_Reject,
44555 /* 125673 */ // Label 3491: @125673
44556 /* 125673 */ GIM_Reject,
44557 /* 125674 */ // Label 3477: @125674
44558 /* 125674 */ GIM_Try, /*On fail goto*//*Label 3500*/ GIMT_Encode4(125882),
44559 /* 125679 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
44560 /* 125682 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44561 /* 125685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
44562 /* 125689 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
44563 /* 125693 */ GIM_Try, /*On fail goto*//*Label 3501*/ GIMT_Encode4(125741),
44564 /* 125698 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
44565 /* 125702 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3502*/ GIMT_Encode4(125721), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 17654 //
44566 /* 125709 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROR16r1:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44567 /* 125709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16r1),
44568 /* 125712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44569 /* 125714 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44570 /* 125716 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44571 /* 125719 */ GIR_RootConstrainSelectedInstOperands,
44572 /* 125720 */ // GIR_Coverage, 17654,
44573 /* 125720 */ GIR_EraseRootFromParent_Done,
44574 /* 125721 */ // Label 3502: @125721
44575 /* 125721 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3503*/ GIMT_Encode4(125740), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 17662 //
44576 /* 125728 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROR16r1_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44577 /* 125728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16r1_ND),
44578 /* 125731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44579 /* 125733 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44580 /* 125735 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44581 /* 125738 */ GIR_RootConstrainSelectedInstOperands,
44582 /* 125739 */ // GIR_Coverage, 17662,
44583 /* 125739 */ GIR_EraseRootFromParent_Done,
44584 /* 125740 */ // Label 3503: @125740
44585 /* 125740 */ GIM_Reject,
44586 /* 125741 */ // Label 3501: @125741
44587 /* 125741 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3504*/ GIMT_Encode4(125773), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 734 //
44588 /* 125748 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44589 /* 125752 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44590 /* 125756 */ // MIs[1] Operand 1
44591 /* 125756 */ // No operand predicates
44592 /* 125756 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44593 /* 125758 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
44594 /* 125758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri),
44595 /* 125761 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44596 /* 125763 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44597 /* 125765 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44598 /* 125768 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44599 /* 125771 */ GIR_RootConstrainSelectedInstOperands,
44600 /* 125772 */ // GIR_Coverage, 734,
44601 /* 125772 */ GIR_EraseRootFromParent_Done,
44602 /* 125773 */ // Label 3504: @125773
44603 /* 125773 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3505*/ GIMT_Encode4(125805), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 738 //
44604 /* 125780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44605 /* 125784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44606 /* 125788 */ // MIs[1] Operand 1
44607 /* 125788 */ // No operand predicates
44608 /* 125788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44609 /* 125790 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
44610 /* 125790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri_ND),
44611 /* 125793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44612 /* 125795 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44613 /* 125797 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44614 /* 125800 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44615 /* 125803 */ GIR_RootConstrainSelectedInstOperands,
44616 /* 125804 */ // GIR_Coverage, 738,
44617 /* 125804 */ GIR_EraseRootFromParent_Done,
44618 /* 125805 */ // Label 3505: @125805
44619 /* 125805 */ GIM_Try, /*On fail goto*//*Label 3506*/ GIMT_Encode4(125881),
44620 /* 125810 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44621 /* 125814 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3507*/ GIMT_Encode4(125847), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 750 //
44622 /* 125821 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROL16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44623 /* 125821 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44624 /* 125825 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44625 /* 125831 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44626 /* 125835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16rCL),
44627 /* 125838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44628 /* 125840 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44629 /* 125842 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44630 /* 125845 */ GIR_RootConstrainSelectedInstOperands,
44631 /* 125846 */ // GIR_Coverage, 750,
44632 /* 125846 */ GIR_EraseRootFromParent_Done,
44633 /* 125847 */ // Label 3507: @125847
44634 /* 125847 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3508*/ GIMT_Encode4(125880), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 754 //
44635 /* 125854 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROL16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44636 /* 125854 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44637 /* 125858 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44638 /* 125864 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44639 /* 125868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16rCL_ND),
44640 /* 125871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44641 /* 125873 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44642 /* 125875 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44643 /* 125878 */ GIR_RootConstrainSelectedInstOperands,
44644 /* 125879 */ // GIR_Coverage, 754,
44645 /* 125879 */ GIR_EraseRootFromParent_Done,
44646 /* 125880 */ // Label 3508: @125880
44647 /* 125880 */ GIM_Reject,
44648 /* 125881 */ // Label 3506: @125881
44649 /* 125881 */ GIM_Reject,
44650 /* 125882 */ // Label 3500: @125882
44651 /* 125882 */ GIM_Reject,
44652 /* 125883 */ // Label 3478: @125883
44653 /* 125883 */ GIM_Try, /*On fail goto*//*Label 3509*/ GIMT_Encode4(126123),
44654 /* 125888 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
44655 /* 125891 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44656 /* 125894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44657 /* 125898 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44658 /* 125902 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3510*/ GIMT_Encode4(125934), GIMT_Encode2(GIFBS_HasFastSHLDRotate), // Rule ID 845 //
44659 /* 125909 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44660 /* 125913 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44661 /* 125917 */ // MIs[1] Operand 1
44662 /* 125917 */ // No operand predicates
44663 /* 125917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44664 /* 125919 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHLDROT32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt)
44665 /* 125919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLDROT32ri),
44666 /* 125922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44667 /* 125924 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44668 /* 125926 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44669 /* 125929 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44670 /* 125932 */ GIR_RootConstrainSelectedInstOperands,
44671 /* 125933 */ // GIR_Coverage, 845,
44672 /* 125933 */ GIR_EraseRootFromParent_Done,
44673 /* 125934 */ // Label 3510: @125934
44674 /* 125934 */ GIM_Try, /*On fail goto*//*Label 3511*/ GIMT_Encode4(125982),
44675 /* 125939 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
44676 /* 125943 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3512*/ GIMT_Encode4(125962), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 17655 //
44677 /* 125950 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROR32r1:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44678 /* 125950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32r1),
44679 /* 125953 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44680 /* 125955 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44681 /* 125957 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44682 /* 125960 */ GIR_RootConstrainSelectedInstOperands,
44683 /* 125961 */ // GIR_Coverage, 17655,
44684 /* 125961 */ GIR_EraseRootFromParent_Done,
44685 /* 125962 */ // Label 3512: @125962
44686 /* 125962 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3513*/ GIMT_Encode4(125981), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 17663 //
44687 /* 125969 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROR32r1_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44688 /* 125969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32r1_ND),
44689 /* 125972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44690 /* 125974 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44691 /* 125976 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44692 /* 125979 */ GIR_RootConstrainSelectedInstOperands,
44693 /* 125980 */ // GIR_Coverage, 17663,
44694 /* 125980 */ GIR_EraseRootFromParent_Done,
44695 /* 125981 */ // Label 3513: @125981
44696 /* 125981 */ GIM_Reject,
44697 /* 125982 */ // Label 3511: @125982
44698 /* 125982 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3514*/ GIMT_Encode4(126014), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 735 //
44699 /* 125989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44700 /* 125993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44701 /* 125997 */ // MIs[1] Operand 1
44702 /* 125997 */ // No operand predicates
44703 /* 125997 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44704 /* 125999 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
44705 /* 125999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32ri),
44706 /* 126002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44707 /* 126004 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44708 /* 126006 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44709 /* 126009 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44710 /* 126012 */ GIR_RootConstrainSelectedInstOperands,
44711 /* 126013 */ // GIR_Coverage, 735,
44712 /* 126013 */ GIR_EraseRootFromParent_Done,
44713 /* 126014 */ // Label 3514: @126014
44714 /* 126014 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3515*/ GIMT_Encode4(126046), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 739 //
44715 /* 126021 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44716 /* 126025 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44717 /* 126029 */ // MIs[1] Operand 1
44718 /* 126029 */ // No operand predicates
44719 /* 126029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44720 /* 126031 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
44721 /* 126031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32ri_ND),
44722 /* 126034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44723 /* 126036 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44724 /* 126038 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44725 /* 126041 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44726 /* 126044 */ GIR_RootConstrainSelectedInstOperands,
44727 /* 126045 */ // GIR_Coverage, 739,
44728 /* 126045 */ GIR_EraseRootFromParent_Done,
44729 /* 126046 */ // Label 3515: @126046
44730 /* 126046 */ GIM_Try, /*On fail goto*//*Label 3516*/ GIMT_Encode4(126122),
44731 /* 126051 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44732 /* 126055 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3517*/ GIMT_Encode4(126088), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 751 //
44733 /* 126062 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROL32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44734 /* 126062 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44735 /* 126066 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44736 /* 126072 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44737 /* 126076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32rCL),
44738 /* 126079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44739 /* 126081 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44740 /* 126083 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44741 /* 126086 */ GIR_RootConstrainSelectedInstOperands,
44742 /* 126087 */ // GIR_Coverage, 751,
44743 /* 126087 */ GIR_EraseRootFromParent_Done,
44744 /* 126088 */ // Label 3517: @126088
44745 /* 126088 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3518*/ GIMT_Encode4(126121), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 755 //
44746 /* 126095 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROL32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44747 /* 126095 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44748 /* 126099 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44749 /* 126105 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44750 /* 126109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32rCL_ND),
44751 /* 126112 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44752 /* 126114 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44753 /* 126116 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44754 /* 126119 */ GIR_RootConstrainSelectedInstOperands,
44755 /* 126120 */ // GIR_Coverage, 755,
44756 /* 126120 */ GIR_EraseRootFromParent_Done,
44757 /* 126121 */ // Label 3518: @126121
44758 /* 126121 */ GIM_Reject,
44759 /* 126122 */ // Label 3516: @126122
44760 /* 126122 */ GIM_Reject,
44761 /* 126123 */ // Label 3509: @126123
44762 /* 126123 */ GIM_Reject,
44763 /* 126124 */ // Label 3479: @126124
44764 /* 126124 */ GIM_Try, /*On fail goto*//*Label 3519*/ GIMT_Encode4(126364),
44765 /* 126129 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
44766 /* 126132 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44767 /* 126135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44768 /* 126139 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44769 /* 126143 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3520*/ GIMT_Encode4(126175), GIMT_Encode2(GIFBS_HasFastSHLDRotate), // Rule ID 846 //
44770 /* 126150 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44771 /* 126154 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44772 /* 126158 */ // MIs[1] Operand 1
44773 /* 126158 */ // No operand predicates
44774 /* 126158 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44775 /* 126160 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHLDROT64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt)
44776 /* 126160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLDROT64ri),
44777 /* 126163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44778 /* 126165 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44779 /* 126167 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44780 /* 126170 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44781 /* 126173 */ GIR_RootConstrainSelectedInstOperands,
44782 /* 126174 */ // GIR_Coverage, 846,
44783 /* 126174 */ GIR_EraseRootFromParent_Done,
44784 /* 126175 */ // Label 3520: @126175
44785 /* 126175 */ GIM_Try, /*On fail goto*//*Label 3521*/ GIMT_Encode4(126223),
44786 /* 126180 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
44787 /* 126184 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3522*/ GIMT_Encode4(126203), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 17656 //
44788 /* 126191 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROR64r1:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
44789 /* 126191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64r1),
44790 /* 126194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44791 /* 126196 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44792 /* 126198 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44793 /* 126201 */ GIR_RootConstrainSelectedInstOperands,
44794 /* 126202 */ // GIR_Coverage, 17656,
44795 /* 126202 */ GIR_EraseRootFromParent_Done,
44796 /* 126203 */ // Label 3522: @126203
44797 /* 126203 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3523*/ GIMT_Encode4(126222), GIMT_Encode2(GIFBS_HasNDD), // Rule ID 17664 //
44798 /* 126210 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROR64r1_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
44799 /* 126210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64r1_ND),
44800 /* 126213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44801 /* 126215 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44802 /* 126217 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44803 /* 126220 */ GIR_RootConstrainSelectedInstOperands,
44804 /* 126221 */ // GIR_Coverage, 17664,
44805 /* 126221 */ GIR_EraseRootFromParent_Done,
44806 /* 126222 */ // Label 3523: @126222
44807 /* 126222 */ GIM_Reject,
44808 /* 126223 */ // Label 3521: @126223
44809 /* 126223 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3524*/ GIMT_Encode4(126255), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 736 //
44810 /* 126230 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44811 /* 126234 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44812 /* 126238 */ // MIs[1] Operand 1
44813 /* 126238 */ // No operand predicates
44814 /* 126238 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44815 /* 126240 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
44816 /* 126240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64ri),
44817 /* 126243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44818 /* 126245 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44819 /* 126247 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44820 /* 126250 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44821 /* 126253 */ GIR_RootConstrainSelectedInstOperands,
44822 /* 126254 */ // GIR_Coverage, 736,
44823 /* 126254 */ GIR_EraseRootFromParent_Done,
44824 /* 126255 */ // Label 3524: @126255
44825 /* 126255 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3525*/ GIMT_Encode4(126287), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 740 //
44826 /* 126262 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44827 /* 126266 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44828 /* 126270 */ // MIs[1] Operand 1
44829 /* 126270 */ // No operand predicates
44830 /* 126270 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44831 /* 126272 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
44832 /* 126272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64ri_ND),
44833 /* 126275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44834 /* 126277 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44835 /* 126279 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44836 /* 126282 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44837 /* 126285 */ GIR_RootConstrainSelectedInstOperands,
44838 /* 126286 */ // GIR_Coverage, 740,
44839 /* 126286 */ GIR_EraseRootFromParent_Done,
44840 /* 126287 */ // Label 3525: @126287
44841 /* 126287 */ GIM_Try, /*On fail goto*//*Label 3526*/ GIMT_Encode4(126363),
44842 /* 126292 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44843 /* 126296 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3527*/ GIMT_Encode4(126329), GIMT_Encode2(GIFBS_NoNDD), // Rule ID 752 //
44844 /* 126303 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROL64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
44845 /* 126303 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44846 /* 126307 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44847 /* 126313 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44848 /* 126317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64rCL),
44849 /* 126320 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44850 /* 126322 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44851 /* 126324 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44852 /* 126327 */ GIR_RootConstrainSelectedInstOperands,
44853 /* 126328 */ // GIR_Coverage, 752,
44854 /* 126328 */ GIR_EraseRootFromParent_Done,
44855 /* 126329 */ // Label 3527: @126329
44856 /* 126329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3528*/ GIMT_Encode4(126362), GIMT_Encode2(GIFBS_HasNDD_In64BitMode), // Rule ID 756 //
44857 /* 126336 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROL64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
44858 /* 126336 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44859 /* 126340 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44860 /* 126346 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44861 /* 126350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64rCL_ND),
44862 /* 126353 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44863 /* 126355 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44864 /* 126357 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44865 /* 126360 */ GIR_RootConstrainSelectedInstOperands,
44866 /* 126361 */ // GIR_Coverage, 756,
44867 /* 126361 */ GIR_EraseRootFromParent_Done,
44868 /* 126362 */ // Label 3528: @126362
44869 /* 126362 */ GIM_Reject,
44870 /* 126363 */ // Label 3526: @126363
44871 /* 126363 */ GIM_Reject,
44872 /* 126364 */ // Label 3519: @126364
44873 /* 126364 */ GIM_Reject,
44874 /* 126365 */ // Label 3480: @126365
44875 /* 126365 */ GIM_Try, /*On fail goto*//*Label 3529*/ GIMT_Encode4(126519),
44876 /* 126370 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
44877 /* 126373 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
44878 /* 126376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
44879 /* 126380 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3530*/ GIMT_Encode4(126437), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1553 //
44880 /* 126387 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44881 /* 126391 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44882 /* 126395 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44883 /* 126398 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44884 /* 126402 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44885 /* 126406 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
44886 /* 126410 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44887 /* 126412 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44888 /* 126419 */ // (rotl:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src2) => (VPROTBmr:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v16i8] }:$src2)
44889 /* 126419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTBmr),
44890 /* 126422 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44891 /* 126424 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44892 /* 126428 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44893 /* 126430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44894 /* 126435 */ GIR_RootConstrainSelectedInstOperands,
44895 /* 126436 */ // GIR_Coverage, 1553,
44896 /* 126436 */ GIR_EraseRootFromParent_Done,
44897 /* 126437 */ // Label 3530: @126437
44898 /* 126437 */ GIM_Try, /*On fail goto*//*Label 3531*/ GIMT_Encode4(126518),
44899 /* 126442 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
44900 /* 126446 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3532*/ GIMT_Encode4(126499), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1552 //
44901 /* 126453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44902 /* 126457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44903 /* 126461 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44904 /* 126464 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44905 /* 126468 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44906 /* 126472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44907 /* 126474 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44908 /* 126481 */ // (rotl:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
44909 /* 126481 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTBrm),
44910 /* 126484 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44911 /* 126486 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44912 /* 126488 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44913 /* 126492 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44914 /* 126497 */ GIR_RootConstrainSelectedInstOperands,
44915 /* 126498 */ // GIR_Coverage, 1552,
44916 /* 126498 */ GIR_EraseRootFromParent_Done,
44917 /* 126499 */ // Label 3532: @126499
44918 /* 126499 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3533*/ GIMT_Encode4(126517), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1551 //
44919 /* 126506 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
44920 /* 126510 */ // (rotl:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPROTBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
44921 /* 126510 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTBrr),
44922 /* 126515 */ GIR_RootConstrainSelectedInstOperands,
44923 /* 126516 */ // GIR_Coverage, 1551,
44924 /* 126516 */ GIR_Done,
44925 /* 126517 */ // Label 3533: @126517
44926 /* 126517 */ GIM_Reject,
44927 /* 126518 */ // Label 3531: @126518
44928 /* 126518 */ GIM_Reject,
44929 /* 126519 */ // Label 3529: @126519
44930 /* 126519 */ GIM_Reject,
44931 /* 126520 */ // Label 3481: @126520
44932 /* 126520 */ GIM_Try, /*On fail goto*//*Label 3534*/ GIMT_Encode4(126930),
44933 /* 126525 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
44934 /* 126528 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
44935 /* 126531 */ GIM_Try, /*On fail goto*//*Label 3535*/ GIMT_Encode4(126679),
44936 /* 126536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
44937 /* 126540 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3536*/ GIMT_Encode4(126597), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1562 //
44938 /* 126547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44939 /* 126551 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44940 /* 126555 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44941 /* 126558 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44942 /* 126562 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44943 /* 126566 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
44944 /* 126570 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44945 /* 126572 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44946 /* 126579 */ // (rotl:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src2) => (VPROTWmr:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v8i16] }:$src2)
44947 /* 126579 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTWmr),
44948 /* 126582 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44949 /* 126584 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44950 /* 126588 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44951 /* 126590 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44952 /* 126595 */ GIR_RootConstrainSelectedInstOperands,
44953 /* 126596 */ // GIR_Coverage, 1562,
44954 /* 126596 */ GIR_EraseRootFromParent_Done,
44955 /* 126597 */ // Label 3536: @126597
44956 /* 126597 */ GIM_Try, /*On fail goto*//*Label 3537*/ GIMT_Encode4(126678),
44957 /* 126602 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
44958 /* 126606 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3538*/ GIMT_Encode4(126659), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1561 //
44959 /* 126613 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44960 /* 126617 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44961 /* 126621 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44962 /* 126624 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44963 /* 126628 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44964 /* 126632 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44965 /* 126634 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44966 /* 126641 */ // (rotl:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
44967 /* 126641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTWrm),
44968 /* 126644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44969 /* 126646 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44970 /* 126648 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
44971 /* 126652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44972 /* 126657 */ GIR_RootConstrainSelectedInstOperands,
44973 /* 126658 */ // GIR_Coverage, 1561,
44974 /* 126658 */ GIR_EraseRootFromParent_Done,
44975 /* 126659 */ // Label 3538: @126659
44976 /* 126659 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3539*/ GIMT_Encode4(126677), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1560 //
44977 /* 126666 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
44978 /* 126670 */ // (rotl:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPROTWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
44979 /* 126670 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTWrr),
44980 /* 126675 */ GIR_RootConstrainSelectedInstOperands,
44981 /* 126676 */ // GIR_Coverage, 1560,
44982 /* 126676 */ GIR_Done,
44983 /* 126677 */ // Label 3539: @126677
44984 /* 126677 */ GIM_Reject,
44985 /* 126678 */ // Label 3537: @126678
44986 /* 126678 */ GIM_Reject,
44987 /* 126679 */ // Label 3535: @126679
44988 /* 126679 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3540*/ GIMT_Encode4(126711), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22317 //
44989 /* 126686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44990 /* 126690 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44991 /* 126694 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44992 /* 126698 */ // (rotl:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSHLDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
44993 /* 126698 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ128r),
44994 /* 126701 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44995 /* 126703 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44996 /* 126705 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44997 /* 126707 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44998 /* 126709 */ GIR_RootConstrainSelectedInstOperands,
44999 /* 126710 */ // GIR_Coverage, 22317,
45000 /* 126710 */ GIR_EraseRootFromParent_Done,
45001 /* 126711 */ // Label 3540: @126711
45002 /* 126711 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3541*/ GIMT_Encode4(126929), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22325 //
45003 /* 126718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
45004 /* 126722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45005 /* 126726 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45006 /* 126730 */ // (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] })
45007 /* 126730 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
45008 /* 126733 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45009 /* 126737 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45010 /* 126742 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
45011 /* 126744 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
45012 /* 126747 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45013 /* 126751 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45014 /* 126756 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
45015 /* 126759 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/2, // src2
45016 /* 126763 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
45017 /* 126766 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45018 /* 126771 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45019 /* 126776 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45020 /* 126781 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
45021 /* 126784 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45022 /* 126788 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45023 /* 126793 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45024 /* 126795 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
45025 /* 126798 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45026 /* 126802 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45027 /* 126807 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45028 /* 126810 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
45029 /* 126814 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
45030 /* 126817 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45031 /* 126822 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45032 /* 126827 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45033 /* 126832 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
45034 /* 126835 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45035 /* 126839 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45036 /* 126844 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45037 /* 126846 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
45038 /* 126849 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45039 /* 126853 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45040 /* 126858 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45041 /* 126861 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45042 /* 126865 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
45043 /* 126868 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45044 /* 126873 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45045 /* 126878 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45046 /* 126883 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
45047 /* 126886 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
45048 /* 126890 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45049 /* 126895 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45050 /* 126898 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45051 /* 126901 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
45052 /* 126904 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45053 /* 126906 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45054 /* 126909 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45055 /* 126911 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
45056 /* 126918 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
45057 /* 126923 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45058 /* 126928 */ // GIR_Coverage, 22325,
45059 /* 126928 */ GIR_EraseRootFromParent_Done,
45060 /* 126929 */ // Label 3541: @126929
45061 /* 126929 */ GIM_Reject,
45062 /* 126930 */ // Label 3534: @126930
45063 /* 126930 */ GIM_Reject,
45064 /* 126931 */ // Label 3482: @126931
45065 /* 126931 */ GIM_Try, /*On fail goto*//*Label 3542*/ GIMT_Encode4(127181),
45066 /* 126936 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
45067 /* 126939 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
45068 /* 126942 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45069 /* 126946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45070 /* 126950 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45071 /* 126954 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3543*/ GIMT_Encode4(126974), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22313 //
45072 /* 126961 */ // (rotl:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSHLDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
45073 /* 126961 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ256r),
45074 /* 126964 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45075 /* 126966 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45076 /* 126968 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45077 /* 126970 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45078 /* 126972 */ GIR_RootConstrainSelectedInstOperands,
45079 /* 126973 */ // GIR_Coverage, 22313,
45080 /* 126973 */ GIR_EraseRootFromParent_Done,
45081 /* 126974 */ // Label 3543: @126974
45082 /* 126974 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3544*/ GIMT_Encode4(127180), GIMT_Encode2(GIFBS_HasVBMI2_NoVLX), // Rule ID 22321 //
45083 /* 126981 */ // (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] })
45084 /* 126981 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
45085 /* 126984 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45086 /* 126988 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45087 /* 126993 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
45088 /* 126995 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
45089 /* 126998 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45090 /* 127002 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45091 /* 127007 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
45092 /* 127010 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/2, // src2
45093 /* 127014 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
45094 /* 127017 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45095 /* 127022 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45096 /* 127027 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45097 /* 127032 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
45098 /* 127035 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45099 /* 127039 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45100 /* 127044 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45101 /* 127046 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
45102 /* 127049 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45103 /* 127053 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45104 /* 127058 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45105 /* 127061 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
45106 /* 127065 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
45107 /* 127068 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45108 /* 127073 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45109 /* 127078 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45110 /* 127083 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
45111 /* 127086 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45112 /* 127090 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45113 /* 127095 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45114 /* 127097 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
45115 /* 127100 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45116 /* 127104 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45117 /* 127109 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45118 /* 127112 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45119 /* 127116 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
45120 /* 127119 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45121 /* 127124 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45122 /* 127129 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45123 /* 127134 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
45124 /* 127137 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
45125 /* 127141 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45126 /* 127146 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45127 /* 127149 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45128 /* 127152 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
45129 /* 127155 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45130 /* 127157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45131 /* 127160 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45132 /* 127162 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
45133 /* 127169 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
45134 /* 127174 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45135 /* 127179 */ // GIR_Coverage, 22321,
45136 /* 127179 */ GIR_EraseRootFromParent_Done,
45137 /* 127180 */ // Label 3544: @127180
45138 /* 127180 */ GIM_Reject,
45139 /* 127181 */ // Label 3542: @127181
45140 /* 127181 */ GIM_Reject,
45141 /* 127182 */ // Label 3483: @127182
45142 /* 127182 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3545*/ GIMT_Encode4(127220), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 22309 //
45143 /* 127189 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
45144 /* 127192 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
45145 /* 127195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45146 /* 127199 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45147 /* 127203 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45148 /* 127207 */ // (rotl:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSHLDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
45149 /* 127207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
45150 /* 127210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45151 /* 127212 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45152 /* 127214 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45153 /* 127216 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45154 /* 127218 */ GIR_RootConstrainSelectedInstOperands,
45155 /* 127219 */ // GIR_Coverage, 22309,
45156 /* 127219 */ GIR_EraseRootFromParent_Done,
45157 /* 127220 */ // Label 3545: @127220
45158 /* 127220 */ GIM_Reject,
45159 /* 127221 */ // Label 3484: @127221
45160 /* 127221 */ GIM_Try, /*On fail goto*//*Label 3546*/ GIMT_Encode4(127634),
45161 /* 127226 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
45162 /* 127229 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
45163 /* 127232 */ GIM_Try, /*On fail goto*//*Label 3547*/ GIMT_Encode4(127356),
45164 /* 127237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45165 /* 127241 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3548*/ GIMT_Encode4(127298), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1556 //
45166 /* 127248 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45167 /* 127252 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45168 /* 127256 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45169 /* 127259 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45170 /* 127263 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45171 /* 127267 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45172 /* 127271 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45173 /* 127273 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45174 /* 127280 */ // (rotl:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src2) => (VPROTDmr:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v4i32] }:$src2)
45175 /* 127280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTDmr),
45176 /* 127283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45177 /* 127285 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45178 /* 127289 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45179 /* 127291 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45180 /* 127296 */ GIR_RootConstrainSelectedInstOperands,
45181 /* 127297 */ // GIR_Coverage, 1556,
45182 /* 127297 */ GIR_EraseRootFromParent_Done,
45183 /* 127298 */ // Label 3548: @127298
45184 /* 127298 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3549*/ GIMT_Encode4(127355), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1555 //
45185 /* 127305 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45186 /* 127309 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45187 /* 127313 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45188 /* 127317 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45189 /* 127320 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45190 /* 127324 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45191 /* 127328 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45192 /* 127330 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45193 /* 127337 */ // (rotl:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45194 /* 127337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTDrm),
45195 /* 127340 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45196 /* 127342 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45197 /* 127344 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45198 /* 127348 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45199 /* 127353 */ GIR_RootConstrainSelectedInstOperands,
45200 /* 127354 */ // GIR_Coverage, 1555,
45201 /* 127354 */ GIR_EraseRootFromParent_Done,
45202 /* 127355 */ // Label 3549: @127355
45203 /* 127355 */ GIM_Reject,
45204 /* 127356 */ // Label 3547: @127356
45205 /* 127356 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3550*/ GIMT_Encode4(127417), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8033 //
45206 /* 127363 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45207 /* 127367 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45208 /* 127371 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45209 /* 127375 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45210 /* 127379 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45211 /* 127382 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45212 /* 127386 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45213 /* 127390 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45214 /* 127392 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45215 /* 127399 */ // (rotl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45216 /* 127399 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ128rm),
45217 /* 127402 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45218 /* 127404 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45219 /* 127406 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45220 /* 127410 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45221 /* 127415 */ GIR_RootConstrainSelectedInstOperands,
45222 /* 127416 */ // GIR_Coverage, 8033,
45223 /* 127416 */ GIR_EraseRootFromParent_Done,
45224 /* 127417 */ // Label 3550: @127417
45225 /* 127417 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3551*/ GIMT_Encode4(127443), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1554 //
45226 /* 127424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45227 /* 127428 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45228 /* 127432 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45229 /* 127436 */ // (rotl:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPROTDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
45230 /* 127436 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTDrr),
45231 /* 127441 */ GIR_RootConstrainSelectedInstOperands,
45232 /* 127442 */ // GIR_Coverage, 1554,
45233 /* 127442 */ GIR_Done,
45234 /* 127443 */ // Label 3551: @127443
45235 /* 127443 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3552*/ GIMT_Encode4(127469), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8030 //
45236 /* 127450 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45237 /* 127454 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45238 /* 127458 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45239 /* 127462 */ // (rotl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPROLVDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
45240 /* 127462 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ128rr),
45241 /* 127467 */ GIR_RootConstrainSelectedInstOperands,
45242 /* 127468 */ // GIR_Coverage, 8030,
45243 /* 127468 */ GIR_Done,
45244 /* 127469 */ // Label 3552: @127469
45245 /* 127469 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3553*/ GIMT_Encode4(127633), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20937 //
45246 /* 127476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
45247 /* 127480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45248 /* 127484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45249 /* 127488 */ // (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] })
45250 /* 127488 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
45251 /* 127491 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45252 /* 127495 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45253 /* 127500 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45254 /* 127502 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
45255 /* 127505 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45256 /* 127509 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45257 /* 127514 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45258 /* 127517 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45259 /* 127521 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
45260 /* 127524 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45261 /* 127529 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45262 /* 127534 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45263 /* 127539 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
45264 /* 127542 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45265 /* 127546 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45266 /* 127551 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45267 /* 127553 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
45268 /* 127556 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45269 /* 127560 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45270 /* 127565 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45271 /* 127568 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45272 /* 127572 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
45273 /* 127575 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45274 /* 127580 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45275 /* 127585 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45276 /* 127590 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
45277 /* 127593 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
45278 /* 127597 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45279 /* 127602 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45280 /* 127605 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45281 /* 127608 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45282 /* 127610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45283 /* 127613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45284 /* 127615 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
45285 /* 127622 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
45286 /* 127627 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45287 /* 127632 */ // GIR_Coverage, 20937,
45288 /* 127632 */ GIR_EraseRootFromParent_Done,
45289 /* 127633 */ // Label 3553: @127633
45290 /* 127633 */ GIM_Reject,
45291 /* 127634 */ // Label 3546: @127634
45292 /* 127634 */ GIM_Reject,
45293 /* 127635 */ // Label 3485: @127635
45294 /* 127635 */ GIM_Try, /*On fail goto*//*Label 3554*/ GIMT_Encode4(127884),
45295 /* 127640 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
45296 /* 127643 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
45297 /* 127646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45298 /* 127650 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45299 /* 127654 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3555*/ GIMT_Encode4(127707), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8024 //
45300 /* 127661 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45301 /* 127665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45302 /* 127669 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45303 /* 127672 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45304 /* 127676 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45305 /* 127680 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45306 /* 127682 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45307 /* 127689 */ // (rotl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45308 /* 127689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ256rm),
45309 /* 127692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45310 /* 127694 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45311 /* 127696 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45312 /* 127700 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45313 /* 127705 */ GIR_RootConstrainSelectedInstOperands,
45314 /* 127706 */ // GIR_Coverage, 8024,
45315 /* 127706 */ GIR_EraseRootFromParent_Done,
45316 /* 127707 */ // Label 3555: @127707
45317 /* 127707 */ GIM_Try, /*On fail goto*//*Label 3556*/ GIMT_Encode4(127883),
45318 /* 127712 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45319 /* 127716 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3557*/ GIMT_Encode4(127730), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8021 //
45320 /* 127723 */ // (rotl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPROLVDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
45321 /* 127723 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ256rr),
45322 /* 127728 */ GIR_RootConstrainSelectedInstOperands,
45323 /* 127729 */ // GIR_Coverage, 8021,
45324 /* 127729 */ GIR_Done,
45325 /* 127730 */ // Label 3557: @127730
45326 /* 127730 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3558*/ GIMT_Encode4(127882), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20933 //
45327 /* 127737 */ // (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] })
45328 /* 127737 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
45329 /* 127740 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45330 /* 127744 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45331 /* 127749 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45332 /* 127751 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
45333 /* 127754 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45334 /* 127758 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45335 /* 127763 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45336 /* 127766 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45337 /* 127770 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
45338 /* 127773 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45339 /* 127778 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45340 /* 127783 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45341 /* 127788 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
45342 /* 127791 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45343 /* 127795 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45344 /* 127800 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45345 /* 127802 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
45346 /* 127805 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45347 /* 127809 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45348 /* 127814 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45349 /* 127817 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45350 /* 127821 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
45351 /* 127824 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45352 /* 127829 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45353 /* 127834 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45354 /* 127839 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
45355 /* 127842 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
45356 /* 127846 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45357 /* 127851 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45358 /* 127854 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45359 /* 127857 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45360 /* 127859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45361 /* 127862 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45362 /* 127864 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
45363 /* 127871 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
45364 /* 127876 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45365 /* 127881 */ // GIR_Coverage, 20933,
45366 /* 127881 */ GIR_EraseRootFromParent_Done,
45367 /* 127882 */ // Label 3558: @127882
45368 /* 127882 */ GIM_Reject,
45369 /* 127883 */ // Label 3556: @127883
45370 /* 127883 */ GIM_Reject,
45371 /* 127884 */ // Label 3554: @127884
45372 /* 127884 */ GIM_Reject,
45373 /* 127885 */ // Label 3486: @127885
45374 /* 127885 */ GIM_Try, /*On fail goto*//*Label 3559*/ GIMT_Encode4(127976),
45375 /* 127890 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
45376 /* 127893 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
45377 /* 127896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45378 /* 127900 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45379 /* 127904 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3560*/ GIMT_Encode4(127957), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8015 //
45380 /* 127911 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45381 /* 127915 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45382 /* 127919 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45383 /* 127922 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45384 /* 127926 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45385 /* 127930 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45386 /* 127932 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45387 /* 127939 */ // (rotl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45388 /* 127939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrm),
45389 /* 127942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45390 /* 127944 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45391 /* 127946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45392 /* 127950 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45393 /* 127955 */ GIR_RootConstrainSelectedInstOperands,
45394 /* 127956 */ // GIR_Coverage, 8015,
45395 /* 127956 */ GIR_EraseRootFromParent_Done,
45396 /* 127957 */ // Label 3560: @127957
45397 /* 127957 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3561*/ GIMT_Encode4(127975), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8012 //
45398 /* 127964 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45399 /* 127968 */ // (rotl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPROLVDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
45400 /* 127968 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
45401 /* 127973 */ GIR_RootConstrainSelectedInstOperands,
45402 /* 127974 */ // GIR_Coverage, 8012,
45403 /* 127974 */ GIR_Done,
45404 /* 127975 */ // Label 3561: @127975
45405 /* 127975 */ GIM_Reject,
45406 /* 127976 */ // Label 3559: @127976
45407 /* 127976 */ GIM_Reject,
45408 /* 127977 */ // Label 3487: @127977
45409 /* 127977 */ GIM_Try, /*On fail goto*//*Label 3562*/ GIMT_Encode4(128390),
45410 /* 127982 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
45411 /* 127985 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
45412 /* 127988 */ GIM_Try, /*On fail goto*//*Label 3563*/ GIMT_Encode4(128112),
45413 /* 127993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45414 /* 127997 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3564*/ GIMT_Encode4(128054), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1559 //
45415 /* 128004 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45416 /* 128008 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45417 /* 128012 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45418 /* 128015 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45419 /* 128019 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45420 /* 128023 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45421 /* 128027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45422 /* 128029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45423 /* 128036 */ // (rotl:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src2) => (VPROTQmr:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v2i64] }:$src2)
45424 /* 128036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTQmr),
45425 /* 128039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45426 /* 128041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45427 /* 128045 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45428 /* 128047 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45429 /* 128052 */ GIR_RootConstrainSelectedInstOperands,
45430 /* 128053 */ // GIR_Coverage, 1559,
45431 /* 128053 */ GIR_EraseRootFromParent_Done,
45432 /* 128054 */ // Label 3564: @128054
45433 /* 128054 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3565*/ GIMT_Encode4(128111), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1558 //
45434 /* 128061 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45435 /* 128065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45436 /* 128069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45437 /* 128073 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45438 /* 128076 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45439 /* 128080 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45440 /* 128084 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45441 /* 128086 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45442 /* 128093 */ // (rotl:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45443 /* 128093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTQrm),
45444 /* 128096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45445 /* 128098 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45446 /* 128100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45447 /* 128104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45448 /* 128109 */ GIR_RootConstrainSelectedInstOperands,
45449 /* 128110 */ // GIR_Coverage, 1558,
45450 /* 128110 */ GIR_EraseRootFromParent_Done,
45451 /* 128111 */ // Label 3565: @128111
45452 /* 128111 */ GIM_Reject,
45453 /* 128112 */ // Label 3563: @128112
45454 /* 128112 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3566*/ GIMT_Encode4(128173), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8060 //
45455 /* 128119 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45456 /* 128123 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45457 /* 128127 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45458 /* 128131 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45459 /* 128135 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45460 /* 128138 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45461 /* 128142 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45462 /* 128146 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45463 /* 128148 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45464 /* 128155 */ // (rotl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45465 /* 128155 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ128rm),
45466 /* 128158 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45467 /* 128160 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45468 /* 128162 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45469 /* 128166 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45470 /* 128171 */ GIR_RootConstrainSelectedInstOperands,
45471 /* 128172 */ // GIR_Coverage, 8060,
45472 /* 128172 */ GIR_EraseRootFromParent_Done,
45473 /* 128173 */ // Label 3566: @128173
45474 /* 128173 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3567*/ GIMT_Encode4(128199), GIMT_Encode2(GIFBS_HasXOP), // Rule ID 1557 //
45475 /* 128180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45476 /* 128184 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45477 /* 128188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45478 /* 128192 */ // (rotl:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPROTQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
45479 /* 128192 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTQrr),
45480 /* 128197 */ GIR_RootConstrainSelectedInstOperands,
45481 /* 128198 */ // GIR_Coverage, 1557,
45482 /* 128198 */ GIR_Done,
45483 /* 128199 */ // Label 3567: @128199
45484 /* 128199 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3568*/ GIMT_Encode4(128225), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8057 //
45485 /* 128206 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45486 /* 128210 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45487 /* 128214 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45488 /* 128218 */ // (rotl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPROLVQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
45489 /* 128218 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ128rr),
45490 /* 128223 */ GIR_RootConstrainSelectedInstOperands,
45491 /* 128224 */ // GIR_Coverage, 8057,
45492 /* 128224 */ GIR_Done,
45493 /* 128225 */ // Label 3568: @128225
45494 /* 128225 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3569*/ GIMT_Encode4(128389), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20929 //
45495 /* 128232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
45496 /* 128236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45497 /* 128240 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45498 /* 128244 */ // (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] })
45499 /* 128244 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
45500 /* 128247 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45501 /* 128251 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45502 /* 128256 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45503 /* 128258 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
45504 /* 128261 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45505 /* 128265 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45506 /* 128270 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45507 /* 128273 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45508 /* 128277 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
45509 /* 128280 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45510 /* 128285 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45511 /* 128290 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45512 /* 128295 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
45513 /* 128298 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45514 /* 128302 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45515 /* 128307 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45516 /* 128309 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
45517 /* 128312 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45518 /* 128316 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45519 /* 128321 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45520 /* 128324 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45521 /* 128328 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
45522 /* 128331 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45523 /* 128336 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45524 /* 128341 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45525 /* 128346 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
45526 /* 128349 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
45527 /* 128353 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45528 /* 128358 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45529 /* 128361 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45530 /* 128364 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45531 /* 128366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45532 /* 128369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45533 /* 128371 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
45534 /* 128378 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
45535 /* 128383 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45536 /* 128388 */ // GIR_Coverage, 20929,
45537 /* 128388 */ GIR_EraseRootFromParent_Done,
45538 /* 128389 */ // Label 3569: @128389
45539 /* 128389 */ GIM_Reject,
45540 /* 128390 */ // Label 3562: @128390
45541 /* 128390 */ GIM_Reject,
45542 /* 128391 */ // Label 3488: @128391
45543 /* 128391 */ GIM_Try, /*On fail goto*//*Label 3570*/ GIMT_Encode4(128640),
45544 /* 128396 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
45545 /* 128399 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
45546 /* 128402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45547 /* 128406 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45548 /* 128410 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3571*/ GIMT_Encode4(128463), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8051 //
45549 /* 128417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45550 /* 128421 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45551 /* 128425 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45552 /* 128428 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45553 /* 128432 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45554 /* 128436 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45555 /* 128438 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45556 /* 128445 */ // (rotl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45557 /* 128445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ256rm),
45558 /* 128448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45559 /* 128450 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45560 /* 128452 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45561 /* 128456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45562 /* 128461 */ GIR_RootConstrainSelectedInstOperands,
45563 /* 128462 */ // GIR_Coverage, 8051,
45564 /* 128462 */ GIR_EraseRootFromParent_Done,
45565 /* 128463 */ // Label 3571: @128463
45566 /* 128463 */ GIM_Try, /*On fail goto*//*Label 3572*/ GIMT_Encode4(128639),
45567 /* 128468 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45568 /* 128472 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3573*/ GIMT_Encode4(128486), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8048 //
45569 /* 128479 */ // (rotl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPROLVQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
45570 /* 128479 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ256rr),
45571 /* 128484 */ GIR_RootConstrainSelectedInstOperands,
45572 /* 128485 */ // GIR_Coverage, 8048,
45573 /* 128485 */ GIR_Done,
45574 /* 128486 */ // Label 3573: @128486
45575 /* 128486 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3574*/ GIMT_Encode4(128638), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20925 //
45576 /* 128493 */ // (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] })
45577 /* 128493 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
45578 /* 128496 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45579 /* 128500 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45580 /* 128505 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45581 /* 128507 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
45582 /* 128510 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45583 /* 128514 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45584 /* 128519 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45585 /* 128522 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45586 /* 128526 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
45587 /* 128529 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45588 /* 128534 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45589 /* 128539 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45590 /* 128544 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
45591 /* 128547 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45592 /* 128551 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45593 /* 128556 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45594 /* 128558 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
45595 /* 128561 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45596 /* 128565 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45597 /* 128570 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45598 /* 128573 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45599 /* 128577 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
45600 /* 128580 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45601 /* 128585 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45602 /* 128590 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45603 /* 128595 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
45604 /* 128598 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
45605 /* 128602 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45606 /* 128607 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45607 /* 128610 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45608 /* 128613 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45609 /* 128615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45610 /* 128618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45611 /* 128620 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
45612 /* 128627 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
45613 /* 128632 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45614 /* 128637 */ // GIR_Coverage, 20925,
45615 /* 128637 */ GIR_EraseRootFromParent_Done,
45616 /* 128638 */ // Label 3574: @128638
45617 /* 128638 */ GIM_Reject,
45618 /* 128639 */ // Label 3572: @128639
45619 /* 128639 */ GIM_Reject,
45620 /* 128640 */ // Label 3570: @128640
45621 /* 128640 */ GIM_Reject,
45622 /* 128641 */ // Label 3489: @128641
45623 /* 128641 */ GIM_Try, /*On fail goto*//*Label 3575*/ GIMT_Encode4(128732),
45624 /* 128646 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
45625 /* 128649 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
45626 /* 128652 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45627 /* 128656 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45628 /* 128660 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3576*/ GIMT_Encode4(128713), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8042 //
45629 /* 128667 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45630 /* 128671 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45631 /* 128675 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45632 /* 128678 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45633 /* 128682 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45634 /* 128686 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45635 /* 128688 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45636 /* 128695 */ // (rotl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45637 /* 128695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrm),
45638 /* 128698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45639 /* 128700 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45640 /* 128702 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45641 /* 128706 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45642 /* 128711 */ GIR_RootConstrainSelectedInstOperands,
45643 /* 128712 */ // GIR_Coverage, 8042,
45644 /* 128712 */ GIR_EraseRootFromParent_Done,
45645 /* 128713 */ // Label 3576: @128713
45646 /* 128713 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3577*/ GIMT_Encode4(128731), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8039 //
45647 /* 128720 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45648 /* 128724 */ // (rotl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPROLVQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
45649 /* 128724 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
45650 /* 128729 */ GIR_RootConstrainSelectedInstOperands,
45651 /* 128730 */ // GIR_Coverage, 8039,
45652 /* 128730 */ GIR_Done,
45653 /* 128731 */ // Label 3577: @128731
45654 /* 128731 */ GIM_Reject,
45655 /* 128732 */ // Label 3575: @128732
45656 /* 128732 */ GIM_Reject,
45657 /* 128733 */ // Label 3490: @128733
45658 /* 128733 */ GIM_Reject,
45659 /* 128734 */ // Label 36: @128734
45660 /* 128734 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(7), GIMT_Encode2(13), /*)*//*default:*//*Label 3584*/ GIMT_Encode4(130371),
45661 /* 128745 */ /*GILLT_v2s1*//*Label 3578*/ GIMT_Encode4(128769),
45662 /* 128749 */ /*GILLT_v4s1*//*Label 3579*/ GIMT_Encode4(128928),
45663 /* 128753 */ /*GILLT_v8s1*//*Label 3580*/ GIMT_Encode4(129272),
45664 /* 128757 */ /*GILLT_v16s1*//*Label 3581*/ GIMT_Encode4(129679),
45665 /* 128761 */ /*GILLT_v32s1*//*Label 3582*/ GIMT_Encode4(130086),
45666 /* 128765 */ /*GILLT_v64s1*//*Label 3583*/ GIMT_Encode4(130321),
45667 /* 128769 */ // Label 3578: @128769
45668 /* 128769 */ GIM_Try, /*On fail goto*//*Label 3585*/ GIMT_Encode4(128927),
45669 /* 128774 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
45670 /* 128777 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
45671 /* 128780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
45672 /* 128784 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
45673 /* 128789 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45674 /* 128793 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3586*/ GIMT_Encode4(128823), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 12607 //
45675 /* 128800 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45676 /* 128804 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45677 /* 128810 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45678 /* 128812 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45679 /* 128814 */ // (setcc:{ *:[v2i1] } immAllZerosV:{ *:[v2i64] }, VR128X:{ *:[v2i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZ128kr:{ *:[v2i1] } VR128X:{ *:[v2i64] }:$src)
45680 /* 128814 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZ128kr),
45681 /* 128817 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45682 /* 128819 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
45683 /* 128821 */ GIR_RootConstrainSelectedInstOperands,
45684 /* 128822 */ // GIR_Coverage, 12607,
45685 /* 128822 */ GIR_EraseRootFromParent_Done,
45686 /* 128823 */ // Label 3586: @128823
45687 /* 128823 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3587*/ GIMT_Encode4(128926), GIMT_Encode2(GIFBS_HasDQI_NoVLX), // Rule ID 21806 //
45688 /* 128830 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45689 /* 128834 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45690 /* 128840 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45691 /* 128842 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45692 /* 128844 */ // (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] })
45693 /* 128844 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
45694 /* 128847 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45695 /* 128851 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45696 /* 128856 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45697 /* 128858 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
45698 /* 128861 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45699 /* 128865 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45700 /* 128870 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45701 /* 128873 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
45702 /* 128877 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
45703 /* 128880 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45704 /* 128885 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45705 /* 128890 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45706 /* 128895 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
45707 /* 128898 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
45708 /* 128902 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45709 /* 128907 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45710 /* 128910 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45711 /* 128912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45712 /* 128915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45713 /* 128917 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
45714 /* 128920 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
45715 /* 128925 */ // GIR_Coverage, 21806,
45716 /* 128925 */ GIR_EraseRootFromParent_Done,
45717 /* 128926 */ // Label 3587: @128926
45718 /* 128926 */ GIM_Reject,
45719 /* 128927 */ // Label 3585: @128927
45720 /* 128927 */ GIM_Reject,
45721 /* 128928 */ // Label 3579: @128928
45722 /* 128928 */ GIM_SwitchType, /*MI*/0, /*Op*/2, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 3590*/ GIMT_Encode4(129271),
45723 /* 128939 */ /*GILLT_v4s32*//*Label 3588*/ GIMT_Encode4(128959), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
45724 /* 128955 */ /*GILLT_v4s64*//*Label 3589*/ GIMT_Encode4(129115),
45725 /* 128959 */ // Label 3588: @128959
45726 /* 128959 */ GIM_Try, /*On fail goto*//*Label 3591*/ GIMT_Encode4(129114),
45727 /* 128964 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
45728 /* 128967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
45729 /* 128971 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
45730 /* 128976 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45731 /* 128980 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3592*/ GIMT_Encode4(129010), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 12604 //
45732 /* 128987 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45733 /* 128991 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45734 /* 128997 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45735 /* 128999 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45736 /* 129001 */ // (setcc:{ *:[v4i1] } immAllZerosV:{ *:[v4i32] }, VR128X:{ *:[v4i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZ128kr:{ *:[v4i1] } VR128X:{ *:[v4i32] }:$src)
45737 /* 129001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZ128kr),
45738 /* 129004 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45739 /* 129006 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
45740 /* 129008 */ GIR_RootConstrainSelectedInstOperands,
45741 /* 129009 */ // GIR_Coverage, 12604,
45742 /* 129009 */ GIR_EraseRootFromParent_Done,
45743 /* 129010 */ // Label 3592: @129010
45744 /* 129010 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3593*/ GIMT_Encode4(129113), GIMT_Encode2(GIFBS_HasDQI_NoVLX), // Rule ID 21804 //
45745 /* 129017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45746 /* 129021 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45747 /* 129027 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45748 /* 129029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45749 /* 129031 */ // (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] })
45750 /* 129031 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
45751 /* 129034 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45752 /* 129038 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45753 /* 129043 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45754 /* 129045 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
45755 /* 129048 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45756 /* 129052 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45757 /* 129057 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45758 /* 129060 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
45759 /* 129064 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
45760 /* 129067 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45761 /* 129072 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45762 /* 129077 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45763 /* 129082 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
45764 /* 129085 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
45765 /* 129089 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45766 /* 129094 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45767 /* 129097 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45768 /* 129099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45769 /* 129102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45770 /* 129104 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
45771 /* 129107 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
45772 /* 129112 */ // GIR_Coverage, 21804,
45773 /* 129112 */ GIR_EraseRootFromParent_Done,
45774 /* 129113 */ // Label 3593: @129113
45775 /* 129113 */ GIM_Reject,
45776 /* 129114 */ // Label 3591: @129114
45777 /* 129114 */ GIM_Reject,
45778 /* 129115 */ // Label 3589: @129115
45779 /* 129115 */ GIM_Try, /*On fail goto*//*Label 3594*/ GIMT_Encode4(129270),
45780 /* 129120 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
45781 /* 129123 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
45782 /* 129127 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
45783 /* 129132 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45784 /* 129136 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3595*/ GIMT_Encode4(129166), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 12606 //
45785 /* 129143 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45786 /* 129147 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45787 /* 129153 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45788 /* 129155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45789 /* 129157 */ // (setcc:{ *:[v4i1] } immAllZerosV:{ *:[v4i64] }, VR256X:{ *:[v4i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZ256kr:{ *:[v4i1] } VR256X:{ *:[v4i64] }:$src)
45790 /* 129157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZ256kr),
45791 /* 129160 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45792 /* 129162 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
45793 /* 129164 */ GIR_RootConstrainSelectedInstOperands,
45794 /* 129165 */ // GIR_Coverage, 12606,
45795 /* 129165 */ GIR_EraseRootFromParent_Done,
45796 /* 129166 */ // Label 3595: @129166
45797 /* 129166 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3596*/ GIMT_Encode4(129269), GIMT_Encode2(GIFBS_HasDQI_NoVLX), // Rule ID 21805 //
45798 /* 129173 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45799 /* 129177 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45800 /* 129183 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45801 /* 129185 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45802 /* 129187 */ // (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] })
45803 /* 129187 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
45804 /* 129190 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45805 /* 129194 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45806 /* 129199 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45807 /* 129201 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
45808 /* 129204 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45809 /* 129208 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45810 /* 129213 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45811 /* 129216 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
45812 /* 129220 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
45813 /* 129223 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45814 /* 129228 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45815 /* 129233 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45816 /* 129238 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
45817 /* 129241 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
45818 /* 129245 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45819 /* 129250 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45820 /* 129253 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45821 /* 129255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45822 /* 129258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45823 /* 129260 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
45824 /* 129263 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
45825 /* 129268 */ // GIR_Coverage, 21805,
45826 /* 129268 */ GIR_EraseRootFromParent_Done,
45827 /* 129269 */ // Label 3596: @129269
45828 /* 129269 */ GIM_Reject,
45829 /* 129270 */ // Label 3594: @129270
45830 /* 129270 */ GIM_Reject,
45831 /* 129271 */ // Label 3590: @129271
45832 /* 129271 */ GIM_Reject,
45833 /* 129272 */ // Label 3580: @129272
45834 /* 129272 */ GIM_SwitchType, /*MI*/0, /*Op*/2, /*[*/GIMT_Encode2(16), GIMT_Encode2(25), /*)*//*default:*//*Label 3600*/ GIMT_Encode4(129678),
45835 /* 129283 */ /*GILLT_v8s16*//*Label 3597*/ GIMT_Encode4(129319), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
45836 /* 129299 */ /*GILLT_v8s32*//*Label 3598*/ GIMT_Encode4(129475), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
45837 /* 129315 */ /*GILLT_v8s64*//*Label 3599*/ GIMT_Encode4(129631),
45838 /* 129319 */ // Label 3597: @129319
45839 /* 129319 */ GIM_Try, /*On fail goto*//*Label 3601*/ GIMT_Encode4(129474),
45840 /* 129324 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
45841 /* 129327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
45842 /* 129331 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
45843 /* 129336 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45844 /* 129340 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3602*/ GIMT_Encode4(129370), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12601 //
45845 /* 129347 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45846 /* 129351 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45847 /* 129357 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45848 /* 129359 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45849 /* 129361 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i16] }, VR128X:{ *:[v8i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZ128kr:{ *:[v8i1] } VR128X:{ *:[v8i16] }:$src)
45850 /* 129361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZ128kr),
45851 /* 129364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45852 /* 129366 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
45853 /* 129368 */ GIR_RootConstrainSelectedInstOperands,
45854 /* 129369 */ // GIR_Coverage, 12601,
45855 /* 129369 */ GIR_EraseRootFromParent_Done,
45856 /* 129370 */ // Label 3602: @129370
45857 /* 129370 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3603*/ GIMT_Encode4(129473), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 21802 //
45858 /* 129377 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45859 /* 129381 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45860 /* 129387 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45861 /* 129389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45862 /* 129391 */ // (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] })
45863 /* 129391 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
45864 /* 129394 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45865 /* 129398 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45866 /* 129403 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45867 /* 129405 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
45868 /* 129408 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45869 /* 129412 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45870 /* 129417 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45871 /* 129420 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
45872 /* 129424 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
45873 /* 129427 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45874 /* 129432 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45875 /* 129437 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45876 /* 129442 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
45877 /* 129445 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
45878 /* 129449 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45879 /* 129454 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45880 /* 129457 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45881 /* 129459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45882 /* 129462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45883 /* 129464 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
45884 /* 129467 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
45885 /* 129472 */ // GIR_Coverage, 21802,
45886 /* 129472 */ GIR_EraseRootFromParent_Done,
45887 /* 129473 */ // Label 3603: @129473
45888 /* 129473 */ GIM_Reject,
45889 /* 129474 */ // Label 3601: @129474
45890 /* 129474 */ GIM_Reject,
45891 /* 129475 */ // Label 3598: @129475
45892 /* 129475 */ GIM_Try, /*On fail goto*//*Label 3604*/ GIMT_Encode4(129630),
45893 /* 129480 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
45894 /* 129483 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
45895 /* 129487 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
45896 /* 129492 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45897 /* 129496 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3605*/ GIMT_Encode4(129526), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 12603 //
45898 /* 129503 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45899 /* 129507 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45900 /* 129513 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45901 /* 129515 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45902 /* 129517 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i32] }, VR256X:{ *:[v8i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZ256kr:{ *:[v8i1] } VR256X:{ *:[v8i32] }:$src)
45903 /* 129517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZ256kr),
45904 /* 129520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45905 /* 129522 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
45906 /* 129524 */ GIR_RootConstrainSelectedInstOperands,
45907 /* 129525 */ // GIR_Coverage, 12603,
45908 /* 129525 */ GIR_EraseRootFromParent_Done,
45909 /* 129526 */ // Label 3605: @129526
45910 /* 129526 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3606*/ GIMT_Encode4(129629), GIMT_Encode2(GIFBS_HasDQI_NoVLX), // Rule ID 21803 //
45911 /* 129533 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45912 /* 129537 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45913 /* 129543 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45914 /* 129545 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45915 /* 129547 */ // (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] })
45916 /* 129547 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
45917 /* 129550 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45918 /* 129554 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45919 /* 129559 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45920 /* 129561 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
45921 /* 129564 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45922 /* 129568 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45923 /* 129573 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45924 /* 129576 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
45925 /* 129580 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
45926 /* 129583 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45927 /* 129588 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45928 /* 129593 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45929 /* 129598 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
45930 /* 129601 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
45931 /* 129605 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45932 /* 129610 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45933 /* 129613 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45934 /* 129615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45935 /* 129618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45936 /* 129620 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
45937 /* 129623 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
45938 /* 129628 */ // GIR_Coverage, 21803,
45939 /* 129628 */ GIR_EraseRootFromParent_Done,
45940 /* 129629 */ // Label 3606: @129629
45941 /* 129629 */ GIM_Reject,
45942 /* 129630 */ // Label 3604: @129630
45943 /* 129630 */ GIM_Reject,
45944 /* 129631 */ // Label 3599: @129631
45945 /* 129631 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3607*/ GIMT_Encode4(129677), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 12605 //
45946 /* 129638 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
45947 /* 129641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
45948 /* 129645 */ // MIs[0] Operand 1
45949 /* 129645 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
45950 /* 129650 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45951 /* 129654 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45952 /* 129660 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45953 /* 129662 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45954 /* 129666 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45955 /* 129668 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i64] }, VR512:{ *:[v8i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZkr:{ *:[v8i1] } VR512:{ *:[v8i64] }:$src)
45956 /* 129668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
45957 /* 129671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45958 /* 129673 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
45959 /* 129675 */ GIR_RootConstrainSelectedInstOperands,
45960 /* 129676 */ // GIR_Coverage, 12605,
45961 /* 129676 */ GIR_EraseRootFromParent_Done,
45962 /* 129677 */ // Label 3607: @129677
45963 /* 129677 */ GIM_Reject,
45964 /* 129678 */ // Label 3600: @129678
45965 /* 129678 */ GIM_Reject,
45966 /* 129679 */ // Label 3581: @129679
45967 /* 129679 */ GIM_SwitchType, /*MI*/0, /*Op*/2, /*[*/GIMT_Encode2(13), GIMT_Encode2(22), /*)*//*default:*//*Label 3611*/ GIMT_Encode4(130085),
45968 /* 129690 */ /*GILLT_v16s8*//*Label 3608*/ GIMT_Encode4(129726), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
45969 /* 129706 */ /*GILLT_v16s16*//*Label 3609*/ GIMT_Encode4(129882), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
45970 /* 129722 */ /*GILLT_v16s32*//*Label 3610*/ GIMT_Encode4(130038),
45971 /* 129726 */ // Label 3608: @129726
45972 /* 129726 */ GIM_Try, /*On fail goto*//*Label 3612*/ GIMT_Encode4(129881),
45973 /* 129731 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
45974 /* 129734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
45975 /* 129738 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
45976 /* 129743 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45977 /* 129747 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3613*/ GIMT_Encode4(129777), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12598 //
45978 /* 129754 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45979 /* 129758 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45980 /* 129764 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45981 /* 129766 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45982 /* 129768 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i8] }, VR128X:{ *:[v16i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZ128kr:{ *:[v16i1] } VR128X:{ *:[v16i8] }:$src)
45983 /* 129768 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZ128kr),
45984 /* 129771 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45985 /* 129773 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
45986 /* 129775 */ GIR_RootConstrainSelectedInstOperands,
45987 /* 129776 */ // GIR_Coverage, 12598,
45988 /* 129776 */ GIR_EraseRootFromParent_Done,
45989 /* 129777 */ // Label 3613: @129777
45990 /* 129777 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3614*/ GIMT_Encode4(129880), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 21800 //
45991 /* 129784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45992 /* 129788 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
45993 /* 129794 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
45994 /* 129796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45995 /* 129798 */ // (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] })
45996 /* 129798 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
45997 /* 129801 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45998 /* 129805 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45999 /* 129810 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46000 /* 129812 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
46001 /* 129815 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46002 /* 129819 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46003 /* 129824 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46004 /* 129827 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46005 /* 129831 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46006 /* 129834 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46007 /* 129839 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46008 /* 129844 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46009 /* 129849 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s1,
46010 /* 129852 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
46011 /* 129856 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46012 /* 129861 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46013 /* 129864 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46014 /* 129866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46015 /* 129869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46016 /* 129871 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46017 /* 129874 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
46018 /* 129879 */ // GIR_Coverage, 21800,
46019 /* 129879 */ GIR_EraseRootFromParent_Done,
46020 /* 129880 */ // Label 3614: @129880
46021 /* 129880 */ GIM_Reject,
46022 /* 129881 */ // Label 3612: @129881
46023 /* 129881 */ GIM_Reject,
46024 /* 129882 */ // Label 3609: @129882
46025 /* 129882 */ GIM_Try, /*On fail goto*//*Label 3615*/ GIMT_Encode4(130037),
46026 /* 129887 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
46027 /* 129890 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
46028 /* 129894 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46029 /* 129899 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46030 /* 129903 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3616*/ GIMT_Encode4(129933), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12600 //
46031 /* 129910 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46032 /* 129914 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46033 /* 129920 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46034 /* 129922 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46035 /* 129924 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i16] }, VR256X:{ *:[v16i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZ256kr:{ *:[v16i1] } VR256X:{ *:[v16i16] }:$src)
46036 /* 129924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZ256kr),
46037 /* 129927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46038 /* 129929 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46039 /* 129931 */ GIR_RootConstrainSelectedInstOperands,
46040 /* 129932 */ // GIR_Coverage, 12600,
46041 /* 129932 */ GIR_EraseRootFromParent_Done,
46042 /* 129933 */ // Label 3616: @129933
46043 /* 129933 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3617*/ GIMT_Encode4(130036), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 21801 //
46044 /* 129940 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46045 /* 129944 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46046 /* 129950 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46047 /* 129952 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46048 /* 129954 */ // (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] })
46049 /* 129954 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46050 /* 129957 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46051 /* 129961 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46052 /* 129966 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46053 /* 129968 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
46054 /* 129971 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46055 /* 129975 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46056 /* 129980 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46057 /* 129983 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46058 /* 129987 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46059 /* 129990 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46060 /* 129995 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46061 /* 130000 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46062 /* 130005 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
46063 /* 130008 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
46064 /* 130012 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46065 /* 130017 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46066 /* 130020 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46067 /* 130022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46068 /* 130025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46069 /* 130027 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46070 /* 130030 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
46071 /* 130035 */ // GIR_Coverage, 21801,
46072 /* 130035 */ GIR_EraseRootFromParent_Done,
46073 /* 130036 */ // Label 3617: @130036
46074 /* 130036 */ GIM_Reject,
46075 /* 130037 */ // Label 3615: @130037
46076 /* 130037 */ GIM_Reject,
46077 /* 130038 */ // Label 3610: @130038
46078 /* 130038 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3618*/ GIMT_Encode4(130084), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 12602 //
46079 /* 130045 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
46080 /* 130048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
46081 /* 130052 */ // MIs[0] Operand 1
46082 /* 130052 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46083 /* 130057 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46084 /* 130061 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46085 /* 130067 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46086 /* 130069 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46087 /* 130073 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46088 /* 130075 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZkr:{ *:[v16i1] } VR512:{ *:[v16i32] }:$src)
46089 /* 130075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
46090 /* 130078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46091 /* 130080 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46092 /* 130082 */ GIR_RootConstrainSelectedInstOperands,
46093 /* 130083 */ // GIR_Coverage, 12602,
46094 /* 130083 */ GIR_EraseRootFromParent_Done,
46095 /* 130084 */ // Label 3618: @130084
46096 /* 130084 */ GIM_Reject,
46097 /* 130085 */ // Label 3611: @130085
46098 /* 130085 */ GIM_Reject,
46099 /* 130086 */ // Label 3582: @130086
46100 /* 130086 */ GIM_SwitchType, /*MI*/0, /*Op*/2, /*[*/GIMT_Encode2(14), GIMT_Encode2(19), /*)*//*default:*//*Label 3621*/ GIMT_Encode4(130320),
46101 /* 130097 */ /*GILLT_v32s8*//*Label 3619*/ GIMT_Encode4(130117), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
46102 /* 130113 */ /*GILLT_v32s16*//*Label 3620*/ GIMT_Encode4(130273),
46103 /* 130117 */ // Label 3619: @130117
46104 /* 130117 */ GIM_Try, /*On fail goto*//*Label 3622*/ GIMT_Encode4(130272),
46105 /* 130122 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
46106 /* 130125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
46107 /* 130129 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46108 /* 130134 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46109 /* 130138 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3623*/ GIMT_Encode4(130168), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 12597 //
46110 /* 130145 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46111 /* 130149 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46112 /* 130155 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46113 /* 130157 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46114 /* 130159 */ // (setcc:{ *:[v32i1] } immAllZerosV:{ *:[v32i8] }, VR256X:{ *:[v32i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZ256kr:{ *:[v32i1] } VR256X:{ *:[v32i8] }:$src)
46115 /* 130159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZ256kr),
46116 /* 130162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46117 /* 130164 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46118 /* 130166 */ GIR_RootConstrainSelectedInstOperands,
46119 /* 130167 */ // GIR_Coverage, 12597,
46120 /* 130167 */ GIR_EraseRootFromParent_Done,
46121 /* 130168 */ // Label 3623: @130168
46122 /* 130168 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3624*/ GIMT_Encode4(130271), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 21799 //
46123 /* 130175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46124 /* 130179 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46125 /* 130185 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46126 /* 130187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46127 /* 130189 */ // (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] })
46128 /* 130189 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
46129 /* 130192 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46130 /* 130196 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46131 /* 130201 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46132 /* 130203 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
46133 /* 130206 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46134 /* 130210 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46135 /* 130215 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46136 /* 130218 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46137 /* 130222 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46138 /* 130225 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46139 /* 130230 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46140 /* 130235 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46141 /* 130240 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s1,
46142 /* 130243 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
46143 /* 130247 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46144 /* 130252 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46145 /* 130255 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46146 /* 130257 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46147 /* 130260 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46148 /* 130262 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46149 /* 130265 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
46150 /* 130270 */ // GIR_Coverage, 21799,
46151 /* 130270 */ GIR_EraseRootFromParent_Done,
46152 /* 130271 */ // Label 3624: @130271
46153 /* 130271 */ GIM_Reject,
46154 /* 130272 */ // Label 3622: @130272
46155 /* 130272 */ GIM_Reject,
46156 /* 130273 */ // Label 3620: @130273
46157 /* 130273 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3625*/ GIMT_Encode4(130319), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 12599 //
46158 /* 130280 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
46159 /* 130283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
46160 /* 130287 */ // MIs[0] Operand 1
46161 /* 130287 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46162 /* 130292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46163 /* 130296 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46164 /* 130302 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46165 /* 130304 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46166 /* 130308 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46167 /* 130310 */ // (setcc:{ *:[v32i1] } immAllZerosV:{ *:[v32i16] }, VR512:{ *:[v32i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZkr:{ *:[v32i1] } VR512:{ *:[v32i16] }:$src)
46168 /* 130310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
46169 /* 130313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46170 /* 130315 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46171 /* 130317 */ GIR_RootConstrainSelectedInstOperands,
46172 /* 130318 */ // GIR_Coverage, 12599,
46173 /* 130318 */ GIR_EraseRootFromParent_Done,
46174 /* 130319 */ // Label 3625: @130319
46175 /* 130319 */ GIM_Reject,
46176 /* 130320 */ // Label 3621: @130320
46177 /* 130320 */ GIM_Reject,
46178 /* 130321 */ // Label 3583: @130321
46179 /* 130321 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3626*/ GIMT_Encode4(130370), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 12596 //
46180 /* 130328 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
46181 /* 130331 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
46182 /* 130334 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
46183 /* 130338 */ // MIs[0] Operand 1
46184 /* 130338 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46185 /* 130343 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46186 /* 130347 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46187 /* 130353 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46188 /* 130355 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46189 /* 130359 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46190 /* 130361 */ // (setcc:{ *:[v64i1] } immAllZerosV:{ *:[v64i8] }, VR512:{ *:[v64i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZkr:{ *:[v64i1] } VR512:{ *:[v64i8] }:$src)
46191 /* 130361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
46192 /* 130364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46193 /* 130366 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46194 /* 130368 */ GIR_RootConstrainSelectedInstOperands,
46195 /* 130369 */ // GIR_Coverage, 12596,
46196 /* 130369 */ GIR_EraseRootFromParent_Done,
46197 /* 130370 */ // Label 3626: @130370
46198 /* 130370 */ GIM_Reject,
46199 /* 130371 */ // Label 3584: @130371
46200 /* 130371 */ GIM_Reject,
46201 /* 130372 */ // Label 37: @130372
46202 /* 130372 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 3639*/ GIMT_Encode4(137749),
46203 /* 130383 */ /*GILLT_v16s8*//*Label 3627*/ GIMT_Encode4(130431),
46204 /* 130387 */ /*GILLT_v32s8*//*Label 3628*/ GIMT_Encode4(130867),
46205 /* 130391 */ /*GILLT_v64s8*//*Label 3629*/ GIMT_Encode4(131269),
46206 /* 130395 */ /*GILLT_v8s16*//*Label 3630*/ GIMT_Encode4(131353),
46207 /* 130399 */ /*GILLT_v16s16*//*Label 3631*/ GIMT_Encode4(132453),
46208 /* 130403 */ /*GILLT_v32s16*//*Label 3632*/ GIMT_Encode4(133485),
46209 /* 130407 */ /*GILLT_v4s32*//*Label 3633*/ GIMT_Encode4(133893),
46210 /* 130411 */ /*GILLT_v8s32*//*Label 3634*/ GIMT_Encode4(134717),
46211 /* 130415 */ /*GILLT_v16s32*//*Label 3635*/ GIMT_Encode4(135483),
46212 /* 130419 */ /*GILLT_v2s64*//*Label 3636*/ GIMT_Encode4(135801),
46213 /* 130423 */ /*GILLT_v4s64*//*Label 3637*/ GIMT_Encode4(136625),
46214 /* 130427 */ /*GILLT_v8s64*//*Label 3638*/ GIMT_Encode4(137391),
46215 /* 130431 */ // Label 3627: @130431
46216 /* 130431 */ GIM_Try, /*On fail goto*//*Label 3640*/ GIMT_Encode4(130866),
46217 /* 130436 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
46218 /* 130439 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
46219 /* 130442 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
46220 /* 130445 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3641*/ GIMT_Encode4(130489), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4558 //
46221 /* 130452 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46222 /* 130456 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
46223 /* 130460 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46224 /* 130464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46225 /* 130468 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46226 /* 130474 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46227 /* 130476 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46228 /* 130478 */ // (vselect:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src, immAllZerosV:{ *:[v16i8] }) => (VMOVDQU8Z128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
46229 /* 130478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z128rrkz),
46230 /* 130481 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46231 /* 130483 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46232 /* 130485 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
46233 /* 130487 */ GIR_RootConstrainSelectedInstOperands,
46234 /* 130488 */ // GIR_Coverage, 4558,
46235 /* 130488 */ GIR_EraseRootFromParent_Done,
46236 /* 130489 */ // Label 3641: @130489
46237 /* 130489 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3642*/ GIMT_Encode4(130637), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19896 //
46238 /* 130496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
46239 /* 130500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
46240 /* 130504 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46241 /* 130508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46242 /* 130512 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46243 /* 130518 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46244 /* 130520 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46245 /* 130522 */ // (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] })
46246 /* 130522 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s8,
46247 /* 130525 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46248 /* 130529 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46249 /* 130534 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
46250 /* 130536 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
46251 /* 130539 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46252 /* 130543 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46253 /* 130548 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
46254 /* 130551 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
46255 /* 130555 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
46256 /* 130558 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46257 /* 130563 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46258 /* 130568 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46259 /* 130573 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s1,
46260 /* 130576 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46261 /* 130580 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46262 /* 130585 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
46263 /* 130589 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
46264 /* 130594 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
46265 /* 130597 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
46266 /* 130601 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46267 /* 130606 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46268 /* 130609 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
46269 /* 130612 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46270 /* 130614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46271 /* 130617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46272 /* 130619 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46273 /* 130626 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46274 /* 130631 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46275 /* 130636 */ // GIR_Coverage, 19896,
46276 /* 130636 */ GIR_EraseRootFromParent_Done,
46277 /* 130637 */ // Label 3642: @130637
46278 /* 130637 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3643*/ GIMT_Encode4(130673), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4559 //
46279 /* 130644 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46280 /* 130648 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
46281 /* 130652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46282 /* 130656 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46283 /* 130660 */ // (vselect:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src0) => (VMOVDQU8Z128rrk:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src1)
46284 /* 130660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z128rrk),
46285 /* 130663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46286 /* 130665 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46287 /* 130667 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46288 /* 130669 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
46289 /* 130671 */ GIR_RootConstrainSelectedInstOperands,
46290 /* 130672 */ // GIR_Coverage, 4559,
46291 /* 130672 */ GIR_EraseRootFromParent_Done,
46292 /* 130673 */ // Label 3643: @130673
46293 /* 130673 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3644*/ GIMT_Encode4(130865), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19895 //
46294 /* 130680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
46295 /* 130684 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
46296 /* 130688 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46297 /* 130692 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46298 /* 130696 */ // (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] })
46299 /* 130696 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v64s8,
46300 /* 130699 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46301 /* 130703 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46302 /* 130708 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
46303 /* 130710 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v64s8,
46304 /* 130713 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46305 /* 130717 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46306 /* 130722 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
46307 /* 130725 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
46308 /* 130729 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
46309 /* 130732 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46310 /* 130737 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46311 /* 130742 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46312 /* 130747 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s1,
46313 /* 130750 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46314 /* 130754 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46315 /* 130759 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
46316 /* 130763 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
46317 /* 130768 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
46318 /* 130771 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46319 /* 130775 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46320 /* 130780 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46321 /* 130782 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
46322 /* 130785 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46323 /* 130789 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46324 /* 130794 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46325 /* 130797 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
46326 /* 130801 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46327 /* 130804 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46328 /* 130809 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46329 /* 130814 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46330 /* 130819 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
46331 /* 130822 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
46332 /* 130826 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46333 /* 130831 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46334 /* 130834 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46335 /* 130837 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
46336 /* 130840 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46337 /* 130842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46338 /* 130845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46339 /* 130847 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46340 /* 130854 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46341 /* 130859 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46342 /* 130864 */ // GIR_Coverage, 19895,
46343 /* 130864 */ GIR_EraseRootFromParent_Done,
46344 /* 130865 */ // Label 3644: @130865
46345 /* 130865 */ GIM_Reject,
46346 /* 130866 */ // Label 3640: @130866
46347 /* 130866 */ GIM_Reject,
46348 /* 130867 */ // Label 3628: @130867
46349 /* 130867 */ GIM_Try, /*On fail goto*//*Label 3645*/ GIMT_Encode4(131268),
46350 /* 130872 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
46351 /* 130875 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
46352 /* 130878 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
46353 /* 130881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46354 /* 130885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
46355 /* 130889 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46356 /* 130893 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3646*/ GIMT_Encode4(130925), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4554 //
46357 /* 130900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46358 /* 130904 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46359 /* 130910 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46360 /* 130912 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46361 /* 130914 */ // (vselect:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src, immAllZerosV:{ *:[v32i8] }) => (VMOVDQU8Z256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
46362 /* 130914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z256rrkz),
46363 /* 130917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46364 /* 130919 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46365 /* 130921 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
46366 /* 130923 */ GIR_RootConstrainSelectedInstOperands,
46367 /* 130924 */ // GIR_Coverage, 4554,
46368 /* 130924 */ GIR_EraseRootFromParent_Done,
46369 /* 130925 */ // Label 3646: @130925
46370 /* 130925 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3647*/ GIMT_Encode4(131061), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19898 //
46371 /* 130932 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46372 /* 130936 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46373 /* 130942 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46374 /* 130944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46375 /* 130946 */ // (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] })
46376 /* 130946 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s8,
46377 /* 130949 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46378 /* 130953 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46379 /* 130958 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
46380 /* 130960 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
46381 /* 130963 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46382 /* 130967 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46383 /* 130972 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
46384 /* 130975 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
46385 /* 130979 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
46386 /* 130982 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46387 /* 130987 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46388 /* 130992 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46389 /* 130997 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s1,
46390 /* 131000 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46391 /* 131004 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46392 /* 131009 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
46393 /* 131013 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
46394 /* 131018 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
46395 /* 131021 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
46396 /* 131025 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46397 /* 131030 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46398 /* 131033 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
46399 /* 131036 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46400 /* 131038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46401 /* 131041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46402 /* 131043 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
46403 /* 131050 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
46404 /* 131055 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46405 /* 131060 */ // GIR_Coverage, 19898,
46406 /* 131060 */ GIR_EraseRootFromParent_Done,
46407 /* 131061 */ // Label 3647: @131061
46408 /* 131061 */ GIM_Try, /*On fail goto*//*Label 3648*/ GIMT_Encode4(131267),
46409 /* 131066 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46410 /* 131070 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3649*/ GIMT_Encode4(131090), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4555 //
46411 /* 131077 */ // (vselect:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src0) => (VMOVDQU8Z256rrk:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src1)
46412 /* 131077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z256rrk),
46413 /* 131080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46414 /* 131082 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46415 /* 131084 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46416 /* 131086 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
46417 /* 131088 */ GIR_RootConstrainSelectedInstOperands,
46418 /* 131089 */ // GIR_Coverage, 4555,
46419 /* 131089 */ GIR_EraseRootFromParent_Done,
46420 /* 131090 */ // Label 3649: @131090
46421 /* 131090 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3650*/ GIMT_Encode4(131266), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19897 //
46422 /* 131097 */ // (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] })
46423 /* 131097 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v64s8,
46424 /* 131100 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46425 /* 131104 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46426 /* 131109 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
46427 /* 131111 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v64s8,
46428 /* 131114 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46429 /* 131118 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46430 /* 131123 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
46431 /* 131126 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
46432 /* 131130 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
46433 /* 131133 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46434 /* 131138 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46435 /* 131143 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46436 /* 131148 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s1,
46437 /* 131151 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46438 /* 131155 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46439 /* 131160 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
46440 /* 131164 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
46441 /* 131169 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
46442 /* 131172 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46443 /* 131176 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46444 /* 131181 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46445 /* 131183 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
46446 /* 131186 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46447 /* 131190 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46448 /* 131195 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46449 /* 131198 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
46450 /* 131202 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46451 /* 131205 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46452 /* 131210 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46453 /* 131215 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46454 /* 131220 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
46455 /* 131223 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
46456 /* 131227 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46457 /* 131232 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46458 /* 131235 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46459 /* 131238 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
46460 /* 131241 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46461 /* 131243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46462 /* 131246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46463 /* 131248 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
46464 /* 131255 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
46465 /* 131260 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46466 /* 131265 */ // GIR_Coverage, 19897,
46467 /* 131265 */ GIR_EraseRootFromParent_Done,
46468 /* 131266 */ // Label 3650: @131266
46469 /* 131266 */ GIM_Reject,
46470 /* 131267 */ // Label 3648: @131267
46471 /* 131267 */ GIM_Reject,
46472 /* 131268 */ // Label 3645: @131268
46473 /* 131268 */ GIM_Reject,
46474 /* 131269 */ // Label 3629: @131269
46475 /* 131269 */ GIM_Try, /*On fail goto*//*Label 3651*/ GIMT_Encode4(131352),
46476 /* 131274 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
46477 /* 131277 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
46478 /* 131280 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
46479 /* 131283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46480 /* 131287 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64WMRegClassID),
46481 /* 131291 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46482 /* 131295 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3652*/ GIMT_Encode4(131327), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4550 //
46483 /* 131302 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46484 /* 131306 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46485 /* 131312 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46486 /* 131314 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46487 /* 131316 */ // (vselect:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src, immAllZerosV:{ *:[v64i8] }) => (VMOVDQU8Zrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
46488 /* 131316 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
46489 /* 131319 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46490 /* 131321 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46491 /* 131323 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
46492 /* 131325 */ GIR_RootConstrainSelectedInstOperands,
46493 /* 131326 */ // GIR_Coverage, 4550,
46494 /* 131326 */ GIR_EraseRootFromParent_Done,
46495 /* 131327 */ // Label 3652: @131327
46496 /* 131327 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3653*/ GIMT_Encode4(131351), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4551 //
46497 /* 131334 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46498 /* 131338 */ // (vselect:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src0) => (VMOVDQU8Zrrk:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src0, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src1)
46499 /* 131338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
46500 /* 131341 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46501 /* 131343 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46502 /* 131345 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46503 /* 131347 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
46504 /* 131349 */ GIR_RootConstrainSelectedInstOperands,
46505 /* 131350 */ // GIR_Coverage, 4551,
46506 /* 131350 */ GIR_EraseRootFromParent_Done,
46507 /* 131351 */ // Label 3653: @131351
46508 /* 131351 */ GIM_Reject,
46509 /* 131352 */ // Label 3651: @131352
46510 /* 131352 */ GIM_Reject,
46511 /* 131353 */ // Label 3630: @131353
46512 /* 131353 */ GIM_Try, /*On fail goto*//*Label 3654*/ GIMT_Encode4(132452),
46513 /* 131358 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
46514 /* 131361 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
46515 /* 131364 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
46516 /* 131367 */ GIM_Try, /*On fail goto*//*Label 3655*/ GIMT_Encode4(131677),
46517 /* 131372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46518 /* 131376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
46519 /* 131380 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3656*/ GIMT_Encode4(131450), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19990 //
46520 /* 131387 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46521 /* 131391 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46522 /* 131395 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46523 /* 131398 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46524 /* 131402 */ GIM_CheckMemoryAlignment, /*MI*/1, /*MMO*/0, /*MinAlign*/16,
46525 /* 131406 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46526 /* 131410 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
46527 /* 131414 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46528 /* 131420 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
46529 /* 131422 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
46530 /* 131424 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46531 /* 131431 */ // (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)
46532 /* 131431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmkz),
46533 /* 131434 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46534 /* 131436 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46535 /* 131438 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46536 /* 131442 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
46537 /* 131448 */ GIR_RootConstrainSelectedInstOperands,
46538 /* 131449 */ // GIR_Coverage, 19990,
46539 /* 131449 */ GIR_EraseRootFromParent_Done,
46540 /* 131450 */ // Label 3656: @131450
46541 /* 131450 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3657*/ GIMT_Encode4(131516), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19992 //
46542 /* 131457 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46543 /* 131461 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46544 /* 131465 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46545 /* 131468 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46546 /* 131472 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46547 /* 131476 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
46548 /* 131480 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46549 /* 131486 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
46550 /* 131488 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
46551 /* 131490 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46552 /* 131497 */ // (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)
46553 /* 131497 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmkz),
46554 /* 131500 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46555 /* 131502 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46556 /* 131504 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46557 /* 131508 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
46558 /* 131514 */ GIR_RootConstrainSelectedInstOperands,
46559 /* 131515 */ // GIR_Coverage, 19992,
46560 /* 131515 */ GIR_EraseRootFromParent_Done,
46561 /* 131516 */ // Label 3657: @131516
46562 /* 131516 */ GIM_Try, /*On fail goto*//*Label 3658*/ GIMT_Encode4(131640),
46563 /* 131521 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46564 /* 131525 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3659*/ GIMT_Encode4(131584), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19989 //
46565 /* 131532 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46566 /* 131536 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46567 /* 131540 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46568 /* 131543 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46569 /* 131547 */ GIM_CheckMemoryAlignment, /*MI*/1, /*MMO*/0, /*MinAlign*/16,
46570 /* 131551 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46571 /* 131555 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46572 /* 131557 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46573 /* 131564 */ // (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)
46574 /* 131564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmk),
46575 /* 131567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46576 /* 131569 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46577 /* 131571 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46578 /* 131573 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46579 /* 131577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46580 /* 131582 */ GIR_RootConstrainSelectedInstOperands,
46581 /* 131583 */ // GIR_Coverage, 19989,
46582 /* 131583 */ GIR_EraseRootFromParent_Done,
46583 /* 131584 */ // Label 3659: @131584
46584 /* 131584 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3660*/ GIMT_Encode4(131639), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19991 //
46585 /* 131591 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46586 /* 131595 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46587 /* 131599 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46588 /* 131602 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46589 /* 131606 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46590 /* 131610 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46591 /* 131612 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46592 /* 131619 */ // (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)
46593 /* 131619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmk),
46594 /* 131622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46595 /* 131624 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46596 /* 131626 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46597 /* 131628 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46598 /* 131632 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46599 /* 131637 */ GIR_RootConstrainSelectedInstOperands,
46600 /* 131638 */ // GIR_Coverage, 19991,
46601 /* 131638 */ GIR_EraseRootFromParent_Done,
46602 /* 131639 */ // Label 3660: @131639
46603 /* 131639 */ GIM_Reject,
46604 /* 131640 */ // Label 3658: @131640
46605 /* 131640 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3661*/ GIMT_Encode4(131676), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4570 //
46606 /* 131647 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46607 /* 131651 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46608 /* 131655 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46609 /* 131661 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46610 /* 131663 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46611 /* 131665 */ // (vselect:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src, immAllZerosV:{ *:[v8i16] }) => (VMOVDQU16Z128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
46612 /* 131665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrkz),
46613 /* 131668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46614 /* 131670 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46615 /* 131672 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
46616 /* 131674 */ GIR_RootConstrainSelectedInstOperands,
46617 /* 131675 */ // GIR_Coverage, 4570,
46618 /* 131675 */ GIR_EraseRootFromParent_Done,
46619 /* 131676 */ // Label 3661: @131676
46620 /* 131676 */ GIM_Reject,
46621 /* 131677 */ // Label 3655: @131677
46622 /* 131677 */ GIM_Try, /*On fail goto*//*Label 3662*/ GIMT_Encode4(131967),
46623 /* 131682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
46624 /* 131686 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
46625 /* 131690 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46626 /* 131694 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3663*/ GIMT_Encode4(131830), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19900 //
46627 /* 131701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46628 /* 131705 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46629 /* 131711 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46630 /* 131713 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46631 /* 131715 */ // (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] })
46632 /* 131715 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
46633 /* 131718 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46634 /* 131722 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46635 /* 131727 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
46636 /* 131729 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46637 /* 131732 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46638 /* 131736 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46639 /* 131741 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
46640 /* 131744 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
46641 /* 131748 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
46642 /* 131751 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46643 /* 131756 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46644 /* 131761 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46645 /* 131766 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
46646 /* 131769 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46647 /* 131773 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46648 /* 131778 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
46649 /* 131782 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
46650 /* 131787 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
46651 /* 131790 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
46652 /* 131794 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46653 /* 131799 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46654 /* 131802 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
46655 /* 131805 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46656 /* 131807 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46657 /* 131810 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46658 /* 131812 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46659 /* 131819 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46660 /* 131824 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46661 /* 131829 */ // GIR_Coverage, 19900,
46662 /* 131829 */ GIR_EraseRootFromParent_Done,
46663 /* 131830 */ // Label 3663: @131830
46664 /* 131830 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3664*/ GIMT_Encode4(131966), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19904 //
46665 /* 131837 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46666 /* 131841 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46667 /* 131847 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46668 /* 131849 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46669 /* 131851 */ // (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] })
46670 /* 131851 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
46671 /* 131854 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46672 /* 131858 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46673 /* 131863 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
46674 /* 131865 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46675 /* 131868 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46676 /* 131872 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46677 /* 131877 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
46678 /* 131880 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
46679 /* 131884 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
46680 /* 131887 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46681 /* 131892 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46682 /* 131897 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46683 /* 131902 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
46684 /* 131905 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46685 /* 131909 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46686 /* 131914 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
46687 /* 131918 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
46688 /* 131923 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
46689 /* 131926 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
46690 /* 131930 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46691 /* 131935 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46692 /* 131938 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
46693 /* 131941 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46694 /* 131943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46695 /* 131946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46696 /* 131948 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46697 /* 131955 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46698 /* 131960 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46699 /* 131965 */ // GIR_Coverage, 19904,
46700 /* 131965 */ GIR_EraseRootFromParent_Done,
46701 /* 131966 */ // Label 3664: @131966
46702 /* 131966 */ GIM_Reject,
46703 /* 131967 */ // Label 3662: @131967
46704 /* 131967 */ GIM_Try, /*On fail goto*//*Label 3665*/ GIMT_Encode4(132041),
46705 /* 131972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46706 /* 131976 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
46707 /* 131980 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46708 /* 131984 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3666*/ GIMT_Encode4(132016), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19988 //
46709 /* 131991 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46710 /* 131995 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46711 /* 132001 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46712 /* 132003 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46713 /* 132005 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1, immAllZerosV:{ *:[v8f16] }) => (VMOVDQU16Z128rrkz:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1)
46714 /* 132005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrkz),
46715 /* 132008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46716 /* 132010 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46717 /* 132012 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
46718 /* 132014 */ GIR_RootConstrainSelectedInstOperands,
46719 /* 132015 */ // GIR_Coverage, 19988,
46720 /* 132015 */ GIR_EraseRootFromParent_Done,
46721 /* 132016 */ // Label 3666: @132016
46722 /* 132016 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3667*/ GIMT_Encode4(132040), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4571 //
46723 /* 132023 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46724 /* 132027 */ // (vselect:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src0) => (VMOVDQU16Z128rrk:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src1)
46725 /* 132027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrk),
46726 /* 132030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46727 /* 132032 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46728 /* 132034 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46729 /* 132036 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
46730 /* 132038 */ GIR_RootConstrainSelectedInstOperands,
46731 /* 132039 */ // GIR_Coverage, 4571,
46732 /* 132039 */ GIR_EraseRootFromParent_Done,
46733 /* 132040 */ // Label 3667: @132040
46734 /* 132040 */ GIM_Reject,
46735 /* 132041 */ // Label 3665: @132041
46736 /* 132041 */ GIM_Try, /*On fail goto*//*Label 3668*/ GIMT_Encode4(132415),
46737 /* 132046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
46738 /* 132050 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
46739 /* 132054 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46740 /* 132058 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46741 /* 132062 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3669*/ GIMT_Encode4(132238), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19899 //
46742 /* 132069 */ // (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] })
46743 /* 132069 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
46744 /* 132072 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46745 /* 132076 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46746 /* 132081 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
46747 /* 132083 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
46748 /* 132086 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46749 /* 132090 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46750 /* 132095 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
46751 /* 132098 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
46752 /* 132102 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
46753 /* 132105 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46754 /* 132110 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46755 /* 132115 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46756 /* 132120 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
46757 /* 132123 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46758 /* 132127 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46759 /* 132132 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
46760 /* 132136 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
46761 /* 132141 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46762 /* 132144 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46763 /* 132148 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46764 /* 132153 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46765 /* 132155 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
46766 /* 132158 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46767 /* 132162 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46768 /* 132167 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46769 /* 132170 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
46770 /* 132174 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46771 /* 132177 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46772 /* 132182 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46773 /* 132187 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46774 /* 132192 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
46775 /* 132195 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
46776 /* 132199 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46777 /* 132204 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46778 /* 132207 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46779 /* 132210 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
46780 /* 132213 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46781 /* 132215 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46782 /* 132218 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46783 /* 132220 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46784 /* 132227 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46785 /* 132232 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46786 /* 132237 */ // GIR_Coverage, 19899,
46787 /* 132237 */ GIR_EraseRootFromParent_Done,
46788 /* 132238 */ // Label 3669: @132238
46789 /* 132238 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3670*/ GIMT_Encode4(132414), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19903 //
46790 /* 132245 */ // (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] })
46791 /* 132245 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
46792 /* 132248 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46793 /* 132252 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46794 /* 132257 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
46795 /* 132259 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
46796 /* 132262 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46797 /* 132266 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46798 /* 132271 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
46799 /* 132274 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
46800 /* 132278 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
46801 /* 132281 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46802 /* 132286 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46803 /* 132291 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46804 /* 132296 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
46805 /* 132299 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46806 /* 132303 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46807 /* 132308 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
46808 /* 132312 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
46809 /* 132317 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46810 /* 132320 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46811 /* 132324 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46812 /* 132329 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46813 /* 132331 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
46814 /* 132334 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46815 /* 132338 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46816 /* 132343 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46817 /* 132346 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
46818 /* 132350 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46819 /* 132353 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46820 /* 132358 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46821 /* 132363 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46822 /* 132368 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
46823 /* 132371 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
46824 /* 132375 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46825 /* 132380 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46826 /* 132383 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46827 /* 132386 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
46828 /* 132389 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46829 /* 132391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46830 /* 132394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46831 /* 132396 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46832 /* 132403 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46833 /* 132408 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46834 /* 132413 */ // GIR_Coverage, 19903,
46835 /* 132413 */ GIR_EraseRootFromParent_Done,
46836 /* 132414 */ // Label 3670: @132414
46837 /* 132414 */ GIM_Reject,
46838 /* 132415 */ // Label 3668: @132415
46839 /* 132415 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3671*/ GIMT_Encode4(132451), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19987 //
46840 /* 132422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46841 /* 132426 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
46842 /* 132430 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46843 /* 132434 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46844 /* 132438 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src0) => (VMOVDQU16Z128rrk:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1)
46845 /* 132438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrk),
46846 /* 132441 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46847 /* 132443 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46848 /* 132445 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46849 /* 132447 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
46850 /* 132449 */ GIR_RootConstrainSelectedInstOperands,
46851 /* 132450 */ // GIR_Coverage, 19987,
46852 /* 132450 */ GIR_EraseRootFromParent_Done,
46853 /* 132451 */ // Label 3671: @132451
46854 /* 132451 */ GIM_Reject,
46855 /* 132452 */ // Label 3654: @132452
46856 /* 132452 */ GIM_Reject,
46857 /* 132453 */ // Label 3631: @132453
46858 /* 132453 */ GIM_Try, /*On fail goto*//*Label 3672*/ GIMT_Encode4(133484),
46859 /* 132458 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
46860 /* 132461 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
46861 /* 132464 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
46862 /* 132467 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46863 /* 132471 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
46864 /* 132475 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3673*/ GIMT_Encode4(132545), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19980 //
46865 /* 132482 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46866 /* 132486 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46867 /* 132490 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46868 /* 132493 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46869 /* 132497 */ GIM_CheckMemoryAlignment, /*MI*/1, /*MMO*/0, /*MinAlign*/32,
46870 /* 132501 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46871 /* 132505 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
46872 /* 132509 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46873 /* 132515 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
46874 /* 132517 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
46875 /* 132519 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46876 /* 132526 */ // (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)
46877 /* 132526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmkz),
46878 /* 132529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46879 /* 132531 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46880 /* 132533 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46881 /* 132537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
46882 /* 132543 */ GIR_RootConstrainSelectedInstOperands,
46883 /* 132544 */ // GIR_Coverage, 19980,
46884 /* 132544 */ GIR_EraseRootFromParent_Done,
46885 /* 132545 */ // Label 3673: @132545
46886 /* 132545 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3674*/ GIMT_Encode4(132611), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19982 //
46887 /* 132552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46888 /* 132556 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46889 /* 132560 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46890 /* 132563 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46891 /* 132567 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46892 /* 132571 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
46893 /* 132575 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46894 /* 132581 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
46895 /* 132583 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
46896 /* 132585 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46897 /* 132592 */ // (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)
46898 /* 132592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmkz),
46899 /* 132595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46900 /* 132597 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46901 /* 132599 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46902 /* 132603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
46903 /* 132609 */ GIR_RootConstrainSelectedInstOperands,
46904 /* 132610 */ // GIR_Coverage, 19982,
46905 /* 132610 */ GIR_EraseRootFromParent_Done,
46906 /* 132611 */ // Label 3674: @132611
46907 /* 132611 */ GIM_Try, /*On fail goto*//*Label 3675*/ GIMT_Encode4(132735),
46908 /* 132616 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46909 /* 132620 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3676*/ GIMT_Encode4(132679), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19979 //
46910 /* 132627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46911 /* 132631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46912 /* 132635 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46913 /* 132638 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46914 /* 132642 */ GIM_CheckMemoryAlignment, /*MI*/1, /*MMO*/0, /*MinAlign*/32,
46915 /* 132646 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46916 /* 132650 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46917 /* 132652 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46918 /* 132659 */ // (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)
46919 /* 132659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmk),
46920 /* 132662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46921 /* 132664 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46922 /* 132666 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46923 /* 132668 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46924 /* 132672 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46925 /* 132677 */ GIR_RootConstrainSelectedInstOperands,
46926 /* 132678 */ // GIR_Coverage, 19979,
46927 /* 132678 */ GIR_EraseRootFromParent_Done,
46928 /* 132679 */ // Label 3676: @132679
46929 /* 132679 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3677*/ GIMT_Encode4(132734), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19981 //
46930 /* 132686 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46931 /* 132690 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46932 /* 132694 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46933 /* 132697 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46934 /* 132701 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46935 /* 132705 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46936 /* 132707 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46937 /* 132714 */ // (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)
46938 /* 132714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmk),
46939 /* 132717 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46940 /* 132719 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
46941 /* 132721 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46942 /* 132723 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46943 /* 132727 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46944 /* 132732 */ GIR_RootConstrainSelectedInstOperands,
46945 /* 132733 */ // GIR_Coverage, 19981,
46946 /* 132733 */ GIR_EraseRootFromParent_Done,
46947 /* 132734 */ // Label 3677: @132734
46948 /* 132734 */ GIM_Reject,
46949 /* 132735 */ // Label 3675: @132735
46950 /* 132735 */ GIM_Try, /*On fail goto*//*Label 3678*/ GIMT_Encode4(133483),
46951 /* 132740 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46952 /* 132744 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3679*/ GIMT_Encode4(132776), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4566 //
46953 /* 132751 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46954 /* 132755 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46955 /* 132761 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46956 /* 132763 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46957 /* 132765 */ // (vselect:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src, immAllZerosV:{ *:[v16i16] }) => (VMOVDQU16Z256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
46958 /* 132765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrkz),
46959 /* 132768 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46960 /* 132770 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
46961 /* 132772 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
46962 /* 132774 */ GIR_RootConstrainSelectedInstOperands,
46963 /* 132775 */ // GIR_Coverage, 4566,
46964 /* 132775 */ GIR_EraseRootFromParent_Done,
46965 /* 132776 */ // Label 3679: @132776
46966 /* 132776 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3680*/ GIMT_Encode4(132912), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19902 //
46967 /* 132783 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
46968 /* 132787 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46969 /* 132793 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46970 /* 132795 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46971 /* 132797 */ // (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] })
46972 /* 132797 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
46973 /* 132800 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46974 /* 132804 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46975 /* 132809 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
46976 /* 132811 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46977 /* 132814 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46978 /* 132818 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46979 /* 132823 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
46980 /* 132826 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
46981 /* 132830 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
46982 /* 132833 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46983 /* 132838 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46984 /* 132843 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46985 /* 132848 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
46986 /* 132851 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46987 /* 132855 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46988 /* 132860 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
46989 /* 132864 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
46990 /* 132869 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
46991 /* 132872 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
46992 /* 132876 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46993 /* 132881 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46994 /* 132884 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
46995 /* 132887 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46996 /* 132889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46997 /* 132892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46998 /* 132894 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
46999 /* 132901 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47000 /* 132906 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47001 /* 132911 */ // GIR_Coverage, 19902,
47002 /* 132911 */ GIR_EraseRootFromParent_Done,
47003 /* 132912 */ // Label 3680: @132912
47004 /* 132912 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3681*/ GIMT_Encode4(133048), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19906 //
47005 /* 132919 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47006 /* 132923 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47007 /* 132929 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47008 /* 132931 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47009 /* 132933 */ // (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] })
47010 /* 132933 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
47011 /* 132936 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47012 /* 132940 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47013 /* 132945 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47014 /* 132947 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
47015 /* 132950 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47016 /* 132954 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47017 /* 132959 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47018 /* 132962 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47019 /* 132966 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
47020 /* 132969 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47021 /* 132974 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47022 /* 132979 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47023 /* 132984 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
47024 /* 132987 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47025 /* 132991 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47026 /* 132996 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47027 /* 133000 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
47028 /* 133005 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
47029 /* 133008 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
47030 /* 133012 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47031 /* 133017 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47032 /* 133020 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47033 /* 133023 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47034 /* 133025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47035 /* 133028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47036 /* 133030 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47037 /* 133037 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47038 /* 133042 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47039 /* 133047 */ // GIR_Coverage, 19906,
47040 /* 133047 */ GIR_EraseRootFromParent_Done,
47041 /* 133048 */ // Label 3681: @133048
47042 /* 133048 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3682*/ GIMT_Encode4(133080), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19978 //
47043 /* 133055 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47044 /* 133059 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47045 /* 133065 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47046 /* 133067 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47047 /* 133069 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1, immAllZerosV:{ *:[v16f16] }) => (VMOVDQU16Z256rrkz:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1)
47048 /* 133069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrkz),
47049 /* 133072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47050 /* 133074 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47051 /* 133076 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47052 /* 133078 */ GIR_RootConstrainSelectedInstOperands,
47053 /* 133079 */ // GIR_Coverage, 19978,
47054 /* 133079 */ GIR_EraseRootFromParent_Done,
47055 /* 133080 */ // Label 3682: @133080
47056 /* 133080 */ GIM_Try, /*On fail goto*//*Label 3683*/ GIMT_Encode4(133482),
47057 /* 133085 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47058 /* 133089 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3684*/ GIMT_Encode4(133109), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4567 //
47059 /* 133096 */ // (vselect:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src0) => (VMOVDQU16Z256rrk:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src1)
47060 /* 133096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrk),
47061 /* 133099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47062 /* 133101 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47063 /* 133103 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47064 /* 133105 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47065 /* 133107 */ GIR_RootConstrainSelectedInstOperands,
47066 /* 133108 */ // GIR_Coverage, 4567,
47067 /* 133108 */ GIR_EraseRootFromParent_Done,
47068 /* 133109 */ // Label 3684: @133109
47069 /* 133109 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3685*/ GIMT_Encode4(133285), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19901 //
47070 /* 133116 */ // (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] })
47071 /* 133116 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
47072 /* 133119 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47073 /* 133123 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47074 /* 133128 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47075 /* 133130 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
47076 /* 133133 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47077 /* 133137 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47078 /* 133142 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47079 /* 133145 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47080 /* 133149 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
47081 /* 133152 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47082 /* 133157 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47083 /* 133162 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47084 /* 133167 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
47085 /* 133170 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47086 /* 133174 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47087 /* 133179 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47088 /* 133183 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
47089 /* 133188 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
47090 /* 133191 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47091 /* 133195 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47092 /* 133200 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47093 /* 133202 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
47094 /* 133205 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47095 /* 133209 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47096 /* 133214 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47097 /* 133217 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47098 /* 133221 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
47099 /* 133224 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47100 /* 133229 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47101 /* 133234 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47102 /* 133239 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
47103 /* 133242 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
47104 /* 133246 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47105 /* 133251 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47106 /* 133254 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47107 /* 133257 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47108 /* 133260 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47109 /* 133262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47110 /* 133265 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47111 /* 133267 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47112 /* 133274 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47113 /* 133279 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47114 /* 133284 */ // GIR_Coverage, 19901,
47115 /* 133284 */ GIR_EraseRootFromParent_Done,
47116 /* 133285 */ // Label 3685: @133285
47117 /* 133285 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3686*/ GIMT_Encode4(133461), GIMT_Encode2(GIFBS_HasBWI_NoVLX), // Rule ID 19905 //
47118 /* 133292 */ // (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] })
47119 /* 133292 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
47120 /* 133295 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47121 /* 133299 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47122 /* 133304 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47123 /* 133306 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
47124 /* 133309 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47125 /* 133313 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47126 /* 133318 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47127 /* 133321 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47128 /* 133325 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
47129 /* 133328 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47130 /* 133333 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47131 /* 133338 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47132 /* 133343 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
47133 /* 133346 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47134 /* 133350 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47135 /* 133355 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47136 /* 133359 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
47137 /* 133364 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
47138 /* 133367 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47139 /* 133371 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47140 /* 133376 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47141 /* 133378 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
47142 /* 133381 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47143 /* 133385 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47144 /* 133390 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47145 /* 133393 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47146 /* 133397 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
47147 /* 133400 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47148 /* 133405 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47149 /* 133410 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47150 /* 133415 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
47151 /* 133418 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
47152 /* 133422 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47153 /* 133427 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47154 /* 133430 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47155 /* 133433 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47156 /* 133436 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47157 /* 133438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47158 /* 133441 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47159 /* 133443 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47160 /* 133450 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47161 /* 133455 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47162 /* 133460 */ // GIR_Coverage, 19905,
47163 /* 133460 */ GIR_EraseRootFromParent_Done,
47164 /* 133461 */ // Label 3686: @133461
47165 /* 133461 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3687*/ GIMT_Encode4(133481), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 19977 //
47166 /* 133468 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src0) => (VMOVDQU16Z256rrk:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1)
47167 /* 133468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrk),
47168 /* 133471 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47169 /* 133473 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47170 /* 133475 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47171 /* 133477 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47172 /* 133479 */ GIR_RootConstrainSelectedInstOperands,
47173 /* 133480 */ // GIR_Coverage, 19977,
47174 /* 133480 */ GIR_EraseRootFromParent_Done,
47175 /* 133481 */ // Label 3687: @133481
47176 /* 133481 */ GIM_Reject,
47177 /* 133482 */ // Label 3683: @133482
47178 /* 133482 */ GIM_Reject,
47179 /* 133483 */ // Label 3678: @133483
47180 /* 133483 */ GIM_Reject,
47181 /* 133484 */ // Label 3672: @133484
47182 /* 133484 */ GIM_Reject,
47183 /* 133485 */ // Label 3632: @133485
47184 /* 133485 */ GIM_Try, /*On fail goto*//*Label 3688*/ GIMT_Encode4(133892),
47185 /* 133490 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
47186 /* 133493 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
47187 /* 133496 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
47188 /* 133499 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47189 /* 133503 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
47190 /* 133507 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3689*/ GIMT_Encode4(133577), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19970 //
47191 /* 133514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47192 /* 133518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47193 /* 133522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47194 /* 133525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47195 /* 133529 */ GIM_CheckMemoryAlignment, /*MI*/1, /*MMO*/0, /*MinAlign*/64,
47196 /* 133533 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47197 /* 133537 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
47198 /* 133541 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47199 /* 133547 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
47200 /* 133549 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
47201 /* 133551 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47202 /* 133558 */ // (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)
47203 /* 133558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmkz),
47204 /* 133561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47205 /* 133563 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47206 /* 133565 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47207 /* 133569 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
47208 /* 133575 */ GIR_RootConstrainSelectedInstOperands,
47209 /* 133576 */ // GIR_Coverage, 19970,
47210 /* 133576 */ GIR_EraseRootFromParent_Done,
47211 /* 133577 */ // Label 3689: @133577
47212 /* 133577 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3690*/ GIMT_Encode4(133643), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19972 //
47213 /* 133584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47214 /* 133588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47215 /* 133592 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47216 /* 133595 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47217 /* 133599 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47218 /* 133603 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
47219 /* 133607 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47220 /* 133613 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
47221 /* 133615 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
47222 /* 133617 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47223 /* 133624 */ // (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)
47224 /* 133624 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmkz),
47225 /* 133627 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47226 /* 133629 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47227 /* 133631 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47228 /* 133635 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
47229 /* 133641 */ GIR_RootConstrainSelectedInstOperands,
47230 /* 133642 */ // GIR_Coverage, 19972,
47231 /* 133642 */ GIR_EraseRootFromParent_Done,
47232 /* 133643 */ // Label 3690: @133643
47233 /* 133643 */ GIM_Try, /*On fail goto*//*Label 3691*/ GIMT_Encode4(133767),
47234 /* 133648 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47235 /* 133652 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3692*/ GIMT_Encode4(133711), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19969 //
47236 /* 133659 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47237 /* 133663 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47238 /* 133667 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47239 /* 133670 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47240 /* 133674 */ GIM_CheckMemoryAlignment, /*MI*/1, /*MMO*/0, /*MinAlign*/64,
47241 /* 133678 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47242 /* 133682 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47243 /* 133684 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47244 /* 133691 */ // (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)
47245 /* 133691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmk),
47246 /* 133694 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47247 /* 133696 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47248 /* 133698 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47249 /* 133700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47250 /* 133704 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47251 /* 133709 */ GIR_RootConstrainSelectedInstOperands,
47252 /* 133710 */ // GIR_Coverage, 19969,
47253 /* 133710 */ GIR_EraseRootFromParent_Done,
47254 /* 133711 */ // Label 3692: @133711
47255 /* 133711 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3693*/ GIMT_Encode4(133766), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19971 //
47256 /* 133718 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47257 /* 133722 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47258 /* 133726 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47259 /* 133729 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47260 /* 133733 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47261 /* 133737 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47262 /* 133739 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47263 /* 133746 */ // (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)
47264 /* 133746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmk),
47265 /* 133749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47266 /* 133751 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47267 /* 133753 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47268 /* 133755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47269 /* 133759 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47270 /* 133764 */ GIR_RootConstrainSelectedInstOperands,
47271 /* 133765 */ // GIR_Coverage, 19971,
47272 /* 133765 */ GIR_EraseRootFromParent_Done,
47273 /* 133766 */ // Label 3693: @133766
47274 /* 133766 */ GIM_Reject,
47275 /* 133767 */ // Label 3691: @133767
47276 /* 133767 */ GIM_Try, /*On fail goto*//*Label 3694*/ GIMT_Encode4(133891),
47277 /* 133772 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47278 /* 133776 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3695*/ GIMT_Encode4(133808), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4562 //
47279 /* 133783 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47280 /* 133787 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47281 /* 133793 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47282 /* 133795 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47283 /* 133797 */ // (vselect:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src, immAllZerosV:{ *:[v32i16] }) => (VMOVDQU16Zrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
47284 /* 133797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
47285 /* 133800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47286 /* 133802 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47287 /* 133804 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47288 /* 133806 */ GIR_RootConstrainSelectedInstOperands,
47289 /* 133807 */ // GIR_Coverage, 4562,
47290 /* 133807 */ GIR_EraseRootFromParent_Done,
47291 /* 133808 */ // Label 3695: @133808
47292 /* 133808 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3696*/ GIMT_Encode4(133840), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19968 //
47293 /* 133815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47294 /* 133819 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47295 /* 133825 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47296 /* 133827 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47297 /* 133829 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1, immAllZerosV:{ *:[v32f16] }) => (VMOVDQU16Zrrkz:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1)
47298 /* 133829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
47299 /* 133832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47300 /* 133834 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47301 /* 133836 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47302 /* 133838 */ GIR_RootConstrainSelectedInstOperands,
47303 /* 133839 */ // GIR_Coverage, 19968,
47304 /* 133839 */ GIR_EraseRootFromParent_Done,
47305 /* 133840 */ // Label 3696: @133840
47306 /* 133840 */ GIM_Try, /*On fail goto*//*Label 3697*/ GIMT_Encode4(133890),
47307 /* 133845 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47308 /* 133849 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3698*/ GIMT_Encode4(133869), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4563 //
47309 /* 133856 */ // (vselect:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src0) => (VMOVDQU16Zrrk:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src1)
47310 /* 133856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
47311 /* 133859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47312 /* 133861 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47313 /* 133863 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47314 /* 133865 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47315 /* 133867 */ GIR_RootConstrainSelectedInstOperands,
47316 /* 133868 */ // GIR_Coverage, 4563,
47317 /* 133868 */ GIR_EraseRootFromParent_Done,
47318 /* 133869 */ // Label 3698: @133869
47319 /* 133869 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3699*/ GIMT_Encode4(133889), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 19967 //
47320 /* 133876 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src0) => (VMOVDQU16Zrrk:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1)
47321 /* 133876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
47322 /* 133879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47323 /* 133881 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47324 /* 133883 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47325 /* 133885 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47326 /* 133887 */ GIR_RootConstrainSelectedInstOperands,
47327 /* 133888 */ // GIR_Coverage, 19967,
47328 /* 133888 */ GIR_EraseRootFromParent_Done,
47329 /* 133889 */ // Label 3699: @133889
47330 /* 133889 */ GIM_Reject,
47331 /* 133890 */ // Label 3697: @133890
47332 /* 133890 */ GIM_Reject,
47333 /* 133891 */ // Label 3694: @133891
47334 /* 133891 */ GIM_Reject,
47335 /* 133892 */ // Label 3688: @133892
47336 /* 133892 */ GIM_Reject,
47337 /* 133893 */ // Label 3633: @133893
47338 /* 133893 */ GIM_Try, /*On fail goto*//*Label 3700*/ GIMT_Encode4(134716),
47339 /* 133898 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
47340 /* 133901 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
47341 /* 133904 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
47342 /* 133907 */ GIM_Try, /*On fail goto*//*Label 3701*/ GIMT_Encode4(133989),
47343 /* 133912 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47344 /* 133916 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47345 /* 133920 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47346 /* 133924 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3702*/ GIMT_Encode4(133956), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4461 //
47347 /* 133931 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47348 /* 133935 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47349 /* 133941 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47350 /* 133943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47351 /* 133945 */ // (vselect:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src, immAllZerosV:{ *:[v4f32] }) => (VMOVAPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
47352 /* 133945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rrkz),
47353 /* 133948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47354 /* 133950 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47355 /* 133952 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47356 /* 133954 */ GIR_RootConstrainSelectedInstOperands,
47357 /* 133955 */ // GIR_Coverage, 4461,
47358 /* 133955 */ GIR_EraseRootFromParent_Done,
47359 /* 133956 */ // Label 3702: @133956
47360 /* 133956 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3703*/ GIMT_Encode4(133988), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4525 //
47361 /* 133963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47362 /* 133967 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47363 /* 133973 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47364 /* 133975 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47365 /* 133977 */ // (vselect:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src, immAllZerosV:{ *:[v4i32] }) => (VMOVDQA32Z128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
47366 /* 133977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z128rrkz),
47367 /* 133980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47368 /* 133982 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47369 /* 133984 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47370 /* 133986 */ GIR_RootConstrainSelectedInstOperands,
47371 /* 133987 */ // GIR_Coverage, 4525,
47372 /* 133987 */ GIR_EraseRootFromParent_Done,
47373 /* 133988 */ // Label 3703: @133988
47374 /* 133988 */ GIM_Reject,
47375 /* 133989 */ // Label 3701: @133989
47376 /* 133989 */ GIM_Try, /*On fail goto*//*Label 3704*/ GIMT_Encode4(134279),
47377 /* 133994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47378 /* 133998 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47379 /* 134002 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47380 /* 134006 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3705*/ GIMT_Encode4(134142), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19880 //
47381 /* 134013 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47382 /* 134017 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47383 /* 134023 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47384 /* 134025 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47385 /* 134027 */ // (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] })
47386 /* 134027 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
47387 /* 134030 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47388 /* 134034 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47389 /* 134039 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47390 /* 134041 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47391 /* 134044 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47392 /* 134048 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47393 /* 134053 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47394 /* 134056 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47395 /* 134060 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
47396 /* 134063 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47397 /* 134068 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47398 /* 134073 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47399 /* 134078 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
47400 /* 134081 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47401 /* 134085 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47402 /* 134090 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47403 /* 134094 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47404 /* 134099 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47405 /* 134102 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
47406 /* 134106 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47407 /* 134111 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47408 /* 134114 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47409 /* 134117 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47410 /* 134119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47411 /* 134122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47412 /* 134124 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47413 /* 134131 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47414 /* 134136 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47415 /* 134141 */ // GIR_Coverage, 19880,
47416 /* 134141 */ GIR_EraseRootFromParent_Done,
47417 /* 134142 */ // Label 3705: @134142
47418 /* 134142 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3706*/ GIMT_Encode4(134278), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19882 //
47419 /* 134149 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47420 /* 134153 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47421 /* 134159 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47422 /* 134161 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47423 /* 134163 */ // (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] })
47424 /* 134163 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
47425 /* 134166 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47426 /* 134170 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47427 /* 134175 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47428 /* 134177 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47429 /* 134180 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47430 /* 134184 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47431 /* 134189 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47432 /* 134192 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47433 /* 134196 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
47434 /* 134199 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47435 /* 134204 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47436 /* 134209 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47437 /* 134214 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
47438 /* 134217 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47439 /* 134221 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47440 /* 134226 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47441 /* 134230 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47442 /* 134235 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47443 /* 134238 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
47444 /* 134242 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47445 /* 134247 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47446 /* 134250 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47447 /* 134253 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47448 /* 134255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47449 /* 134258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47450 /* 134260 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47451 /* 134267 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47452 /* 134272 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47453 /* 134277 */ // GIR_Coverage, 19882,
47454 /* 134277 */ GIR_EraseRootFromParent_Done,
47455 /* 134278 */ // Label 3706: @134278
47456 /* 134278 */ GIM_Reject,
47457 /* 134279 */ // Label 3704: @134279
47458 /* 134279 */ GIM_Try, /*On fail goto*//*Label 3707*/ GIMT_Encode4(134341),
47459 /* 134284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47460 /* 134288 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47461 /* 134292 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47462 /* 134296 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47463 /* 134300 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3708*/ GIMT_Encode4(134320), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4463 //
47464 /* 134307 */ // (vselect:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src0) => (VMOVAPSZ128rrk:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src1)
47465 /* 134307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rrk),
47466 /* 134310 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47467 /* 134312 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47468 /* 134314 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47469 /* 134316 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47470 /* 134318 */ GIR_RootConstrainSelectedInstOperands,
47471 /* 134319 */ // GIR_Coverage, 4463,
47472 /* 134319 */ GIR_EraseRootFromParent_Done,
47473 /* 134320 */ // Label 3708: @134320
47474 /* 134320 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3709*/ GIMT_Encode4(134340), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4526 //
47475 /* 134327 */ // (vselect:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src0) => (VMOVDQA32Z128rrk:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src1)
47476 /* 134327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z128rrk),
47477 /* 134330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47478 /* 134332 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47479 /* 134334 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47480 /* 134336 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47481 /* 134338 */ GIR_RootConstrainSelectedInstOperands,
47482 /* 134339 */ // GIR_Coverage, 4526,
47483 /* 134339 */ GIR_EraseRootFromParent_Done,
47484 /* 134340 */ // Label 3709: @134340
47485 /* 134340 */ GIM_Reject,
47486 /* 134341 */ // Label 3707: @134341
47487 /* 134341 */ GIM_Try, /*On fail goto*//*Label 3710*/ GIMT_Encode4(134715),
47488 /* 134346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47489 /* 134350 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47490 /* 134354 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47491 /* 134358 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47492 /* 134362 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3711*/ GIMT_Encode4(134538), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19879 //
47493 /* 134369 */ // (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] })
47494 /* 134369 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
47495 /* 134372 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47496 /* 134376 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47497 /* 134381 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47498 /* 134383 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
47499 /* 134386 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47500 /* 134390 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47501 /* 134395 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47502 /* 134398 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47503 /* 134402 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
47504 /* 134405 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47505 /* 134410 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47506 /* 134415 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47507 /* 134420 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
47508 /* 134423 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47509 /* 134427 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47510 /* 134432 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47511 /* 134436 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47512 /* 134441 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47513 /* 134444 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47514 /* 134448 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47515 /* 134453 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47516 /* 134455 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
47517 /* 134458 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47518 /* 134462 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47519 /* 134467 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47520 /* 134470 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47521 /* 134474 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47522 /* 134477 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47523 /* 134482 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47524 /* 134487 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47525 /* 134492 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47526 /* 134495 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
47527 /* 134499 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47528 /* 134504 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47529 /* 134507 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47530 /* 134510 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47531 /* 134513 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47532 /* 134515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47533 /* 134518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47534 /* 134520 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47535 /* 134527 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47536 /* 134532 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47537 /* 134537 */ // GIR_Coverage, 19879,
47538 /* 134537 */ GIR_EraseRootFromParent_Done,
47539 /* 134538 */ // Label 3711: @134538
47540 /* 134538 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3712*/ GIMT_Encode4(134714), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19881 //
47541 /* 134545 */ // (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] })
47542 /* 134545 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
47543 /* 134548 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47544 /* 134552 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47545 /* 134557 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47546 /* 134559 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
47547 /* 134562 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47548 /* 134566 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47549 /* 134571 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47550 /* 134574 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47551 /* 134578 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
47552 /* 134581 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47553 /* 134586 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47554 /* 134591 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47555 /* 134596 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
47556 /* 134599 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47557 /* 134603 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47558 /* 134608 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47559 /* 134612 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47560 /* 134617 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47561 /* 134620 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47562 /* 134624 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47563 /* 134629 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47564 /* 134631 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
47565 /* 134634 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47566 /* 134638 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47567 /* 134643 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47568 /* 134646 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47569 /* 134650 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47570 /* 134653 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47571 /* 134658 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47572 /* 134663 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47573 /* 134668 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47574 /* 134671 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
47575 /* 134675 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47576 /* 134680 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47577 /* 134683 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47578 /* 134686 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47579 /* 134689 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47580 /* 134691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47581 /* 134694 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47582 /* 134696 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47583 /* 134703 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47584 /* 134708 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47585 /* 134713 */ // GIR_Coverage, 19881,
47586 /* 134713 */ GIR_EraseRootFromParent_Done,
47587 /* 134714 */ // Label 3712: @134714
47588 /* 134714 */ GIM_Reject,
47589 /* 134715 */ // Label 3710: @134715
47590 /* 134715 */ GIM_Reject,
47591 /* 134716 */ // Label 3700: @134716
47592 /* 134716 */ GIM_Reject,
47593 /* 134717 */ // Label 3634: @134717
47594 /* 134717 */ GIM_Try, /*On fail goto*//*Label 3713*/ GIMT_Encode4(135482),
47595 /* 134722 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
47596 /* 134725 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
47597 /* 134728 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
47598 /* 134731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47599 /* 134735 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47600 /* 134739 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47601 /* 134743 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3714*/ GIMT_Encode4(134775), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4456 //
47602 /* 134750 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47603 /* 134754 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47604 /* 134760 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47605 /* 134762 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47606 /* 134764 */ // (vselect:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src, immAllZerosV:{ *:[v8f32] }) => (VMOVAPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
47607 /* 134764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rrkz),
47608 /* 134767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47609 /* 134769 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47610 /* 134771 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47611 /* 134773 */ GIR_RootConstrainSelectedInstOperands,
47612 /* 134774 */ // GIR_Coverage, 4456,
47613 /* 134774 */ GIR_EraseRootFromParent_Done,
47614 /* 134775 */ // Label 3714: @134775
47615 /* 134775 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3715*/ GIMT_Encode4(134807), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4521 //
47616 /* 134782 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47617 /* 134786 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47618 /* 134792 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47619 /* 134794 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47620 /* 134796 */ // (vselect:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src, immAllZerosV:{ *:[v8i32] }) => (VMOVDQA32Z256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
47621 /* 134796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z256rrkz),
47622 /* 134799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47623 /* 134801 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47624 /* 134803 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47625 /* 134805 */ GIR_RootConstrainSelectedInstOperands,
47626 /* 134806 */ // GIR_Coverage, 4521,
47627 /* 134806 */ GIR_EraseRootFromParent_Done,
47628 /* 134807 */ // Label 3715: @134807
47629 /* 134807 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3716*/ GIMT_Encode4(134943), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19884 //
47630 /* 134814 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47631 /* 134818 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47632 /* 134824 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47633 /* 134826 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47634 /* 134828 */ // (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] })
47635 /* 134828 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
47636 /* 134831 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47637 /* 134835 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47638 /* 134840 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47639 /* 134842 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47640 /* 134845 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47641 /* 134849 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47642 /* 134854 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47643 /* 134857 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47644 /* 134861 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
47645 /* 134864 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47646 /* 134869 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47647 /* 134874 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47648 /* 134879 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
47649 /* 134882 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47650 /* 134886 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47651 /* 134891 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47652 /* 134895 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47653 /* 134900 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47654 /* 134903 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
47655 /* 134907 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47656 /* 134912 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47657 /* 134915 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47658 /* 134918 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47659 /* 134920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47660 /* 134923 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47661 /* 134925 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47662 /* 134932 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47663 /* 134937 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47664 /* 134942 */ // GIR_Coverage, 19884,
47665 /* 134942 */ GIR_EraseRootFromParent_Done,
47666 /* 134943 */ // Label 3716: @134943
47667 /* 134943 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3717*/ GIMT_Encode4(135079), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19886 //
47668 /* 134950 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47669 /* 134954 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47670 /* 134960 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47671 /* 134962 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47672 /* 134964 */ // (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] })
47673 /* 134964 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
47674 /* 134967 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47675 /* 134971 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47676 /* 134976 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47677 /* 134978 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47678 /* 134981 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47679 /* 134985 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47680 /* 134990 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47681 /* 134993 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47682 /* 134997 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
47683 /* 135000 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47684 /* 135005 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47685 /* 135010 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47686 /* 135015 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
47687 /* 135018 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47688 /* 135022 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47689 /* 135027 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47690 /* 135031 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47691 /* 135036 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47692 /* 135039 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
47693 /* 135043 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47694 /* 135048 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47695 /* 135051 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47696 /* 135054 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47697 /* 135056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47698 /* 135059 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47699 /* 135061 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47700 /* 135068 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47701 /* 135073 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47702 /* 135078 */ // GIR_Coverage, 19886,
47703 /* 135078 */ GIR_EraseRootFromParent_Done,
47704 /* 135079 */ // Label 3717: @135079
47705 /* 135079 */ GIM_Try, /*On fail goto*//*Label 3718*/ GIMT_Encode4(135481),
47706 /* 135084 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47707 /* 135088 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3719*/ GIMT_Encode4(135108), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4458 //
47708 /* 135095 */ // (vselect:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src0) => (VMOVAPSZ256rrk:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src1)
47709 /* 135095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rrk),
47710 /* 135098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47711 /* 135100 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47712 /* 135102 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47713 /* 135104 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47714 /* 135106 */ GIR_RootConstrainSelectedInstOperands,
47715 /* 135107 */ // GIR_Coverage, 4458,
47716 /* 135107 */ GIR_EraseRootFromParent_Done,
47717 /* 135108 */ // Label 3719: @135108
47718 /* 135108 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3720*/ GIMT_Encode4(135128), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4522 //
47719 /* 135115 */ // (vselect:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src0) => (VMOVDQA32Z256rrk:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src1)
47720 /* 135115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z256rrk),
47721 /* 135118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47722 /* 135120 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47723 /* 135122 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47724 /* 135124 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47725 /* 135126 */ GIR_RootConstrainSelectedInstOperands,
47726 /* 135127 */ // GIR_Coverage, 4522,
47727 /* 135127 */ GIR_EraseRootFromParent_Done,
47728 /* 135128 */ // Label 3720: @135128
47729 /* 135128 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3721*/ GIMT_Encode4(135304), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19883 //
47730 /* 135135 */ // (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] })
47731 /* 135135 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
47732 /* 135138 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47733 /* 135142 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47734 /* 135147 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47735 /* 135149 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
47736 /* 135152 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47737 /* 135156 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47738 /* 135161 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47739 /* 135164 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47740 /* 135168 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
47741 /* 135171 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47742 /* 135176 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47743 /* 135181 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47744 /* 135186 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
47745 /* 135189 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47746 /* 135193 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47747 /* 135198 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47748 /* 135202 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47749 /* 135207 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47750 /* 135210 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47751 /* 135214 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47752 /* 135219 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47753 /* 135221 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
47754 /* 135224 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47755 /* 135228 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47756 /* 135233 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47757 /* 135236 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47758 /* 135240 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
47759 /* 135243 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47760 /* 135248 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47761 /* 135253 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47762 /* 135258 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47763 /* 135261 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
47764 /* 135265 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47765 /* 135270 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47766 /* 135273 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47767 /* 135276 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47768 /* 135279 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47769 /* 135281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47770 /* 135284 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47771 /* 135286 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47772 /* 135293 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47773 /* 135298 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47774 /* 135303 */ // GIR_Coverage, 19883,
47775 /* 135303 */ GIR_EraseRootFromParent_Done,
47776 /* 135304 */ // Label 3721: @135304
47777 /* 135304 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3722*/ GIMT_Encode4(135480), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19885 //
47778 /* 135311 */ // (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] })
47779 /* 135311 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
47780 /* 135314 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47781 /* 135318 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47782 /* 135323 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47783 /* 135325 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
47784 /* 135328 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47785 /* 135332 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47786 /* 135337 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47787 /* 135340 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47788 /* 135344 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
47789 /* 135347 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47790 /* 135352 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47791 /* 135357 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47792 /* 135362 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
47793 /* 135365 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47794 /* 135369 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47795 /* 135374 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47796 /* 135378 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47797 /* 135383 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47798 /* 135386 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47799 /* 135390 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47800 /* 135395 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47801 /* 135397 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
47802 /* 135400 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47803 /* 135404 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47804 /* 135409 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47805 /* 135412 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47806 /* 135416 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
47807 /* 135419 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47808 /* 135424 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47809 /* 135429 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47810 /* 135434 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47811 /* 135437 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
47812 /* 135441 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47813 /* 135446 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47814 /* 135449 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47815 /* 135452 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47816 /* 135455 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47817 /* 135457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47818 /* 135460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47819 /* 135462 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47820 /* 135469 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47821 /* 135474 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47822 /* 135479 */ // GIR_Coverage, 19885,
47823 /* 135479 */ GIR_EraseRootFromParent_Done,
47824 /* 135480 */ // Label 3722: @135480
47825 /* 135480 */ GIM_Reject,
47826 /* 135481 */ // Label 3718: @135481
47827 /* 135481 */ GIM_Reject,
47828 /* 135482 */ // Label 3713: @135482
47829 /* 135482 */ GIM_Reject,
47830 /* 135483 */ // Label 3635: @135483
47831 /* 135483 */ GIM_Try, /*On fail goto*//*Label 3723*/ GIMT_Encode4(135800),
47832 /* 135488 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
47833 /* 135491 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
47834 /* 135494 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
47835 /* 135497 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47836 /* 135501 */ GIM_Try, /*On fail goto*//*Label 3724*/ GIMT_Encode4(135570), // Rule ID 19878 //
47837 /* 135506 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
47838 /* 135510 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
47839 /* 135514 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
47840 /* 135518 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
47841 /* 135522 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
47842 /* 135527 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
47843 /* 135531 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47844 /* 135537 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
47845 /* 135539 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/0, /*OpIdx*/2, // MIs[3]
47846 /* 135543 */ GIM_CheckOpcodeIsEither, /*MI*/3, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47847 /* 135549 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/3,
47848 /* 135551 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47849 /* 135555 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
47850 /* 135557 */ // (vselect:{ *:[v16i32] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$mask, immAllOnesV:{ *:[v16i1] }), immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src) => (VMOVDQA32Zrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
47851 /* 135557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
47852 /* 135560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47853 /* 135562 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // mask
47854 /* 135566 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47855 /* 135568 */ GIR_RootConstrainSelectedInstOperands,
47856 /* 135569 */ // GIR_Coverage, 19878,
47857 /* 135569 */ GIR_EraseRootFromParent_Done,
47858 /* 135570 */ // Label 3724: @135570
47859 /* 135570 */ GIM_Try, /*On fail goto*//*Label 3725*/ GIMT_Encode4(135799),
47860 /* 135575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
47861 /* 135579 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3726*/ GIMT_Encode4(135621), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 3588 //
47862 /* 135586 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47863 /* 135590 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47864 /* 135596 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
47865 /* 135598 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
47866 /* 135602 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47867 /* 135608 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
47868 /* 135610 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
47869 /* 135612 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, immAllOnesV:{ *:[v16i32] }, immAllZerosV:{ *:[v16i32] }) => (AVX512_512_SEXT_MASK_32:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask)
47870 /* 135612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AVX512_512_SEXT_MASK_32),
47871 /* 135615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47872 /* 135617 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47873 /* 135619 */ GIR_RootConstrainSelectedInstOperands,
47874 /* 135620 */ // GIR_Coverage, 3588,
47875 /* 135620 */ GIR_EraseRootFromParent_Done,
47876 /* 135621 */ // Label 3726: @135621
47877 /* 135621 */ GIM_Try, /*On fail goto*//*Label 3727*/ GIMT_Encode4(135674), // Rule ID 19876 //
47878 /* 135626 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47879 /* 135630 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47880 /* 135636 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47881 /* 135638 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47882 /* 135642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47883 /* 135644 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src) => (VMOVDQA32Zrrkz:{ *:[v16i32] } (KNOTWkk:{ *:[v16i1] } VK16WM:{ *:[v16i1] }:$mask), VR512:{ *:[v16i32] }:$src)
47884 /* 135644 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
47885 /* 135647 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
47886 /* 135651 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47887 /* 135656 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // mask
47888 /* 135660 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47889 /* 135662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
47890 /* 135665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47891 /* 135667 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
47892 /* 135670 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47893 /* 135672 */ GIR_RootConstrainSelectedInstOperands,
47894 /* 135673 */ // GIR_Coverage, 19876,
47895 /* 135673 */ GIR_EraseRootFromParent_Done,
47896 /* 135674 */ // Label 3727: @135674
47897 /* 135674 */ GIM_Try, /*On fail goto*//*Label 3728*/ GIMT_Encode4(135798),
47898 /* 135679 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47899 /* 135683 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3729*/ GIMT_Encode4(135715), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4451 //
47900 /* 135690 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47901 /* 135694 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47902 /* 135700 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47903 /* 135702 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47904 /* 135704 */ // (vselect:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src, immAllZerosV:{ *:[v16f32] }) => (VMOVAPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
47905 /* 135704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
47906 /* 135707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47907 /* 135709 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47908 /* 135711 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47909 /* 135713 */ GIR_RootConstrainSelectedInstOperands,
47910 /* 135714 */ // GIR_Coverage, 4451,
47911 /* 135714 */ GIR_EraseRootFromParent_Done,
47912 /* 135715 */ // Label 3729: @135715
47913 /* 135715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3730*/ GIMT_Encode4(135747), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4517 //
47914 /* 135722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47915 /* 135726 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47916 /* 135732 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47917 /* 135734 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47918 /* 135736 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src, immAllZerosV:{ *:[v16i32] }) => (VMOVDQA32Zrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
47919 /* 135736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
47920 /* 135739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47921 /* 135741 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47922 /* 135743 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47923 /* 135745 */ GIR_RootConstrainSelectedInstOperands,
47924 /* 135746 */ // GIR_Coverage, 4517,
47925 /* 135746 */ GIR_EraseRootFromParent_Done,
47926 /* 135747 */ // Label 3730: @135747
47927 /* 135747 */ GIM_Try, /*On fail goto*//*Label 3731*/ GIMT_Encode4(135797),
47928 /* 135752 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47929 /* 135756 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3732*/ GIMT_Encode4(135776), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4453 //
47930 /* 135763 */ // (vselect:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src0) => (VMOVAPSZrrk:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src1)
47931 /* 135763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
47932 /* 135766 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47933 /* 135768 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47934 /* 135770 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47935 /* 135772 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47936 /* 135774 */ GIR_RootConstrainSelectedInstOperands,
47937 /* 135775 */ // GIR_Coverage, 4453,
47938 /* 135775 */ GIR_EraseRootFromParent_Done,
47939 /* 135776 */ // Label 3732: @135776
47940 /* 135776 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3733*/ GIMT_Encode4(135796), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4518 //
47941 /* 135783 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src0) => (VMOVDQA32Zrrk:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src1)
47942 /* 135783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
47943 /* 135786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47944 /* 135788 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47945 /* 135790 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47946 /* 135792 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47947 /* 135794 */ GIR_RootConstrainSelectedInstOperands,
47948 /* 135795 */ // GIR_Coverage, 4518,
47949 /* 135795 */ GIR_EraseRootFromParent_Done,
47950 /* 135796 */ // Label 3733: @135796
47951 /* 135796 */ GIM_Reject,
47952 /* 135797 */ // Label 3731: @135797
47953 /* 135797 */ GIM_Reject,
47954 /* 135798 */ // Label 3728: @135798
47955 /* 135798 */ GIM_Reject,
47956 /* 135799 */ // Label 3725: @135799
47957 /* 135799 */ GIM_Reject,
47958 /* 135800 */ // Label 3723: @135800
47959 /* 135800 */ GIM_Reject,
47960 /* 135801 */ // Label 3636: @135801
47961 /* 135801 */ GIM_Try, /*On fail goto*//*Label 3734*/ GIMT_Encode4(136624),
47962 /* 135806 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
47963 /* 135809 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
47964 /* 135812 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
47965 /* 135815 */ GIM_Try, /*On fail goto*//*Label 3735*/ GIMT_Encode4(135897),
47966 /* 135820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47967 /* 135824 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
47968 /* 135828 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47969 /* 135832 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3736*/ GIMT_Encode4(135864), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4482 //
47970 /* 135839 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47971 /* 135843 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47972 /* 135849 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47973 /* 135851 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47974 /* 135853 */ // (vselect:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src, immAllZerosV:{ *:[v2f64] }) => (VMOVAPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
47975 /* 135853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rrkz),
47976 /* 135856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47977 /* 135858 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47978 /* 135860 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47979 /* 135862 */ GIR_RootConstrainSelectedInstOperands,
47980 /* 135863 */ // GIR_Coverage, 4482,
47981 /* 135863 */ GIR_EraseRootFromParent_Done,
47982 /* 135864 */ // Label 3736: @135864
47983 /* 135864 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3737*/ GIMT_Encode4(135896), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4539 //
47984 /* 135871 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47985 /* 135875 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47986 /* 135881 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47987 /* 135883 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47988 /* 135885 */ // (vselect:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src, immAllZerosV:{ *:[v2i64] }) => (VMOVDQA64Z128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
47989 /* 135885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rrkz),
47990 /* 135888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47991 /* 135890 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47992 /* 135892 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47993 /* 135894 */ GIR_RootConstrainSelectedInstOperands,
47994 /* 135895 */ // GIR_Coverage, 4539,
47995 /* 135895 */ GIR_EraseRootFromParent_Done,
47996 /* 135896 */ // Label 3737: @135896
47997 /* 135896 */ GIM_Reject,
47998 /* 135897 */ // Label 3735: @135897
47999 /* 135897 */ GIM_Try, /*On fail goto*//*Label 3738*/ GIMT_Encode4(136187),
48000 /* 135902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48001 /* 135906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
48002 /* 135910 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48003 /* 135914 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3739*/ GIMT_Encode4(136050), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19888 //
48004 /* 135921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48005 /* 135925 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48006 /* 135931 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48007 /* 135933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48008 /* 135935 */ // (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] })
48009 /* 135935 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
48010 /* 135938 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48011 /* 135942 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48012 /* 135947 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48013 /* 135949 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48014 /* 135952 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48015 /* 135956 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48016 /* 135961 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48017 /* 135964 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48018 /* 135968 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
48019 /* 135971 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48020 /* 135976 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48021 /* 135981 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48022 /* 135986 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
48023 /* 135989 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48024 /* 135993 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48025 /* 135998 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48026 /* 136002 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48027 /* 136007 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48028 /* 136010 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
48029 /* 136014 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48030 /* 136019 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48031 /* 136022 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48032 /* 136025 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48033 /* 136027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48034 /* 136030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48035 /* 136032 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48036 /* 136039 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48037 /* 136044 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48038 /* 136049 */ // GIR_Coverage, 19888,
48039 /* 136049 */ GIR_EraseRootFromParent_Done,
48040 /* 136050 */ // Label 3739: @136050
48041 /* 136050 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3740*/ GIMT_Encode4(136186), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19890 //
48042 /* 136057 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48043 /* 136061 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48044 /* 136067 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48045 /* 136069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48046 /* 136071 */ // (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] })
48047 /* 136071 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
48048 /* 136074 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48049 /* 136078 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48050 /* 136083 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48051 /* 136085 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48052 /* 136088 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48053 /* 136092 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48054 /* 136097 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48055 /* 136100 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48056 /* 136104 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
48057 /* 136107 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48058 /* 136112 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48059 /* 136117 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48060 /* 136122 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
48061 /* 136125 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48062 /* 136129 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48063 /* 136134 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48064 /* 136138 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48065 /* 136143 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48066 /* 136146 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48067 /* 136150 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48068 /* 136155 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48069 /* 136158 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48070 /* 136161 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48071 /* 136163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48072 /* 136166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48073 /* 136168 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48074 /* 136175 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48075 /* 136180 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48076 /* 136185 */ // GIR_Coverage, 19890,
48077 /* 136185 */ GIR_EraseRootFromParent_Done,
48078 /* 136186 */ // Label 3740: @136186
48079 /* 136186 */ GIM_Reject,
48080 /* 136187 */ // Label 3738: @136187
48081 /* 136187 */ GIM_Try, /*On fail goto*//*Label 3741*/ GIMT_Encode4(136249),
48082 /* 136192 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48083 /* 136196 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
48084 /* 136200 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48085 /* 136204 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48086 /* 136208 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3742*/ GIMT_Encode4(136228), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4484 //
48087 /* 136215 */ // (vselect:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src0) => (VMOVAPDZ128rrk:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src0, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src1)
48088 /* 136215 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rrk),
48089 /* 136218 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48090 /* 136220 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48091 /* 136222 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48092 /* 136224 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48093 /* 136226 */ GIR_RootConstrainSelectedInstOperands,
48094 /* 136227 */ // GIR_Coverage, 4484,
48095 /* 136227 */ GIR_EraseRootFromParent_Done,
48096 /* 136228 */ // Label 3742: @136228
48097 /* 136228 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3743*/ GIMT_Encode4(136248), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4541 //
48098 /* 136235 */ // (vselect:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src0) => (VMOVDQA64Z128rrk:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src0, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src1)
48099 /* 136235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rrk),
48100 /* 136238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48101 /* 136240 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48102 /* 136242 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48103 /* 136244 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48104 /* 136246 */ GIR_RootConstrainSelectedInstOperands,
48105 /* 136247 */ // GIR_Coverage, 4541,
48106 /* 136247 */ GIR_EraseRootFromParent_Done,
48107 /* 136248 */ // Label 3743: @136248
48108 /* 136248 */ GIM_Reject,
48109 /* 136249 */ // Label 3741: @136249
48110 /* 136249 */ GIM_Try, /*On fail goto*//*Label 3744*/ GIMT_Encode4(136623),
48111 /* 136254 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48112 /* 136258 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
48113 /* 136262 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48114 /* 136266 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48115 /* 136270 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3745*/ GIMT_Encode4(136446), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19887 //
48116 /* 136277 */ // (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] })
48117 /* 136277 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
48118 /* 136280 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48119 /* 136284 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48120 /* 136289 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48121 /* 136291 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
48122 /* 136294 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48123 /* 136298 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48124 /* 136303 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48125 /* 136306 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48126 /* 136310 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
48127 /* 136313 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48128 /* 136318 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48129 /* 136323 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48130 /* 136328 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
48131 /* 136331 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48132 /* 136335 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48133 /* 136340 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48134 /* 136344 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48135 /* 136349 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48136 /* 136352 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48137 /* 136356 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48138 /* 136361 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48139 /* 136363 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
48140 /* 136366 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48141 /* 136370 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48142 /* 136375 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48143 /* 136378 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48144 /* 136382 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
48145 /* 136385 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48146 /* 136390 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48147 /* 136395 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48148 /* 136400 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48149 /* 136403 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
48150 /* 136407 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48151 /* 136412 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48152 /* 136415 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48153 /* 136418 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48154 /* 136421 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48155 /* 136423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48156 /* 136426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48157 /* 136428 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48158 /* 136435 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48159 /* 136440 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48160 /* 136445 */ // GIR_Coverage, 19887,
48161 /* 136445 */ GIR_EraseRootFromParent_Done,
48162 /* 136446 */ // Label 3745: @136446
48163 /* 136446 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3746*/ GIMT_Encode4(136622), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19889 //
48164 /* 136453 */ // (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] })
48165 /* 136453 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
48166 /* 136456 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48167 /* 136460 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48168 /* 136465 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48169 /* 136467 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
48170 /* 136470 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48171 /* 136474 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48172 /* 136479 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48173 /* 136482 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48174 /* 136486 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
48175 /* 136489 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48176 /* 136494 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48177 /* 136499 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48178 /* 136504 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
48179 /* 136507 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48180 /* 136511 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48181 /* 136516 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48182 /* 136520 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48183 /* 136525 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48184 /* 136528 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48185 /* 136532 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48186 /* 136537 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48187 /* 136539 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
48188 /* 136542 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48189 /* 136546 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48190 /* 136551 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48191 /* 136554 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48192 /* 136558 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
48193 /* 136561 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48194 /* 136566 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48195 /* 136571 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48196 /* 136576 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48197 /* 136579 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
48198 /* 136583 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48199 /* 136588 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48200 /* 136591 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48201 /* 136594 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48202 /* 136597 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48203 /* 136599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48204 /* 136602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48205 /* 136604 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48206 /* 136611 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48207 /* 136616 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48208 /* 136621 */ // GIR_Coverage, 19889,
48209 /* 136621 */ GIR_EraseRootFromParent_Done,
48210 /* 136622 */ // Label 3746: @136622
48211 /* 136622 */ GIM_Reject,
48212 /* 136623 */ // Label 3744: @136623
48213 /* 136623 */ GIM_Reject,
48214 /* 136624 */ // Label 3734: @136624
48215 /* 136624 */ GIM_Reject,
48216 /* 136625 */ // Label 3637: @136625
48217 /* 136625 */ GIM_Try, /*On fail goto*//*Label 3747*/ GIMT_Encode4(137390),
48218 /* 136630 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
48219 /* 136633 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
48220 /* 136636 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
48221 /* 136639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48222 /* 136643 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48223 /* 136647 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48224 /* 136651 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3748*/ GIMT_Encode4(136683), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4477 //
48225 /* 136658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48226 /* 136662 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48227 /* 136668 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48228 /* 136670 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48229 /* 136672 */ // (vselect:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src, immAllZerosV:{ *:[v4f64] }) => (VMOVAPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
48230 /* 136672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rrkz),
48231 /* 136675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48232 /* 136677 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48233 /* 136679 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48234 /* 136681 */ GIR_RootConstrainSelectedInstOperands,
48235 /* 136682 */ // GIR_Coverage, 4477,
48236 /* 136682 */ GIR_EraseRootFromParent_Done,
48237 /* 136683 */ // Label 3748: @136683
48238 /* 136683 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3749*/ GIMT_Encode4(136715), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4534 //
48239 /* 136690 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48240 /* 136694 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48241 /* 136700 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48242 /* 136702 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48243 /* 136704 */ // (vselect:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src, immAllZerosV:{ *:[v4i64] }) => (VMOVDQA64Z256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
48244 /* 136704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rrkz),
48245 /* 136707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48246 /* 136709 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48247 /* 136711 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48248 /* 136713 */ GIR_RootConstrainSelectedInstOperands,
48249 /* 136714 */ // GIR_Coverage, 4534,
48250 /* 136714 */ GIR_EraseRootFromParent_Done,
48251 /* 136715 */ // Label 3749: @136715
48252 /* 136715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3750*/ GIMT_Encode4(136851), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19892 //
48253 /* 136722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48254 /* 136726 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48255 /* 136732 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48256 /* 136734 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48257 /* 136736 */ // (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] })
48258 /* 136736 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
48259 /* 136739 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48260 /* 136743 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48261 /* 136748 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48262 /* 136750 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48263 /* 136753 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48264 /* 136757 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48265 /* 136762 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48266 /* 136765 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48267 /* 136769 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
48268 /* 136772 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48269 /* 136777 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48270 /* 136782 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48271 /* 136787 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
48272 /* 136790 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48273 /* 136794 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48274 /* 136799 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48275 /* 136803 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48276 /* 136808 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48277 /* 136811 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
48278 /* 136815 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48279 /* 136820 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48280 /* 136823 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48281 /* 136826 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48282 /* 136828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48283 /* 136831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48284 /* 136833 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48285 /* 136840 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48286 /* 136845 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48287 /* 136850 */ // GIR_Coverage, 19892,
48288 /* 136850 */ GIR_EraseRootFromParent_Done,
48289 /* 136851 */ // Label 3750: @136851
48290 /* 136851 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3751*/ GIMT_Encode4(136987), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19894 //
48291 /* 136858 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48292 /* 136862 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48293 /* 136868 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48294 /* 136870 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48295 /* 136872 */ // (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] })
48296 /* 136872 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
48297 /* 136875 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48298 /* 136879 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48299 /* 136884 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48300 /* 136886 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48301 /* 136889 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48302 /* 136893 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48303 /* 136898 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48304 /* 136901 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48305 /* 136905 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
48306 /* 136908 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48307 /* 136913 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48308 /* 136918 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48309 /* 136923 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
48310 /* 136926 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48311 /* 136930 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48312 /* 136935 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48313 /* 136939 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48314 /* 136944 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48315 /* 136947 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48316 /* 136951 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48317 /* 136956 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48318 /* 136959 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48319 /* 136962 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48320 /* 136964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48321 /* 136967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48322 /* 136969 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48323 /* 136976 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48324 /* 136981 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48325 /* 136986 */ // GIR_Coverage, 19894,
48326 /* 136986 */ GIR_EraseRootFromParent_Done,
48327 /* 136987 */ // Label 3751: @136987
48328 /* 136987 */ GIM_Try, /*On fail goto*//*Label 3752*/ GIMT_Encode4(137389),
48329 /* 136992 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48330 /* 136996 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3753*/ GIMT_Encode4(137016), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4479 //
48331 /* 137003 */ // (vselect:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src0) => (VMOVAPDZ256rrk:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src1)
48332 /* 137003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rrk),
48333 /* 137006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48334 /* 137008 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48335 /* 137010 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48336 /* 137012 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48337 /* 137014 */ GIR_RootConstrainSelectedInstOperands,
48338 /* 137015 */ // GIR_Coverage, 4479,
48339 /* 137015 */ GIR_EraseRootFromParent_Done,
48340 /* 137016 */ // Label 3753: @137016
48341 /* 137016 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3754*/ GIMT_Encode4(137036), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 4536 //
48342 /* 137023 */ // (vselect:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src0) => (VMOVDQA64Z256rrk:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src1)
48343 /* 137023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rrk),
48344 /* 137026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48345 /* 137028 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48346 /* 137030 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48347 /* 137032 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48348 /* 137034 */ GIR_RootConstrainSelectedInstOperands,
48349 /* 137035 */ // GIR_Coverage, 4536,
48350 /* 137035 */ GIR_EraseRootFromParent_Done,
48351 /* 137036 */ // Label 3754: @137036
48352 /* 137036 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3755*/ GIMT_Encode4(137212), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19891 //
48353 /* 137043 */ // (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] })
48354 /* 137043 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
48355 /* 137046 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48356 /* 137050 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48357 /* 137055 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48358 /* 137057 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
48359 /* 137060 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48360 /* 137064 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48361 /* 137069 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48362 /* 137072 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48363 /* 137076 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
48364 /* 137079 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48365 /* 137084 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48366 /* 137089 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48367 /* 137094 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
48368 /* 137097 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48369 /* 137101 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48370 /* 137106 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48371 /* 137110 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48372 /* 137115 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48373 /* 137118 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48374 /* 137122 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48375 /* 137127 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48376 /* 137129 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
48377 /* 137132 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48378 /* 137136 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48379 /* 137141 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48380 /* 137144 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48381 /* 137148 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
48382 /* 137151 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48383 /* 137156 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48384 /* 137161 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48385 /* 137166 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48386 /* 137169 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
48387 /* 137173 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48388 /* 137178 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48389 /* 137181 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48390 /* 137184 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48391 /* 137187 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48392 /* 137189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48393 /* 137192 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48394 /* 137194 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48395 /* 137201 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48396 /* 137206 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48397 /* 137211 */ // GIR_Coverage, 19891,
48398 /* 137211 */ GIR_EraseRootFromParent_Done,
48399 /* 137212 */ // Label 3755: @137212
48400 /* 137212 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3756*/ GIMT_Encode4(137388), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 19893 //
48401 /* 137219 */ // (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] })
48402 /* 137219 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
48403 /* 137222 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48404 /* 137226 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48405 /* 137231 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48406 /* 137233 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
48407 /* 137236 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48408 /* 137240 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48409 /* 137245 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48410 /* 137248 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48411 /* 137252 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
48412 /* 137255 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48413 /* 137260 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48414 /* 137265 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48415 /* 137270 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
48416 /* 137273 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48417 /* 137277 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48418 /* 137282 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48419 /* 137286 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48420 /* 137291 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48421 /* 137294 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48422 /* 137298 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48423 /* 137303 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48424 /* 137305 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
48425 /* 137308 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48426 /* 137312 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48427 /* 137317 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48428 /* 137320 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48429 /* 137324 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
48430 /* 137327 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48431 /* 137332 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48432 /* 137337 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48433 /* 137342 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48434 /* 137345 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
48435 /* 137349 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48436 /* 137354 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48437 /* 137357 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48438 /* 137360 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48439 /* 137363 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48440 /* 137365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48441 /* 137368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48442 /* 137370 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48443 /* 137377 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48444 /* 137382 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48445 /* 137387 */ // GIR_Coverage, 19893,
48446 /* 137387 */ GIR_EraseRootFromParent_Done,
48447 /* 137388 */ // Label 3756: @137388
48448 /* 137388 */ GIM_Reject,
48449 /* 137389 */ // Label 3752: @137389
48450 /* 137389 */ GIM_Reject,
48451 /* 137390 */ // Label 3747: @137390
48452 /* 137390 */ GIM_Reject,
48453 /* 137391 */ // Label 3638: @137391
48454 /* 137391 */ GIM_Try, /*On fail goto*//*Label 3757*/ GIMT_Encode4(137748),
48455 /* 137396 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
48456 /* 137399 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
48457 /* 137402 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
48458 /* 137405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48459 /* 137409 */ GIM_Try, /*On fail goto*//*Label 3758*/ GIMT_Encode4(137478), // Rule ID 19877 //
48460 /* 137414 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48461 /* 137418 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
48462 /* 137422 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
48463 /* 137426 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
48464 /* 137430 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
48465 /* 137435 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
48466 /* 137439 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48467 /* 137445 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
48468 /* 137447 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/0, /*OpIdx*/2, // MIs[3]
48469 /* 137451 */ GIM_CheckOpcodeIsEither, /*MI*/3, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48470 /* 137457 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/3,
48471 /* 137459 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48472 /* 137463 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
48473 /* 137465 */ // (vselect:{ *:[v8i64] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$mask, immAllOnesV:{ *:[v8i1] }), immAllZerosV:{ *:[v8i64] }, VR512:{ *:[v8i64] }:$src) => (VMOVDQA64Zrrkz:{ *:[v8i64] } VK8:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
48474 /* 137465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48475 /* 137468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48476 /* 137470 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // mask
48477 /* 137474 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48478 /* 137476 */ GIR_RootConstrainSelectedInstOperands,
48479 /* 137477 */ // GIR_Coverage, 19877,
48480 /* 137477 */ GIR_EraseRootFromParent_Done,
48481 /* 137478 */ // Label 3758: @137478
48482 /* 137478 */ GIM_Try, /*On fail goto*//*Label 3759*/ GIMT_Encode4(137747),
48483 /* 137483 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48484 /* 137487 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3760*/ GIMT_Encode4(137529), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 3589 //
48485 /* 137494 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48486 /* 137498 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48487 /* 137504 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
48488 /* 137506 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
48489 /* 137510 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48490 /* 137516 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
48491 /* 137518 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
48492 /* 137520 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, immAllOnesV:{ *:[v8i64] }, immAllZerosV:{ *:[v8i64] }) => (AVX512_512_SEXT_MASK_64:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask)
48493 /* 137520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AVX512_512_SEXT_MASK_64),
48494 /* 137523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48495 /* 137525 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48496 /* 137527 */ GIR_RootConstrainSelectedInstOperands,
48497 /* 137528 */ // GIR_Coverage, 3589,
48498 /* 137528 */ GIR_EraseRootFromParent_Done,
48499 /* 137529 */ // Label 3760: @137529
48500 /* 137529 */ GIM_Try, /*On fail goto*//*Label 3761*/ GIMT_Encode4(137622), // Rule ID 19875 //
48501 /* 137534 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48502 /* 137538 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48503 /* 137544 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48504 /* 137546 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48505 /* 137550 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48506 /* 137552 */ // (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)
48507 /* 137552 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
48508 /* 137555 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48509 /* 137559 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48510 /* 137564 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // mask
48511 /* 137568 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
48512 /* 137573 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
48513 /* 137576 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
48514 /* 137580 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48515 /* 137585 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48516 /* 137588 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
48517 /* 137590 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
48518 /* 137593 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48519 /* 137597 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48520 /* 137602 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48521 /* 137605 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
48522 /* 137610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48523 /* 137613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48524 /* 137615 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
48525 /* 137618 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48526 /* 137620 */ GIR_RootConstrainSelectedInstOperands,
48527 /* 137621 */ // GIR_Coverage, 19875,
48528 /* 137621 */ GIR_EraseRootFromParent_Done,
48529 /* 137622 */ // Label 3761: @137622
48530 /* 137622 */ GIM_Try, /*On fail goto*//*Label 3762*/ GIMT_Encode4(137746),
48531 /* 137627 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48532 /* 137631 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3763*/ GIMT_Encode4(137663), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4472 //
48533 /* 137638 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48534 /* 137642 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48535 /* 137648 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48536 /* 137650 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48537 /* 137652 */ // (vselect:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src, immAllZerosV:{ *:[v8f64] }) => (VMOVAPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
48538 /* 137652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
48539 /* 137655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48540 /* 137657 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48541 /* 137659 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48542 /* 137661 */ GIR_RootConstrainSelectedInstOperands,
48543 /* 137662 */ // GIR_Coverage, 4472,
48544 /* 137662 */ GIR_EraseRootFromParent_Done,
48545 /* 137663 */ // Label 3763: @137663
48546 /* 137663 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3764*/ GIMT_Encode4(137695), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4529 //
48547 /* 137670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48548 /* 137674 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48549 /* 137680 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48550 /* 137682 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48551 /* 137684 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src, immAllZerosV:{ *:[v8i64] }) => (VMOVDQA64Zrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
48552 /* 137684 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48553 /* 137687 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48554 /* 137689 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48555 /* 137691 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48556 /* 137693 */ GIR_RootConstrainSelectedInstOperands,
48557 /* 137694 */ // GIR_Coverage, 4529,
48558 /* 137694 */ GIR_EraseRootFromParent_Done,
48559 /* 137695 */ // Label 3764: @137695
48560 /* 137695 */ GIM_Try, /*On fail goto*//*Label 3765*/ GIMT_Encode4(137745),
48561 /* 137700 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48562 /* 137704 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3766*/ GIMT_Encode4(137724), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4474 //
48563 /* 137711 */ // (vselect:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src0) => (VMOVAPDZrrk:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src1)
48564 /* 137711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
48565 /* 137714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48566 /* 137716 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48567 /* 137718 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48568 /* 137720 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48569 /* 137722 */ GIR_RootConstrainSelectedInstOperands,
48570 /* 137723 */ // GIR_Coverage, 4474,
48571 /* 137723 */ GIR_EraseRootFromParent_Done,
48572 /* 137724 */ // Label 3766: @137724
48573 /* 137724 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3767*/ GIMT_Encode4(137744), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 4531 //
48574 /* 137731 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src0) => (VMOVDQA64Zrrk:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src1)
48575 /* 137731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
48576 /* 137734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48577 /* 137736 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48578 /* 137738 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48579 /* 137740 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48580 /* 137742 */ GIR_RootConstrainSelectedInstOperands,
48581 /* 137743 */ // GIR_Coverage, 4531,
48582 /* 137743 */ GIR_EraseRootFromParent_Done,
48583 /* 137744 */ // Label 3767: @137744
48584 /* 137744 */ GIM_Reject,
48585 /* 137745 */ // Label 3765: @137745
48586 /* 137745 */ GIM_Reject,
48587 /* 137746 */ // Label 3762: @137746
48588 /* 137746 */ GIM_Reject,
48589 /* 137747 */ // Label 3759: @137747
48590 /* 137747 */ GIM_Reject,
48591 /* 137748 */ // Label 3757: @137748
48592 /* 137748 */ GIM_Reject,
48593 /* 137749 */ // Label 3639: @137749
48594 /* 137749 */ GIM_Reject,
48595 /* 137750 */ // Label 38: @137750
48596 /* 137750 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(16), GIMT_Encode2(19), /*)*//*default:*//*Label 3771*/ GIMT_Encode4(138566),
48597 /* 137761 */ /*GILLT_v8s16*//*Label 3768*/ GIMT_Encode4(137773),
48598 /* 137765 */ /*GILLT_v16s16*//*Label 3769*/ GIMT_Encode4(138102),
48599 /* 137769 */ /*GILLT_v32s16*//*Label 3770*/ GIMT_Encode4(138411),
48600 /* 137773 */ // Label 3768: @137773
48601 /* 137773 */ GIM_Try, /*On fail goto*//*Label 3772*/ GIMT_Encode4(138101),
48602 /* 137778 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
48603 /* 137781 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
48604 /* 137784 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3773*/ GIMT_Encode4(137845), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23696 //
48605 /* 137791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48606 /* 137795 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48607 /* 137799 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48608 /* 137803 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48609 /* 137806 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48610 /* 137810 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48611 /* 137814 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48612 /* 137818 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48613 /* 137820 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48614 /* 137827 */ // (mulhu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULHUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48615 /* 137827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrm),
48616 /* 137830 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48617 /* 137832 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48618 /* 137834 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48619 /* 137838 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48620 /* 137843 */ GIR_RootConstrainSelectedInstOperands,
48621 /* 137844 */ // GIR_Coverage, 23696,
48622 /* 137844 */ GIR_EraseRootFromParent_Done,
48623 /* 137845 */ // Label 3773: @137845
48624 /* 137845 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3774*/ GIMT_Encode4(137906), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24086 //
48625 /* 137852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48626 /* 137856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48627 /* 137860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48628 /* 137864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48629 /* 137867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48630 /* 137871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48631 /* 137875 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48632 /* 137879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48633 /* 137881 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48634 /* 137888 */ // (mulhu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULHUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48635 /* 137888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rm),
48636 /* 137891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48637 /* 137893 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48638 /* 137895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48639 /* 137899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48640 /* 137904 */ GIR_RootConstrainSelectedInstOperands,
48641 /* 137905 */ // GIR_Coverage, 24086,
48642 /* 137905 */ GIR_EraseRootFromParent_Done,
48643 /* 137906 */ // Label 3774: @137906
48644 /* 137906 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3775*/ GIMT_Encode4(137967), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2559 //
48645 /* 137913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48646 /* 137917 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48647 /* 137921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48648 /* 137925 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48649 /* 137929 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48650 /* 137932 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48651 /* 137936 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48652 /* 137940 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48653 /* 137942 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48654 /* 137949 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48655 /* 137949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrm),
48656 /* 137952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48657 /* 137954 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
48658 /* 137956 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48659 /* 137960 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48660 /* 137965 */ GIR_RootConstrainSelectedInstOperands,
48661 /* 137966 */ // GIR_Coverage, 2559,
48662 /* 137966 */ GIR_EraseRootFromParent_Done,
48663 /* 137967 */ // Label 3775: @137967
48664 /* 137967 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3776*/ GIMT_Encode4(138028), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5063 //
48665 /* 137974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48666 /* 137978 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48667 /* 137982 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48668 /* 137986 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48669 /* 137990 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48670 /* 137993 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48671 /* 137997 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48672 /* 138001 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48673 /* 138003 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48674 /* 138010 */ // (mulhu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48675 /* 138010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rm),
48676 /* 138013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48677 /* 138015 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
48678 /* 138017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48679 /* 138021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48680 /* 138026 */ GIR_RootConstrainSelectedInstOperands,
48681 /* 138027 */ // GIR_Coverage, 5063,
48682 /* 138027 */ GIR_EraseRootFromParent_Done,
48683 /* 138028 */ // Label 3776: @138028
48684 /* 138028 */ GIM_Try, /*On fail goto*//*Label 3777*/ GIMT_Encode4(138074),
48685 /* 138033 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48686 /* 138037 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48687 /* 138041 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48688 /* 138045 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3778*/ GIMT_Encode4(138059), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2558 //
48689 /* 138052 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULHUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
48690 /* 138052 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrr),
48691 /* 138057 */ GIR_RootConstrainSelectedInstOperands,
48692 /* 138058 */ // GIR_Coverage, 2558,
48693 /* 138058 */ GIR_Done,
48694 /* 138059 */ // Label 3778: @138059
48695 /* 138059 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3779*/ GIMT_Encode4(138073), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2560 //
48696 /* 138066 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULHUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
48697 /* 138066 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULHUWrr),
48698 /* 138071 */ GIR_RootConstrainSelectedInstOperands,
48699 /* 138072 */ // GIR_Coverage, 2560,
48700 /* 138072 */ GIR_Done,
48701 /* 138073 */ // Label 3779: @138073
48702 /* 138073 */ GIM_Reject,
48703 /* 138074 */ // Label 3777: @138074
48704 /* 138074 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3780*/ GIMT_Encode4(138100), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5060 //
48705 /* 138081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48706 /* 138085 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48707 /* 138089 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48708 /* 138093 */ // (mulhu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULHUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
48709 /* 138093 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rr),
48710 /* 138098 */ GIR_RootConstrainSelectedInstOperands,
48711 /* 138099 */ // GIR_Coverage, 5060,
48712 /* 138099 */ GIR_Done,
48713 /* 138100 */ // Label 3780: @138100
48714 /* 138100 */ GIM_Reject,
48715 /* 138101 */ // Label 3772: @138101
48716 /* 138101 */ GIM_Reject,
48717 /* 138102 */ // Label 3769: @138102
48718 /* 138102 */ GIM_Try, /*On fail goto*//*Label 3781*/ GIMT_Encode4(138410),
48719 /* 138107 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
48720 /* 138110 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
48721 /* 138113 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3782*/ GIMT_Encode4(138174), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23698 //
48722 /* 138120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
48723 /* 138124 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48724 /* 138128 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48725 /* 138132 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48726 /* 138135 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48727 /* 138139 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48728 /* 138143 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
48729 /* 138147 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48730 /* 138149 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48731 /* 138156 */ // (mulhu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULHUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48732 /* 138156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrm),
48733 /* 138159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48734 /* 138161 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48735 /* 138163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48736 /* 138167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48737 /* 138172 */ GIR_RootConstrainSelectedInstOperands,
48738 /* 138173 */ // GIR_Coverage, 23698,
48739 /* 138173 */ GIR_EraseRootFromParent_Done,
48740 /* 138174 */ // Label 3782: @138174
48741 /* 138174 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3783*/ GIMT_Encode4(138235), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24083 //
48742 /* 138181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48743 /* 138185 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48744 /* 138189 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48745 /* 138193 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48746 /* 138196 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48747 /* 138200 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48748 /* 138204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48749 /* 138208 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48750 /* 138210 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48751 /* 138217 */ // (mulhu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULHUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48752 /* 138217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rm),
48753 /* 138220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48754 /* 138222 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48755 /* 138224 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48756 /* 138228 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48757 /* 138233 */ GIR_RootConstrainSelectedInstOperands,
48758 /* 138234 */ // GIR_Coverage, 24083,
48759 /* 138234 */ GIR_EraseRootFromParent_Done,
48760 /* 138235 */ // Label 3783: @138235
48761 /* 138235 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3784*/ GIMT_Encode4(138296), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2563 //
48762 /* 138242 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
48763 /* 138246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
48764 /* 138250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48765 /* 138254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48766 /* 138258 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48767 /* 138261 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48768 /* 138265 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48769 /* 138269 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48770 /* 138271 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48771 /* 138278 */ // (mulhu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48772 /* 138278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrm),
48773 /* 138281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48774 /* 138283 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
48775 /* 138285 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48776 /* 138289 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48777 /* 138294 */ GIR_RootConstrainSelectedInstOperands,
48778 /* 138295 */ // GIR_Coverage, 2563,
48779 /* 138295 */ GIR_EraseRootFromParent_Done,
48780 /* 138296 */ // Label 3784: @138296
48781 /* 138296 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3785*/ GIMT_Encode4(138357), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5057 //
48782 /* 138303 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48783 /* 138307 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48784 /* 138311 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48785 /* 138315 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48786 /* 138319 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48787 /* 138322 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48788 /* 138326 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48789 /* 138330 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48790 /* 138332 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48791 /* 138339 */ // (mulhu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48792 /* 138339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rm),
48793 /* 138342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48794 /* 138344 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
48795 /* 138346 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48796 /* 138350 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48797 /* 138355 */ GIR_RootConstrainSelectedInstOperands,
48798 /* 138356 */ // GIR_Coverage, 5057,
48799 /* 138356 */ GIR_EraseRootFromParent_Done,
48800 /* 138357 */ // Label 3785: @138357
48801 /* 138357 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3786*/ GIMT_Encode4(138383), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2562 //
48802 /* 138364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
48803 /* 138368 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
48804 /* 138372 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
48805 /* 138376 */ // (mulhu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULHUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
48806 /* 138376 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrr),
48807 /* 138381 */ GIR_RootConstrainSelectedInstOperands,
48808 /* 138382 */ // GIR_Coverage, 2562,
48809 /* 138382 */ GIR_Done,
48810 /* 138383 */ // Label 3786: @138383
48811 /* 138383 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3787*/ GIMT_Encode4(138409), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5054 //
48812 /* 138390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48813 /* 138394 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48814 /* 138398 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48815 /* 138402 */ // (mulhu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULHUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
48816 /* 138402 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rr),
48817 /* 138407 */ GIR_RootConstrainSelectedInstOperands,
48818 /* 138408 */ // GIR_Coverage, 5054,
48819 /* 138408 */ GIR_Done,
48820 /* 138409 */ // Label 3787: @138409
48821 /* 138409 */ GIM_Reject,
48822 /* 138410 */ // Label 3781: @138410
48823 /* 138410 */ GIM_Reject,
48824 /* 138411 */ // Label 3770: @138411
48825 /* 138411 */ GIM_Try, /*On fail goto*//*Label 3788*/ GIMT_Encode4(138565),
48826 /* 138416 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
48827 /* 138419 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
48828 /* 138422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48829 /* 138426 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3789*/ GIMT_Encode4(138483), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24080 //
48830 /* 138433 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48831 /* 138437 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48832 /* 138441 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48833 /* 138444 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48834 /* 138448 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48835 /* 138452 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48836 /* 138456 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48837 /* 138458 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48838 /* 138465 */ // (mulhu:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULHUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48839 /* 138465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrm),
48840 /* 138468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48841 /* 138470 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48842 /* 138472 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48843 /* 138476 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48844 /* 138481 */ GIR_RootConstrainSelectedInstOperands,
48845 /* 138482 */ // GIR_Coverage, 24080,
48846 /* 138482 */ GIR_EraseRootFromParent_Done,
48847 /* 138483 */ // Label 3789: @138483
48848 /* 138483 */ GIM_Try, /*On fail goto*//*Label 3790*/ GIMT_Encode4(138564),
48849 /* 138488 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48850 /* 138492 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3791*/ GIMT_Encode4(138545), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5051 //
48851 /* 138499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48852 /* 138503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48853 /* 138507 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48854 /* 138510 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48855 /* 138514 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48856 /* 138518 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48857 /* 138520 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48858 /* 138527 */ // (mulhu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48859 /* 138527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrm),
48860 /* 138530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48861 /* 138532 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
48862 /* 138534 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48863 /* 138538 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48864 /* 138543 */ GIR_RootConstrainSelectedInstOperands,
48865 /* 138544 */ // GIR_Coverage, 5051,
48866 /* 138544 */ GIR_EraseRootFromParent_Done,
48867 /* 138545 */ // Label 3791: @138545
48868 /* 138545 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3792*/ GIMT_Encode4(138563), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5048 //
48869 /* 138552 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48870 /* 138556 */ // (mulhu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULHUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
48871 /* 138556 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrr),
48872 /* 138561 */ GIR_RootConstrainSelectedInstOperands,
48873 /* 138562 */ // GIR_Coverage, 5048,
48874 /* 138562 */ GIR_Done,
48875 /* 138563 */ // Label 3792: @138563
48876 /* 138563 */ GIM_Reject,
48877 /* 138564 */ // Label 3790: @138564
48878 /* 138564 */ GIM_Reject,
48879 /* 138565 */ // Label 3788: @138565
48880 /* 138565 */ GIM_Reject,
48881 /* 138566 */ // Label 3771: @138566
48882 /* 138566 */ GIM_Reject,
48883 /* 138567 */ // Label 39: @138567
48884 /* 138567 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(16), GIMT_Encode2(19), /*)*//*default:*//*Label 3796*/ GIMT_Encode4(139383),
48885 /* 138578 */ /*GILLT_v8s16*//*Label 3793*/ GIMT_Encode4(138590),
48886 /* 138582 */ /*GILLT_v16s16*//*Label 3794*/ GIMT_Encode4(138919),
48887 /* 138586 */ /*GILLT_v32s16*//*Label 3795*/ GIMT_Encode4(139228),
48888 /* 138590 */ // Label 3793: @138590
48889 /* 138590 */ GIM_Try, /*On fail goto*//*Label 3797*/ GIMT_Encode4(138918),
48890 /* 138595 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
48891 /* 138598 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
48892 /* 138601 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3798*/ GIMT_Encode4(138662), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23699 //
48893 /* 138608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48894 /* 138612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48895 /* 138616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48896 /* 138620 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48897 /* 138623 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48898 /* 138627 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48899 /* 138631 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48900 /* 138635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48901 /* 138637 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48902 /* 138644 */ // (mulhs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULHWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48903 /* 138644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWrm),
48904 /* 138647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48905 /* 138649 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48906 /* 138651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48907 /* 138655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48908 /* 138660 */ GIR_RootConstrainSelectedInstOperands,
48909 /* 138661 */ // GIR_Coverage, 23699,
48910 /* 138661 */ GIR_EraseRootFromParent_Done,
48911 /* 138662 */ // Label 3798: @138662
48912 /* 138662 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3799*/ GIMT_Encode4(138723), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24077 //
48913 /* 138669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48914 /* 138673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48915 /* 138677 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48916 /* 138681 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48917 /* 138684 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48918 /* 138688 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48919 /* 138692 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48920 /* 138696 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48921 /* 138698 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48922 /* 138705 */ // (mulhs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULHWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48923 /* 138705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rm),
48924 /* 138708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48925 /* 138710 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48926 /* 138712 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48927 /* 138716 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48928 /* 138721 */ GIR_RootConstrainSelectedInstOperands,
48929 /* 138722 */ // GIR_Coverage, 24077,
48930 /* 138722 */ GIR_EraseRootFromParent_Done,
48931 /* 138723 */ // Label 3799: @138723
48932 /* 138723 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3800*/ GIMT_Encode4(138784), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2565 //
48933 /* 138730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48934 /* 138734 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48935 /* 138738 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48936 /* 138742 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48937 /* 138746 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48938 /* 138749 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48939 /* 138753 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48940 /* 138757 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48941 /* 138759 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48942 /* 138766 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48943 /* 138766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWrm),
48944 /* 138769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48945 /* 138771 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
48946 /* 138773 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48947 /* 138777 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48948 /* 138782 */ GIR_RootConstrainSelectedInstOperands,
48949 /* 138783 */ // GIR_Coverage, 2565,
48950 /* 138783 */ GIR_EraseRootFromParent_Done,
48951 /* 138784 */ // Label 3800: @138784
48952 /* 138784 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3801*/ GIMT_Encode4(138845), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5045 //
48953 /* 138791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48954 /* 138795 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48955 /* 138799 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48956 /* 138803 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48957 /* 138807 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48958 /* 138810 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48959 /* 138814 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48960 /* 138818 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48961 /* 138820 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48962 /* 138827 */ // (mulhs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
48963 /* 138827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rm),
48964 /* 138830 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48965 /* 138832 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
48966 /* 138834 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
48967 /* 138838 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48968 /* 138843 */ GIR_RootConstrainSelectedInstOperands,
48969 /* 138844 */ // GIR_Coverage, 5045,
48970 /* 138844 */ GIR_EraseRootFromParent_Done,
48971 /* 138845 */ // Label 3801: @138845
48972 /* 138845 */ GIM_Try, /*On fail goto*//*Label 3802*/ GIMT_Encode4(138891),
48973 /* 138850 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48974 /* 138854 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48975 /* 138858 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
48976 /* 138862 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3803*/ GIMT_Encode4(138876), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2564 //
48977 /* 138869 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULHWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
48978 /* 138869 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWrr),
48979 /* 138874 */ GIR_RootConstrainSelectedInstOperands,
48980 /* 138875 */ // GIR_Coverage, 2564,
48981 /* 138875 */ GIR_Done,
48982 /* 138876 */ // Label 3803: @138876
48983 /* 138876 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3804*/ GIMT_Encode4(138890), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2566 //
48984 /* 138883 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULHWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
48985 /* 138883 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULHWrr),
48986 /* 138888 */ GIR_RootConstrainSelectedInstOperands,
48987 /* 138889 */ // GIR_Coverage, 2566,
48988 /* 138889 */ GIR_Done,
48989 /* 138890 */ // Label 3804: @138890
48990 /* 138890 */ GIM_Reject,
48991 /* 138891 */ // Label 3802: @138891
48992 /* 138891 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3805*/ GIMT_Encode4(138917), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5042 //
48993 /* 138898 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48994 /* 138902 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48995 /* 138906 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48996 /* 138910 */ // (mulhs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULHWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
48997 /* 138910 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rr),
48998 /* 138915 */ GIR_RootConstrainSelectedInstOperands,
48999 /* 138916 */ // GIR_Coverage, 5042,
49000 /* 138916 */ GIR_Done,
49001 /* 138917 */ // Label 3805: @138917
49002 /* 138917 */ GIM_Reject,
49003 /* 138918 */ // Label 3797: @138918
49004 /* 138918 */ GIM_Reject,
49005 /* 138919 */ // Label 3794: @138919
49006 /* 138919 */ GIM_Try, /*On fail goto*//*Label 3806*/ GIMT_Encode4(139227),
49007 /* 138924 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
49008 /* 138927 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
49009 /* 138930 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3807*/ GIMT_Encode4(138991), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23701 //
49010 /* 138937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49011 /* 138941 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49012 /* 138945 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49013 /* 138949 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49014 /* 138952 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49015 /* 138956 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49016 /* 138960 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49017 /* 138964 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49018 /* 138966 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49019 /* 138973 */ // (mulhs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULHWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49020 /* 138973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrm),
49021 /* 138976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49022 /* 138978 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49023 /* 138980 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49024 /* 138984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49025 /* 138989 */ GIR_RootConstrainSelectedInstOperands,
49026 /* 138990 */ // GIR_Coverage, 23701,
49027 /* 138990 */ GIR_EraseRootFromParent_Done,
49028 /* 138991 */ // Label 3807: @138991
49029 /* 138991 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3808*/ GIMT_Encode4(139052), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24074 //
49030 /* 138998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49031 /* 139002 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49032 /* 139006 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49033 /* 139010 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49034 /* 139013 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49035 /* 139017 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49036 /* 139021 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49037 /* 139025 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49038 /* 139027 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49039 /* 139034 */ // (mulhs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULHWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49040 /* 139034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rm),
49041 /* 139037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49042 /* 139039 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49043 /* 139041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49044 /* 139045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49045 /* 139050 */ GIR_RootConstrainSelectedInstOperands,
49046 /* 139051 */ // GIR_Coverage, 24074,
49047 /* 139051 */ GIR_EraseRootFromParent_Done,
49048 /* 139052 */ // Label 3808: @139052
49049 /* 139052 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3809*/ GIMT_Encode4(139113), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2569 //
49050 /* 139059 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49051 /* 139063 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49052 /* 139067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49053 /* 139071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49054 /* 139075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49055 /* 139078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49056 /* 139082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49057 /* 139086 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49058 /* 139088 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49059 /* 139095 */ // (mulhs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49060 /* 139095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrm),
49061 /* 139098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49062 /* 139100 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49063 /* 139102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49064 /* 139106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49065 /* 139111 */ GIR_RootConstrainSelectedInstOperands,
49066 /* 139112 */ // GIR_Coverage, 2569,
49067 /* 139112 */ GIR_EraseRootFromParent_Done,
49068 /* 139113 */ // Label 3809: @139113
49069 /* 139113 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3810*/ GIMT_Encode4(139174), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5039 //
49070 /* 139120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49071 /* 139124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49072 /* 139128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49073 /* 139132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49074 /* 139136 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49075 /* 139139 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49076 /* 139143 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49077 /* 139147 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49078 /* 139149 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49079 /* 139156 */ // (mulhs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49080 /* 139156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rm),
49081 /* 139159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49082 /* 139161 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49083 /* 139163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49084 /* 139167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49085 /* 139172 */ GIR_RootConstrainSelectedInstOperands,
49086 /* 139173 */ // GIR_Coverage, 5039,
49087 /* 139173 */ GIR_EraseRootFromParent_Done,
49088 /* 139174 */ // Label 3810: @139174
49089 /* 139174 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3811*/ GIMT_Encode4(139200), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2568 //
49090 /* 139181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49091 /* 139185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49092 /* 139189 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49093 /* 139193 */ // (mulhs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULHWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
49094 /* 139193 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrr),
49095 /* 139198 */ GIR_RootConstrainSelectedInstOperands,
49096 /* 139199 */ // GIR_Coverage, 2568,
49097 /* 139199 */ GIR_Done,
49098 /* 139200 */ // Label 3811: @139200
49099 /* 139200 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3812*/ GIMT_Encode4(139226), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5036 //
49100 /* 139207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49101 /* 139211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49102 /* 139215 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49103 /* 139219 */ // (mulhs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULHWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
49104 /* 139219 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rr),
49105 /* 139224 */ GIR_RootConstrainSelectedInstOperands,
49106 /* 139225 */ // GIR_Coverage, 5036,
49107 /* 139225 */ GIR_Done,
49108 /* 139226 */ // Label 3812: @139226
49109 /* 139226 */ GIM_Reject,
49110 /* 139227 */ // Label 3806: @139227
49111 /* 139227 */ GIM_Reject,
49112 /* 139228 */ // Label 3795: @139228
49113 /* 139228 */ GIM_Try, /*On fail goto*//*Label 3813*/ GIMT_Encode4(139382),
49114 /* 139233 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
49115 /* 139236 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
49116 /* 139239 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49117 /* 139243 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3814*/ GIMT_Encode4(139300), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24071 //
49118 /* 139250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49119 /* 139254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49120 /* 139258 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49121 /* 139261 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49122 /* 139265 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49123 /* 139269 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49124 /* 139273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49125 /* 139275 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49126 /* 139282 */ // (mulhs:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULHWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49127 /* 139282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrm),
49128 /* 139285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49129 /* 139287 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49130 /* 139289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49131 /* 139293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49132 /* 139298 */ GIR_RootConstrainSelectedInstOperands,
49133 /* 139299 */ // GIR_Coverage, 24071,
49134 /* 139299 */ GIR_EraseRootFromParent_Done,
49135 /* 139300 */ // Label 3814: @139300
49136 /* 139300 */ GIM_Try, /*On fail goto*//*Label 3815*/ GIMT_Encode4(139381),
49137 /* 139305 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49138 /* 139309 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3816*/ GIMT_Encode4(139362), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5033 //
49139 /* 139316 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49140 /* 139320 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49141 /* 139324 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49142 /* 139327 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49143 /* 139331 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49144 /* 139335 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49145 /* 139337 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49146 /* 139344 */ // (mulhs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49147 /* 139344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrm),
49148 /* 139347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49149 /* 139349 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49150 /* 139351 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49151 /* 139355 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49152 /* 139360 */ GIR_RootConstrainSelectedInstOperands,
49153 /* 139361 */ // GIR_Coverage, 5033,
49154 /* 139361 */ GIR_EraseRootFromParent_Done,
49155 /* 139362 */ // Label 3816: @139362
49156 /* 139362 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3817*/ GIMT_Encode4(139380), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5030 //
49157 /* 139369 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49158 /* 139373 */ // (mulhs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULHWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
49159 /* 139373 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrr),
49160 /* 139378 */ GIR_RootConstrainSelectedInstOperands,
49161 /* 139379 */ // GIR_Coverage, 5030,
49162 /* 139379 */ GIR_Done,
49163 /* 139380 */ // Label 3817: @139380
49164 /* 139380 */ GIM_Reject,
49165 /* 139381 */ // Label 3815: @139381
49166 /* 139381 */ GIM_Reject,
49167 /* 139382 */ // Label 3813: @139382
49168 /* 139382 */ GIM_Reject,
49169 /* 139383 */ // Label 3796: @139383
49170 /* 139383 */ GIM_Reject,
49171 /* 139384 */ // Label 40: @139384
49172 /* 139384 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(19), /*)*//*default:*//*Label 3824*/ GIMT_Encode4(141005),
49173 /* 139395 */ /*GILLT_v16s8*//*Label 3818*/ GIMT_Encode4(139419),
49174 /* 139399 */ /*GILLT_v32s8*//*Label 3819*/ GIMT_Encode4(139748),
49175 /* 139403 */ /*GILLT_v64s8*//*Label 3820*/ GIMT_Encode4(140057),
49176 /* 139407 */ /*GILLT_v8s16*//*Label 3821*/ GIMT_Encode4(140212),
49177 /* 139411 */ /*GILLT_v16s16*//*Label 3822*/ GIMT_Encode4(140541),
49178 /* 139415 */ /*GILLT_v32s16*//*Label 3823*/ GIMT_Encode4(140850),
49179 /* 139419 */ // Label 3818: @139419
49180 /* 139419 */ GIM_Try, /*On fail goto*//*Label 3825*/ GIMT_Encode4(139747),
49181 /* 139424 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
49182 /* 139427 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
49183 /* 139430 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3826*/ GIMT_Encode4(139491), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23687 //
49184 /* 139437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49185 /* 139441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49186 /* 139445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49187 /* 139449 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49188 /* 139452 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49189 /* 139456 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49190 /* 139460 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49191 /* 139464 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49192 /* 139466 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49193 /* 139473 */ // (uaddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49194 /* 139473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrm),
49195 /* 139476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49196 /* 139478 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49197 /* 139480 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49198 /* 139484 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49199 /* 139489 */ GIR_RootConstrainSelectedInstOperands,
49200 /* 139490 */ // GIR_Coverage, 23687,
49201 /* 139490 */ GIR_EraseRootFromParent_Done,
49202 /* 139491 */ // Label 3826: @139491
49203 /* 139491 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3827*/ GIMT_Encode4(139552), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24023 //
49204 /* 139498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49205 /* 139502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49206 /* 139506 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49207 /* 139510 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49208 /* 139513 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49209 /* 139517 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49210 /* 139521 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49211 /* 139525 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49212 /* 139527 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49213 /* 139534 */ // (uaddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49214 /* 139534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rm),
49215 /* 139537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49216 /* 139539 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49217 /* 139541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49218 /* 139545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49219 /* 139550 */ GIR_RootConstrainSelectedInstOperands,
49220 /* 139551 */ // GIR_Coverage, 24023,
49221 /* 139551 */ GIR_EraseRootFromParent_Done,
49222 /* 139552 */ // Label 3827: @139552
49223 /* 139552 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3828*/ GIMT_Encode4(139613), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2541 //
49224 /* 139559 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49225 /* 139563 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49226 /* 139567 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49227 /* 139571 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49228 /* 139575 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49229 /* 139578 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49230 /* 139582 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49231 /* 139586 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49232 /* 139588 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49233 /* 139595 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49234 /* 139595 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrm),
49235 /* 139598 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49236 /* 139600 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49237 /* 139602 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49238 /* 139606 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49239 /* 139611 */ GIR_RootConstrainSelectedInstOperands,
49240 /* 139612 */ // GIR_Coverage, 2541,
49241 /* 139612 */ GIR_EraseRootFromParent_Done,
49242 /* 139613 */ // Label 3828: @139613
49243 /* 139613 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3829*/ GIMT_Encode4(139674), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4919 //
49244 /* 139620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49245 /* 139624 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49246 /* 139628 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49247 /* 139632 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49248 /* 139636 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49249 /* 139639 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49250 /* 139643 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49251 /* 139647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49252 /* 139649 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49253 /* 139656 */ // (uaddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49254 /* 139656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rm),
49255 /* 139659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49256 /* 139661 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49257 /* 139663 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49258 /* 139667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49259 /* 139672 */ GIR_RootConstrainSelectedInstOperands,
49260 /* 139673 */ // GIR_Coverage, 4919,
49261 /* 139673 */ GIR_EraseRootFromParent_Done,
49262 /* 139674 */ // Label 3829: @139674
49263 /* 139674 */ GIM_Try, /*On fail goto*//*Label 3830*/ GIMT_Encode4(139720),
49264 /* 139679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49265 /* 139683 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49266 /* 139687 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49267 /* 139691 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3831*/ GIMT_Encode4(139705), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2540 //
49268 /* 139698 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
49269 /* 139698 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrr),
49270 /* 139703 */ GIR_RootConstrainSelectedInstOperands,
49271 /* 139704 */ // GIR_Coverage, 2540,
49272 /* 139704 */ GIR_Done,
49273 /* 139705 */ // Label 3831: @139705
49274 /* 139705 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3832*/ GIMT_Encode4(139719), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2542 //
49275 /* 139712 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
49276 /* 139712 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDUSBrr),
49277 /* 139717 */ GIR_RootConstrainSelectedInstOperands,
49278 /* 139718 */ // GIR_Coverage, 2542,
49279 /* 139718 */ GIR_Done,
49280 /* 139719 */ // Label 3832: @139719
49281 /* 139719 */ GIM_Reject,
49282 /* 139720 */ // Label 3830: @139720
49283 /* 139720 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3833*/ GIMT_Encode4(139746), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4916 //
49284 /* 139727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49285 /* 139731 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49286 /* 139735 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49287 /* 139739 */ // (uaddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDUSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
49288 /* 139739 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rr),
49289 /* 139744 */ GIR_RootConstrainSelectedInstOperands,
49290 /* 139745 */ // GIR_Coverage, 4916,
49291 /* 139745 */ GIR_Done,
49292 /* 139746 */ // Label 3833: @139746
49293 /* 139746 */ GIM_Reject,
49294 /* 139747 */ // Label 3825: @139747
49295 /* 139747 */ GIM_Reject,
49296 /* 139748 */ // Label 3819: @139748
49297 /* 139748 */ GIM_Try, /*On fail goto*//*Label 3834*/ GIMT_Encode4(140056),
49298 /* 139753 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
49299 /* 139756 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
49300 /* 139759 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3835*/ GIMT_Encode4(139820), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23689 //
49301 /* 139766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49302 /* 139770 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49303 /* 139774 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49304 /* 139778 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49305 /* 139781 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49306 /* 139785 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49307 /* 139789 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49308 /* 139793 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49309 /* 139795 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49310 /* 139802 */ // (uaddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49311 /* 139802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrm),
49312 /* 139805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49313 /* 139807 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49314 /* 139809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49315 /* 139813 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49316 /* 139818 */ GIR_RootConstrainSelectedInstOperands,
49317 /* 139819 */ // GIR_Coverage, 23689,
49318 /* 139819 */ GIR_EraseRootFromParent_Done,
49319 /* 139820 */ // Label 3835: @139820
49320 /* 139820 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3836*/ GIMT_Encode4(139881), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24020 //
49321 /* 139827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49322 /* 139831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49323 /* 139835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49324 /* 139839 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49325 /* 139842 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49326 /* 139846 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49327 /* 139850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49328 /* 139854 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49329 /* 139856 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49330 /* 139863 */ // (uaddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49331 /* 139863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rm),
49332 /* 139866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49333 /* 139868 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49334 /* 139870 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49335 /* 139874 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49336 /* 139879 */ GIR_RootConstrainSelectedInstOperands,
49337 /* 139880 */ // GIR_Coverage, 24020,
49338 /* 139880 */ GIR_EraseRootFromParent_Done,
49339 /* 139881 */ // Label 3836: @139881
49340 /* 139881 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3837*/ GIMT_Encode4(139942), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2545 //
49341 /* 139888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49342 /* 139892 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49343 /* 139896 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49344 /* 139900 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49345 /* 139904 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49346 /* 139907 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49347 /* 139911 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49348 /* 139915 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49349 /* 139917 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49350 /* 139924 */ // (uaddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49351 /* 139924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrm),
49352 /* 139927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49353 /* 139929 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49354 /* 139931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49355 /* 139935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49356 /* 139940 */ GIR_RootConstrainSelectedInstOperands,
49357 /* 139941 */ // GIR_Coverage, 2545,
49358 /* 139941 */ GIR_EraseRootFromParent_Done,
49359 /* 139942 */ // Label 3837: @139942
49360 /* 139942 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3838*/ GIMT_Encode4(140003), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4913 //
49361 /* 139949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49362 /* 139953 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49363 /* 139957 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49364 /* 139961 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49365 /* 139965 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49366 /* 139968 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49367 /* 139972 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49368 /* 139976 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49369 /* 139978 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49370 /* 139985 */ // (uaddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49371 /* 139985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rm),
49372 /* 139988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49373 /* 139990 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49374 /* 139992 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49375 /* 139996 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49376 /* 140001 */ GIR_RootConstrainSelectedInstOperands,
49377 /* 140002 */ // GIR_Coverage, 4913,
49378 /* 140002 */ GIR_EraseRootFromParent_Done,
49379 /* 140003 */ // Label 3838: @140003
49380 /* 140003 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3839*/ GIMT_Encode4(140029), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2544 //
49381 /* 140010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49382 /* 140014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49383 /* 140018 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49384 /* 140022 */ // (uaddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDUSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
49385 /* 140022 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrr),
49386 /* 140027 */ GIR_RootConstrainSelectedInstOperands,
49387 /* 140028 */ // GIR_Coverage, 2544,
49388 /* 140028 */ GIR_Done,
49389 /* 140029 */ // Label 3839: @140029
49390 /* 140029 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3840*/ GIMT_Encode4(140055), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4910 //
49391 /* 140036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49392 /* 140040 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49393 /* 140044 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49394 /* 140048 */ // (uaddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDUSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
49395 /* 140048 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rr),
49396 /* 140053 */ GIR_RootConstrainSelectedInstOperands,
49397 /* 140054 */ // GIR_Coverage, 4910,
49398 /* 140054 */ GIR_Done,
49399 /* 140055 */ // Label 3840: @140055
49400 /* 140055 */ GIM_Reject,
49401 /* 140056 */ // Label 3834: @140056
49402 /* 140056 */ GIM_Reject,
49403 /* 140057 */ // Label 3820: @140057
49404 /* 140057 */ GIM_Try, /*On fail goto*//*Label 3841*/ GIMT_Encode4(140211),
49405 /* 140062 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
49406 /* 140065 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
49407 /* 140068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49408 /* 140072 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3842*/ GIMT_Encode4(140129), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24017 //
49409 /* 140079 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49410 /* 140083 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49411 /* 140087 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49412 /* 140090 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49413 /* 140094 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49414 /* 140098 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49415 /* 140102 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49416 /* 140104 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49417 /* 140111 */ // (uaddsat:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49418 /* 140111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrm),
49419 /* 140114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49420 /* 140116 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49421 /* 140118 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49422 /* 140122 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49423 /* 140127 */ GIR_RootConstrainSelectedInstOperands,
49424 /* 140128 */ // GIR_Coverage, 24017,
49425 /* 140128 */ GIR_EraseRootFromParent_Done,
49426 /* 140129 */ // Label 3842: @140129
49427 /* 140129 */ GIM_Try, /*On fail goto*//*Label 3843*/ GIMT_Encode4(140210),
49428 /* 140134 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49429 /* 140138 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3844*/ GIMT_Encode4(140191), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4907 //
49430 /* 140145 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49431 /* 140149 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49432 /* 140153 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49433 /* 140156 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49434 /* 140160 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49435 /* 140164 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49436 /* 140166 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49437 /* 140173 */ // (uaddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49438 /* 140173 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrm),
49439 /* 140176 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49440 /* 140178 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49441 /* 140180 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49442 /* 140184 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49443 /* 140189 */ GIR_RootConstrainSelectedInstOperands,
49444 /* 140190 */ // GIR_Coverage, 4907,
49445 /* 140190 */ GIR_EraseRootFromParent_Done,
49446 /* 140191 */ // Label 3844: @140191
49447 /* 140191 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3845*/ GIMT_Encode4(140209), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4904 //
49448 /* 140198 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49449 /* 140202 */ // (uaddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDUSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
49450 /* 140202 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrr),
49451 /* 140207 */ GIR_RootConstrainSelectedInstOperands,
49452 /* 140208 */ // GIR_Coverage, 4904,
49453 /* 140208 */ GIR_Done,
49454 /* 140209 */ // Label 3845: @140209
49455 /* 140209 */ GIM_Reject,
49456 /* 140210 */ // Label 3843: @140210
49457 /* 140210 */ GIM_Reject,
49458 /* 140211 */ // Label 3841: @140211
49459 /* 140211 */ GIM_Reject,
49460 /* 140212 */ // Label 3821: @140212
49461 /* 140212 */ GIM_Try, /*On fail goto*//*Label 3846*/ GIMT_Encode4(140540),
49462 /* 140217 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
49463 /* 140220 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
49464 /* 140223 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3847*/ GIMT_Encode4(140284), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23690 //
49465 /* 140230 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49466 /* 140234 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49467 /* 140238 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49468 /* 140242 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49469 /* 140245 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49470 /* 140249 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49471 /* 140253 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49472 /* 140257 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49473 /* 140259 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49474 /* 140266 */ // (uaddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49475 /* 140266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrm),
49476 /* 140269 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49477 /* 140271 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49478 /* 140273 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49479 /* 140277 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49480 /* 140282 */ GIR_RootConstrainSelectedInstOperands,
49481 /* 140283 */ // GIR_Coverage, 23690,
49482 /* 140283 */ GIR_EraseRootFromParent_Done,
49483 /* 140284 */ // Label 3847: @140284
49484 /* 140284 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3848*/ GIMT_Encode4(140345), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24014 //
49485 /* 140291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49486 /* 140295 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49487 /* 140299 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49488 /* 140303 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49489 /* 140306 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49490 /* 140310 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49491 /* 140314 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49492 /* 140318 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49493 /* 140320 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49494 /* 140327 */ // (uaddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49495 /* 140327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rm),
49496 /* 140330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49497 /* 140332 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49498 /* 140334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49499 /* 140338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49500 /* 140343 */ GIR_RootConstrainSelectedInstOperands,
49501 /* 140344 */ // GIR_Coverage, 24014,
49502 /* 140344 */ GIR_EraseRootFromParent_Done,
49503 /* 140345 */ // Label 3848: @140345
49504 /* 140345 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3849*/ GIMT_Encode4(140406), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2547 //
49505 /* 140352 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49506 /* 140356 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49507 /* 140360 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49508 /* 140364 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49509 /* 140368 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49510 /* 140371 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49511 /* 140375 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49512 /* 140379 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49513 /* 140381 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49514 /* 140388 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49515 /* 140388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrm),
49516 /* 140391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49517 /* 140393 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49518 /* 140395 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49519 /* 140399 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49520 /* 140404 */ GIR_RootConstrainSelectedInstOperands,
49521 /* 140405 */ // GIR_Coverage, 2547,
49522 /* 140405 */ GIR_EraseRootFromParent_Done,
49523 /* 140406 */ // Label 3849: @140406
49524 /* 140406 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3850*/ GIMT_Encode4(140467), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4901 //
49525 /* 140413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49526 /* 140417 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49527 /* 140421 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49528 /* 140425 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49529 /* 140429 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49530 /* 140432 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49531 /* 140436 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49532 /* 140440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49533 /* 140442 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49534 /* 140449 */ // (uaddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49535 /* 140449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rm),
49536 /* 140452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49537 /* 140454 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49538 /* 140456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49539 /* 140460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49540 /* 140465 */ GIR_RootConstrainSelectedInstOperands,
49541 /* 140466 */ // GIR_Coverage, 4901,
49542 /* 140466 */ GIR_EraseRootFromParent_Done,
49543 /* 140467 */ // Label 3850: @140467
49544 /* 140467 */ GIM_Try, /*On fail goto*//*Label 3851*/ GIMT_Encode4(140513),
49545 /* 140472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49546 /* 140476 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49547 /* 140480 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49548 /* 140484 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3852*/ GIMT_Encode4(140498), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2546 //
49549 /* 140491 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
49550 /* 140491 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrr),
49551 /* 140496 */ GIR_RootConstrainSelectedInstOperands,
49552 /* 140497 */ // GIR_Coverage, 2546,
49553 /* 140497 */ GIR_Done,
49554 /* 140498 */ // Label 3852: @140498
49555 /* 140498 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3853*/ GIMT_Encode4(140512), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2548 //
49556 /* 140505 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
49557 /* 140505 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDUSWrr),
49558 /* 140510 */ GIR_RootConstrainSelectedInstOperands,
49559 /* 140511 */ // GIR_Coverage, 2548,
49560 /* 140511 */ GIR_Done,
49561 /* 140512 */ // Label 3853: @140512
49562 /* 140512 */ GIM_Reject,
49563 /* 140513 */ // Label 3851: @140513
49564 /* 140513 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3854*/ GIMT_Encode4(140539), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4898 //
49565 /* 140520 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49566 /* 140524 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49567 /* 140528 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49568 /* 140532 */ // (uaddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDUSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
49569 /* 140532 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rr),
49570 /* 140537 */ GIR_RootConstrainSelectedInstOperands,
49571 /* 140538 */ // GIR_Coverage, 4898,
49572 /* 140538 */ GIR_Done,
49573 /* 140539 */ // Label 3854: @140539
49574 /* 140539 */ GIM_Reject,
49575 /* 140540 */ // Label 3846: @140540
49576 /* 140540 */ GIM_Reject,
49577 /* 140541 */ // Label 3822: @140541
49578 /* 140541 */ GIM_Try, /*On fail goto*//*Label 3855*/ GIMT_Encode4(140849),
49579 /* 140546 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
49580 /* 140549 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
49581 /* 140552 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3856*/ GIMT_Encode4(140613), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23692 //
49582 /* 140559 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49583 /* 140563 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49584 /* 140567 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49585 /* 140571 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49586 /* 140574 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49587 /* 140578 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49588 /* 140582 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49589 /* 140586 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49590 /* 140588 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49591 /* 140595 */ // (uaddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49592 /* 140595 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrm),
49593 /* 140598 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49594 /* 140600 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49595 /* 140602 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49596 /* 140606 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49597 /* 140611 */ GIR_RootConstrainSelectedInstOperands,
49598 /* 140612 */ // GIR_Coverage, 23692,
49599 /* 140612 */ GIR_EraseRootFromParent_Done,
49600 /* 140613 */ // Label 3856: @140613
49601 /* 140613 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3857*/ GIMT_Encode4(140674), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24011 //
49602 /* 140620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49603 /* 140624 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49604 /* 140628 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49605 /* 140632 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49606 /* 140635 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49607 /* 140639 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49608 /* 140643 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49609 /* 140647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49610 /* 140649 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49611 /* 140656 */ // (uaddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49612 /* 140656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rm),
49613 /* 140659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49614 /* 140661 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49615 /* 140663 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49616 /* 140667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49617 /* 140672 */ GIR_RootConstrainSelectedInstOperands,
49618 /* 140673 */ // GIR_Coverage, 24011,
49619 /* 140673 */ GIR_EraseRootFromParent_Done,
49620 /* 140674 */ // Label 3857: @140674
49621 /* 140674 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3858*/ GIMT_Encode4(140735), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2551 //
49622 /* 140681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49623 /* 140685 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49624 /* 140689 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49625 /* 140693 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49626 /* 140697 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49627 /* 140700 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49628 /* 140704 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49629 /* 140708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49630 /* 140710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49631 /* 140717 */ // (uaddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49632 /* 140717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrm),
49633 /* 140720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49634 /* 140722 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49635 /* 140724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49636 /* 140728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49637 /* 140733 */ GIR_RootConstrainSelectedInstOperands,
49638 /* 140734 */ // GIR_Coverage, 2551,
49639 /* 140734 */ GIR_EraseRootFromParent_Done,
49640 /* 140735 */ // Label 3858: @140735
49641 /* 140735 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3859*/ GIMT_Encode4(140796), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4895 //
49642 /* 140742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49643 /* 140746 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49644 /* 140750 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49645 /* 140754 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49646 /* 140758 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49647 /* 140761 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49648 /* 140765 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49649 /* 140769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49650 /* 140771 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49651 /* 140778 */ // (uaddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49652 /* 140778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rm),
49653 /* 140781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49654 /* 140783 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49655 /* 140785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49656 /* 140789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49657 /* 140794 */ GIR_RootConstrainSelectedInstOperands,
49658 /* 140795 */ // GIR_Coverage, 4895,
49659 /* 140795 */ GIR_EraseRootFromParent_Done,
49660 /* 140796 */ // Label 3859: @140796
49661 /* 140796 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3860*/ GIMT_Encode4(140822), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2550 //
49662 /* 140803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49663 /* 140807 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49664 /* 140811 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49665 /* 140815 */ // (uaddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDUSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
49666 /* 140815 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrr),
49667 /* 140820 */ GIR_RootConstrainSelectedInstOperands,
49668 /* 140821 */ // GIR_Coverage, 2550,
49669 /* 140821 */ GIR_Done,
49670 /* 140822 */ // Label 3860: @140822
49671 /* 140822 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3861*/ GIMT_Encode4(140848), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4892 //
49672 /* 140829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49673 /* 140833 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49674 /* 140837 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49675 /* 140841 */ // (uaddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDUSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
49676 /* 140841 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rr),
49677 /* 140846 */ GIR_RootConstrainSelectedInstOperands,
49678 /* 140847 */ // GIR_Coverage, 4892,
49679 /* 140847 */ GIR_Done,
49680 /* 140848 */ // Label 3861: @140848
49681 /* 140848 */ GIM_Reject,
49682 /* 140849 */ // Label 3855: @140849
49683 /* 140849 */ GIM_Reject,
49684 /* 140850 */ // Label 3823: @140850
49685 /* 140850 */ GIM_Try, /*On fail goto*//*Label 3862*/ GIMT_Encode4(141004),
49686 /* 140855 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
49687 /* 140858 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
49688 /* 140861 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49689 /* 140865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3863*/ GIMT_Encode4(140922), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24008 //
49690 /* 140872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49691 /* 140876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49692 /* 140880 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49693 /* 140883 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49694 /* 140887 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49695 /* 140891 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49696 /* 140895 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49697 /* 140897 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49698 /* 140904 */ // (uaddsat:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49699 /* 140904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrm),
49700 /* 140907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49701 /* 140909 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49702 /* 140911 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49703 /* 140915 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49704 /* 140920 */ GIR_RootConstrainSelectedInstOperands,
49705 /* 140921 */ // GIR_Coverage, 24008,
49706 /* 140921 */ GIR_EraseRootFromParent_Done,
49707 /* 140922 */ // Label 3863: @140922
49708 /* 140922 */ GIM_Try, /*On fail goto*//*Label 3864*/ GIMT_Encode4(141003),
49709 /* 140927 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49710 /* 140931 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3865*/ GIMT_Encode4(140984), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4889 //
49711 /* 140938 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49712 /* 140942 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49713 /* 140946 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49714 /* 140949 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49715 /* 140953 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49716 /* 140957 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49717 /* 140959 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49718 /* 140966 */ // (uaddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49719 /* 140966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrm),
49720 /* 140969 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49721 /* 140971 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49722 /* 140973 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49723 /* 140977 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49724 /* 140982 */ GIR_RootConstrainSelectedInstOperands,
49725 /* 140983 */ // GIR_Coverage, 4889,
49726 /* 140983 */ GIR_EraseRootFromParent_Done,
49727 /* 140984 */ // Label 3865: @140984
49728 /* 140984 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3866*/ GIMT_Encode4(141002), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4886 //
49729 /* 140991 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49730 /* 140995 */ // (uaddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDUSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
49731 /* 140995 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrr),
49732 /* 141000 */ GIR_RootConstrainSelectedInstOperands,
49733 /* 141001 */ // GIR_Coverage, 4886,
49734 /* 141001 */ GIR_Done,
49735 /* 141002 */ // Label 3866: @141002
49736 /* 141002 */ GIM_Reject,
49737 /* 141003 */ // Label 3864: @141003
49738 /* 141003 */ GIM_Reject,
49739 /* 141004 */ // Label 3862: @141004
49740 /* 141004 */ GIM_Reject,
49741 /* 141005 */ // Label 3824: @141005
49742 /* 141005 */ GIM_Reject,
49743 /* 141006 */ // Label 41: @141006
49744 /* 141006 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(19), /*)*//*default:*//*Label 3873*/ GIMT_Encode4(142627),
49745 /* 141017 */ /*GILLT_v16s8*//*Label 3867*/ GIMT_Encode4(141041),
49746 /* 141021 */ /*GILLT_v32s8*//*Label 3868*/ GIMT_Encode4(141370),
49747 /* 141025 */ /*GILLT_v64s8*//*Label 3869*/ GIMT_Encode4(141679),
49748 /* 141029 */ /*GILLT_v8s16*//*Label 3870*/ GIMT_Encode4(141834),
49749 /* 141033 */ /*GILLT_v16s16*//*Label 3871*/ GIMT_Encode4(142163),
49750 /* 141037 */ /*GILLT_v32s16*//*Label 3872*/ GIMT_Encode4(142472),
49751 /* 141041 */ // Label 3867: @141041
49752 /* 141041 */ GIM_Try, /*On fail goto*//*Label 3874*/ GIMT_Encode4(141369),
49753 /* 141046 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
49754 /* 141049 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
49755 /* 141052 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3875*/ GIMT_Encode4(141113), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23681 //
49756 /* 141059 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49757 /* 141063 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49758 /* 141067 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49759 /* 141071 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49760 /* 141074 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49761 /* 141078 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49762 /* 141082 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49763 /* 141086 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49764 /* 141088 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49765 /* 141095 */ // (saddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49766 /* 141095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBrm),
49767 /* 141098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49768 /* 141100 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49769 /* 141102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49770 /* 141106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49771 /* 141111 */ GIR_RootConstrainSelectedInstOperands,
49772 /* 141112 */ // GIR_Coverage, 23681,
49773 /* 141112 */ GIR_EraseRootFromParent_Done,
49774 /* 141113 */ // Label 3875: @141113
49775 /* 141113 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3876*/ GIMT_Encode4(141174), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24005 //
49776 /* 141120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49777 /* 141124 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49778 /* 141128 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49779 /* 141132 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49780 /* 141135 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49781 /* 141139 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49782 /* 141143 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49783 /* 141147 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49784 /* 141149 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49785 /* 141156 */ // (saddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49786 /* 141156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rm),
49787 /* 141159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49788 /* 141161 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49789 /* 141163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49790 /* 141167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49791 /* 141172 */ GIR_RootConstrainSelectedInstOperands,
49792 /* 141173 */ // GIR_Coverage, 24005,
49793 /* 141173 */ GIR_EraseRootFromParent_Done,
49794 /* 141174 */ // Label 3876: @141174
49795 /* 141174 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3877*/ GIMT_Encode4(141235), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2529 //
49796 /* 141181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49797 /* 141185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49798 /* 141189 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49799 /* 141193 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49800 /* 141197 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49801 /* 141200 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49802 /* 141204 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49803 /* 141208 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49804 /* 141210 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49805 /* 141217 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49806 /* 141217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBrm),
49807 /* 141220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49808 /* 141222 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49809 /* 141224 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49810 /* 141228 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49811 /* 141233 */ GIR_RootConstrainSelectedInstOperands,
49812 /* 141234 */ // GIR_Coverage, 2529,
49813 /* 141234 */ GIR_EraseRootFromParent_Done,
49814 /* 141235 */ // Label 3877: @141235
49815 /* 141235 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3878*/ GIMT_Encode4(141296), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4847 //
49816 /* 141242 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49817 /* 141246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49818 /* 141250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49819 /* 141254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49820 /* 141258 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49821 /* 141261 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49822 /* 141265 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49823 /* 141269 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49824 /* 141271 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49825 /* 141278 */ // (saddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49826 /* 141278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rm),
49827 /* 141281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49828 /* 141283 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49829 /* 141285 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49830 /* 141289 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49831 /* 141294 */ GIR_RootConstrainSelectedInstOperands,
49832 /* 141295 */ // GIR_Coverage, 4847,
49833 /* 141295 */ GIR_EraseRootFromParent_Done,
49834 /* 141296 */ // Label 3878: @141296
49835 /* 141296 */ GIM_Try, /*On fail goto*//*Label 3879*/ GIMT_Encode4(141342),
49836 /* 141301 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49837 /* 141305 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49838 /* 141309 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49839 /* 141313 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3880*/ GIMT_Encode4(141327), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2528 //
49840 /* 141320 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
49841 /* 141320 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBrr),
49842 /* 141325 */ GIR_RootConstrainSelectedInstOperands,
49843 /* 141326 */ // GIR_Coverage, 2528,
49844 /* 141326 */ GIR_Done,
49845 /* 141327 */ // Label 3880: @141327
49846 /* 141327 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3881*/ GIMT_Encode4(141341), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2530 //
49847 /* 141334 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
49848 /* 141334 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDSBrr),
49849 /* 141339 */ GIR_RootConstrainSelectedInstOperands,
49850 /* 141340 */ // GIR_Coverage, 2530,
49851 /* 141340 */ GIR_Done,
49852 /* 141341 */ // Label 3881: @141341
49853 /* 141341 */ GIM_Reject,
49854 /* 141342 */ // Label 3879: @141342
49855 /* 141342 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3882*/ GIMT_Encode4(141368), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4844 //
49856 /* 141349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49857 /* 141353 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49858 /* 141357 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49859 /* 141361 */ // (saddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
49860 /* 141361 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rr),
49861 /* 141366 */ GIR_RootConstrainSelectedInstOperands,
49862 /* 141367 */ // GIR_Coverage, 4844,
49863 /* 141367 */ GIR_Done,
49864 /* 141368 */ // Label 3882: @141368
49865 /* 141368 */ GIM_Reject,
49866 /* 141369 */ // Label 3874: @141369
49867 /* 141369 */ GIM_Reject,
49868 /* 141370 */ // Label 3868: @141370
49869 /* 141370 */ GIM_Try, /*On fail goto*//*Label 3883*/ GIMT_Encode4(141678),
49870 /* 141375 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
49871 /* 141378 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
49872 /* 141381 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3884*/ GIMT_Encode4(141442), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23683 //
49873 /* 141388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49874 /* 141392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49875 /* 141396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49876 /* 141400 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49877 /* 141403 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49878 /* 141407 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49879 /* 141411 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49880 /* 141415 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49881 /* 141417 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49882 /* 141424 */ // (saddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49883 /* 141424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrm),
49884 /* 141427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49885 /* 141429 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49886 /* 141431 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49887 /* 141435 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49888 /* 141440 */ GIR_RootConstrainSelectedInstOperands,
49889 /* 141441 */ // GIR_Coverage, 23683,
49890 /* 141441 */ GIR_EraseRootFromParent_Done,
49891 /* 141442 */ // Label 3884: @141442
49892 /* 141442 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3885*/ GIMT_Encode4(141503), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24002 //
49893 /* 141449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49894 /* 141453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49895 /* 141457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49896 /* 141461 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49897 /* 141464 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49898 /* 141468 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49899 /* 141472 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49900 /* 141476 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49901 /* 141478 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49902 /* 141485 */ // (saddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49903 /* 141485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rm),
49904 /* 141488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49905 /* 141490 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49906 /* 141492 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49907 /* 141496 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49908 /* 141501 */ GIR_RootConstrainSelectedInstOperands,
49909 /* 141502 */ // GIR_Coverage, 24002,
49910 /* 141502 */ GIR_EraseRootFromParent_Done,
49911 /* 141503 */ // Label 3885: @141503
49912 /* 141503 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3886*/ GIMT_Encode4(141564), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2533 //
49913 /* 141510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49914 /* 141514 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49915 /* 141518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49916 /* 141522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49917 /* 141526 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49918 /* 141529 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49919 /* 141533 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49920 /* 141537 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49921 /* 141539 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49922 /* 141546 */ // (saddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49923 /* 141546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrm),
49924 /* 141549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49925 /* 141551 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49926 /* 141553 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49927 /* 141557 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49928 /* 141562 */ GIR_RootConstrainSelectedInstOperands,
49929 /* 141563 */ // GIR_Coverage, 2533,
49930 /* 141563 */ GIR_EraseRootFromParent_Done,
49931 /* 141564 */ // Label 3886: @141564
49932 /* 141564 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3887*/ GIMT_Encode4(141625), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4841 //
49933 /* 141571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49934 /* 141575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49935 /* 141579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49936 /* 141583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49937 /* 141587 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49938 /* 141590 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49939 /* 141594 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49940 /* 141598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49941 /* 141600 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49942 /* 141607 */ // (saddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49943 /* 141607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rm),
49944 /* 141610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49945 /* 141612 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49946 /* 141614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49947 /* 141618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49948 /* 141623 */ GIR_RootConstrainSelectedInstOperands,
49949 /* 141624 */ // GIR_Coverage, 4841,
49950 /* 141624 */ GIR_EraseRootFromParent_Done,
49951 /* 141625 */ // Label 3887: @141625
49952 /* 141625 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3888*/ GIMT_Encode4(141651), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2532 //
49953 /* 141632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49954 /* 141636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49955 /* 141640 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49956 /* 141644 */ // (saddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
49957 /* 141644 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrr),
49958 /* 141649 */ GIR_RootConstrainSelectedInstOperands,
49959 /* 141650 */ // GIR_Coverage, 2532,
49960 /* 141650 */ GIR_Done,
49961 /* 141651 */ // Label 3888: @141651
49962 /* 141651 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3889*/ GIMT_Encode4(141677), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4838 //
49963 /* 141658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49964 /* 141662 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49965 /* 141666 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49966 /* 141670 */ // (saddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
49967 /* 141670 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rr),
49968 /* 141675 */ GIR_RootConstrainSelectedInstOperands,
49969 /* 141676 */ // GIR_Coverage, 4838,
49970 /* 141676 */ GIR_Done,
49971 /* 141677 */ // Label 3889: @141677
49972 /* 141677 */ GIM_Reject,
49973 /* 141678 */ // Label 3883: @141678
49974 /* 141678 */ GIM_Reject,
49975 /* 141679 */ // Label 3869: @141679
49976 /* 141679 */ GIM_Try, /*On fail goto*//*Label 3890*/ GIMT_Encode4(141833),
49977 /* 141684 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
49978 /* 141687 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
49979 /* 141690 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49980 /* 141694 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3891*/ GIMT_Encode4(141751), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23999 //
49981 /* 141701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49982 /* 141705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49983 /* 141709 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49984 /* 141712 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49985 /* 141716 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49986 /* 141720 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49987 /* 141724 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49988 /* 141726 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49989 /* 141733 */ // (saddsat:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
49990 /* 141733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrm),
49991 /* 141736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49992 /* 141738 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49993 /* 141740 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49994 /* 141744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49995 /* 141749 */ GIR_RootConstrainSelectedInstOperands,
49996 /* 141750 */ // GIR_Coverage, 23999,
49997 /* 141750 */ GIR_EraseRootFromParent_Done,
49998 /* 141751 */ // Label 3891: @141751
49999 /* 141751 */ GIM_Try, /*On fail goto*//*Label 3892*/ GIMT_Encode4(141832),
50000 /* 141756 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50001 /* 141760 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3893*/ GIMT_Encode4(141813), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4835 //
50002 /* 141767 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50003 /* 141771 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50004 /* 141775 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50005 /* 141778 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50006 /* 141782 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50007 /* 141786 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50008 /* 141788 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50009 /* 141795 */ // (saddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50010 /* 141795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrm),
50011 /* 141798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50012 /* 141800 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50013 /* 141802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50014 /* 141806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50015 /* 141811 */ GIR_RootConstrainSelectedInstOperands,
50016 /* 141812 */ // GIR_Coverage, 4835,
50017 /* 141812 */ GIR_EraseRootFromParent_Done,
50018 /* 141813 */ // Label 3893: @141813
50019 /* 141813 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3894*/ GIMT_Encode4(141831), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4832 //
50020 /* 141820 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50021 /* 141824 */ // (saddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
50022 /* 141824 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrr),
50023 /* 141829 */ GIR_RootConstrainSelectedInstOperands,
50024 /* 141830 */ // GIR_Coverage, 4832,
50025 /* 141830 */ GIR_Done,
50026 /* 141831 */ // Label 3894: @141831
50027 /* 141831 */ GIM_Reject,
50028 /* 141832 */ // Label 3892: @141832
50029 /* 141832 */ GIM_Reject,
50030 /* 141833 */ // Label 3890: @141833
50031 /* 141833 */ GIM_Reject,
50032 /* 141834 */ // Label 3870: @141834
50033 /* 141834 */ GIM_Try, /*On fail goto*//*Label 3895*/ GIMT_Encode4(142162),
50034 /* 141839 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
50035 /* 141842 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
50036 /* 141845 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3896*/ GIMT_Encode4(141906), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23684 //
50037 /* 141852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50038 /* 141856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50039 /* 141860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50040 /* 141864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50041 /* 141867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50042 /* 141871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50043 /* 141875 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50044 /* 141879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50045 /* 141881 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50046 /* 141888 */ // (saddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50047 /* 141888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWrm),
50048 /* 141891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50049 /* 141893 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50050 /* 141895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50051 /* 141899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50052 /* 141904 */ GIR_RootConstrainSelectedInstOperands,
50053 /* 141905 */ // GIR_Coverage, 23684,
50054 /* 141905 */ GIR_EraseRootFromParent_Done,
50055 /* 141906 */ // Label 3896: @141906
50056 /* 141906 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3897*/ GIMT_Encode4(141967), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 23996 //
50057 /* 141913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50058 /* 141917 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50059 /* 141921 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50060 /* 141925 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50061 /* 141928 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50062 /* 141932 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50063 /* 141936 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50064 /* 141940 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50065 /* 141942 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50066 /* 141949 */ // (saddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50067 /* 141949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rm),
50068 /* 141952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50069 /* 141954 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50070 /* 141956 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50071 /* 141960 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50072 /* 141965 */ GIR_RootConstrainSelectedInstOperands,
50073 /* 141966 */ // GIR_Coverage, 23996,
50074 /* 141966 */ GIR_EraseRootFromParent_Done,
50075 /* 141967 */ // Label 3897: @141967
50076 /* 141967 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3898*/ GIMT_Encode4(142028), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2535 //
50077 /* 141974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50078 /* 141978 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50079 /* 141982 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50080 /* 141986 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50081 /* 141990 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50082 /* 141993 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50083 /* 141997 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50084 /* 142001 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50085 /* 142003 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50086 /* 142010 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50087 /* 142010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWrm),
50088 /* 142013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50089 /* 142015 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50090 /* 142017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50091 /* 142021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50092 /* 142026 */ GIR_RootConstrainSelectedInstOperands,
50093 /* 142027 */ // GIR_Coverage, 2535,
50094 /* 142027 */ GIR_EraseRootFromParent_Done,
50095 /* 142028 */ // Label 3898: @142028
50096 /* 142028 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3899*/ GIMT_Encode4(142089), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4829 //
50097 /* 142035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50098 /* 142039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50099 /* 142043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50100 /* 142047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50101 /* 142051 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50102 /* 142054 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50103 /* 142058 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50104 /* 142062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50105 /* 142064 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50106 /* 142071 */ // (saddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50107 /* 142071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rm),
50108 /* 142074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50109 /* 142076 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50110 /* 142078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50111 /* 142082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50112 /* 142087 */ GIR_RootConstrainSelectedInstOperands,
50113 /* 142088 */ // GIR_Coverage, 4829,
50114 /* 142088 */ GIR_EraseRootFromParent_Done,
50115 /* 142089 */ // Label 3899: @142089
50116 /* 142089 */ GIM_Try, /*On fail goto*//*Label 3900*/ GIMT_Encode4(142135),
50117 /* 142094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50118 /* 142098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50119 /* 142102 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50120 /* 142106 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3901*/ GIMT_Encode4(142120), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2534 //
50121 /* 142113 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50122 /* 142113 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWrr),
50123 /* 142118 */ GIR_RootConstrainSelectedInstOperands,
50124 /* 142119 */ // GIR_Coverage, 2534,
50125 /* 142119 */ GIR_Done,
50126 /* 142120 */ // Label 3901: @142120
50127 /* 142120 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3902*/ GIMT_Encode4(142134), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2536 //
50128 /* 142127 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50129 /* 142127 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDSWrr),
50130 /* 142132 */ GIR_RootConstrainSelectedInstOperands,
50131 /* 142133 */ // GIR_Coverage, 2536,
50132 /* 142133 */ GIR_Done,
50133 /* 142134 */ // Label 3902: @142134
50134 /* 142134 */ GIM_Reject,
50135 /* 142135 */ // Label 3900: @142135
50136 /* 142135 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3903*/ GIMT_Encode4(142161), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4826 //
50137 /* 142142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50138 /* 142146 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50139 /* 142150 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50140 /* 142154 */ // (saddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
50141 /* 142154 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rr),
50142 /* 142159 */ GIR_RootConstrainSelectedInstOperands,
50143 /* 142160 */ // GIR_Coverage, 4826,
50144 /* 142160 */ GIR_Done,
50145 /* 142161 */ // Label 3903: @142161
50146 /* 142161 */ GIM_Reject,
50147 /* 142162 */ // Label 3895: @142162
50148 /* 142162 */ GIM_Reject,
50149 /* 142163 */ // Label 3871: @142163
50150 /* 142163 */ GIM_Try, /*On fail goto*//*Label 3904*/ GIMT_Encode4(142471),
50151 /* 142168 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
50152 /* 142171 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
50153 /* 142174 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3905*/ GIMT_Encode4(142235), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23686 //
50154 /* 142181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50155 /* 142185 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50156 /* 142189 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50157 /* 142193 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50158 /* 142196 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50159 /* 142200 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50160 /* 142204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50161 /* 142208 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50162 /* 142210 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50163 /* 142217 */ // (saddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50164 /* 142217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrm),
50165 /* 142220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50166 /* 142222 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50167 /* 142224 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50168 /* 142228 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50169 /* 142233 */ GIR_RootConstrainSelectedInstOperands,
50170 /* 142234 */ // GIR_Coverage, 23686,
50171 /* 142234 */ GIR_EraseRootFromParent_Done,
50172 /* 142235 */ // Label 3905: @142235
50173 /* 142235 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3906*/ GIMT_Encode4(142296), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 23993 //
50174 /* 142242 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50175 /* 142246 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50176 /* 142250 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50177 /* 142254 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50178 /* 142257 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50179 /* 142261 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50180 /* 142265 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50181 /* 142269 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50182 /* 142271 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50183 /* 142278 */ // (saddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50184 /* 142278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rm),
50185 /* 142281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50186 /* 142283 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50187 /* 142285 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50188 /* 142289 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50189 /* 142294 */ GIR_RootConstrainSelectedInstOperands,
50190 /* 142295 */ // GIR_Coverage, 23993,
50191 /* 142295 */ GIR_EraseRootFromParent_Done,
50192 /* 142296 */ // Label 3906: @142296
50193 /* 142296 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3907*/ GIMT_Encode4(142357), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2539 //
50194 /* 142303 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50195 /* 142307 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50196 /* 142311 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50197 /* 142315 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50198 /* 142319 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50199 /* 142322 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50200 /* 142326 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50201 /* 142330 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50202 /* 142332 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50203 /* 142339 */ // (saddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50204 /* 142339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrm),
50205 /* 142342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50206 /* 142344 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50207 /* 142346 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50208 /* 142350 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50209 /* 142355 */ GIR_RootConstrainSelectedInstOperands,
50210 /* 142356 */ // GIR_Coverage, 2539,
50211 /* 142356 */ GIR_EraseRootFromParent_Done,
50212 /* 142357 */ // Label 3907: @142357
50213 /* 142357 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3908*/ GIMT_Encode4(142418), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4823 //
50214 /* 142364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50215 /* 142368 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50216 /* 142372 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50217 /* 142376 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50218 /* 142380 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50219 /* 142383 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50220 /* 142387 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50221 /* 142391 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50222 /* 142393 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50223 /* 142400 */ // (saddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50224 /* 142400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rm),
50225 /* 142403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50226 /* 142405 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50227 /* 142407 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50228 /* 142411 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50229 /* 142416 */ GIR_RootConstrainSelectedInstOperands,
50230 /* 142417 */ // GIR_Coverage, 4823,
50231 /* 142417 */ GIR_EraseRootFromParent_Done,
50232 /* 142418 */ // Label 3908: @142418
50233 /* 142418 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3909*/ GIMT_Encode4(142444), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2538 //
50234 /* 142425 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50235 /* 142429 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50236 /* 142433 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50237 /* 142437 */ // (saddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
50238 /* 142437 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrr),
50239 /* 142442 */ GIR_RootConstrainSelectedInstOperands,
50240 /* 142443 */ // GIR_Coverage, 2538,
50241 /* 142443 */ GIR_Done,
50242 /* 142444 */ // Label 3909: @142444
50243 /* 142444 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3910*/ GIMT_Encode4(142470), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4820 //
50244 /* 142451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50245 /* 142455 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50246 /* 142459 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50247 /* 142463 */ // (saddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
50248 /* 142463 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rr),
50249 /* 142468 */ GIR_RootConstrainSelectedInstOperands,
50250 /* 142469 */ // GIR_Coverage, 4820,
50251 /* 142469 */ GIR_Done,
50252 /* 142470 */ // Label 3910: @142470
50253 /* 142470 */ GIM_Reject,
50254 /* 142471 */ // Label 3904: @142471
50255 /* 142471 */ GIM_Reject,
50256 /* 142472 */ // Label 3872: @142472
50257 /* 142472 */ GIM_Try, /*On fail goto*//*Label 3911*/ GIMT_Encode4(142626),
50258 /* 142477 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
50259 /* 142480 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
50260 /* 142483 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50261 /* 142487 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3912*/ GIMT_Encode4(142544), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 23990 //
50262 /* 142494 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50263 /* 142498 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50264 /* 142502 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50265 /* 142505 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50266 /* 142509 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50267 /* 142513 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50268 /* 142517 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50269 /* 142519 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50270 /* 142526 */ // (saddsat:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50271 /* 142526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrm),
50272 /* 142529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50273 /* 142531 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50274 /* 142533 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50275 /* 142537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50276 /* 142542 */ GIR_RootConstrainSelectedInstOperands,
50277 /* 142543 */ // GIR_Coverage, 23990,
50278 /* 142543 */ GIR_EraseRootFromParent_Done,
50279 /* 142544 */ // Label 3912: @142544
50280 /* 142544 */ GIM_Try, /*On fail goto*//*Label 3913*/ GIMT_Encode4(142625),
50281 /* 142549 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50282 /* 142553 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3914*/ GIMT_Encode4(142606), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4817 //
50283 /* 142560 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50284 /* 142564 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50285 /* 142568 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50286 /* 142571 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50287 /* 142575 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50288 /* 142579 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50289 /* 142581 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50290 /* 142588 */ // (saddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50291 /* 142588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrm),
50292 /* 142591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50293 /* 142593 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50294 /* 142595 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50295 /* 142599 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50296 /* 142604 */ GIR_RootConstrainSelectedInstOperands,
50297 /* 142605 */ // GIR_Coverage, 4817,
50298 /* 142605 */ GIR_EraseRootFromParent_Done,
50299 /* 142606 */ // Label 3914: @142606
50300 /* 142606 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3915*/ GIMT_Encode4(142624), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4814 //
50301 /* 142613 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50302 /* 142617 */ // (saddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
50303 /* 142617 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrr),
50304 /* 142622 */ GIR_RootConstrainSelectedInstOperands,
50305 /* 142623 */ // GIR_Coverage, 4814,
50306 /* 142623 */ GIR_Done,
50307 /* 142624 */ // Label 3915: @142624
50308 /* 142624 */ GIM_Reject,
50309 /* 142625 */ // Label 3913: @142625
50310 /* 142625 */ GIM_Reject,
50311 /* 142626 */ // Label 3911: @142626
50312 /* 142626 */ GIM_Reject,
50313 /* 142627 */ // Label 3873: @142627
50314 /* 142627 */ GIM_Reject,
50315 /* 142628 */ // Label 42: @142628
50316 /* 142628 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(19), /*)*//*default:*//*Label 3922*/ GIMT_Encode4(143635),
50317 /* 142639 */ /*GILLT_v16s8*//*Label 3916*/ GIMT_Encode4(142663),
50318 /* 142643 */ /*GILLT_v32s8*//*Label 3917*/ GIMT_Encode4(142870),
50319 /* 142647 */ /*GILLT_v64s8*//*Label 3918*/ GIMT_Encode4(143057),
50320 /* 142651 */ /*GILLT_v8s16*//*Label 3919*/ GIMT_Encode4(143149),
50321 /* 142655 */ /*GILLT_v16s16*//*Label 3920*/ GIMT_Encode4(143356),
50322 /* 142659 */ /*GILLT_v32s16*//*Label 3921*/ GIMT_Encode4(143543),
50323 /* 142663 */ // Label 3916: @142663
50324 /* 142663 */ GIM_Try, /*On fail goto*//*Label 3923*/ GIMT_Encode4(142869),
50325 /* 142668 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
50326 /* 142671 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
50327 /* 142674 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3924*/ GIMT_Encode4(142735), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2607 //
50328 /* 142681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50329 /* 142685 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50330 /* 142689 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50331 /* 142693 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50332 /* 142697 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50333 /* 142700 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50334 /* 142704 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50335 /* 142708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50336 /* 142710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50337 /* 142717 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50338 /* 142717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBrm),
50339 /* 142720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50340 /* 142722 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50341 /* 142724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50342 /* 142728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50343 /* 142733 */ GIR_RootConstrainSelectedInstOperands,
50344 /* 142734 */ // GIR_Coverage, 2607,
50345 /* 142734 */ GIR_EraseRootFromParent_Done,
50346 /* 142735 */ // Label 3924: @142735
50347 /* 142735 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3925*/ GIMT_Encode4(142796), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4955 //
50348 /* 142742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50349 /* 142746 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50350 /* 142750 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50351 /* 142754 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50352 /* 142758 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50353 /* 142761 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50354 /* 142765 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50355 /* 142769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50356 /* 142771 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50357 /* 142778 */ // (usubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50358 /* 142778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ128rm),
50359 /* 142781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50360 /* 142783 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50361 /* 142785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50362 /* 142789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50363 /* 142794 */ GIR_RootConstrainSelectedInstOperands,
50364 /* 142795 */ // GIR_Coverage, 4955,
50365 /* 142795 */ GIR_EraseRootFromParent_Done,
50366 /* 142796 */ // Label 3925: @142796
50367 /* 142796 */ GIM_Try, /*On fail goto*//*Label 3926*/ GIMT_Encode4(142842),
50368 /* 142801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50369 /* 142805 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50370 /* 142809 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50371 /* 142813 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3927*/ GIMT_Encode4(142827), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2606 //
50372 /* 142820 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50373 /* 142820 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBrr),
50374 /* 142825 */ GIR_RootConstrainSelectedInstOperands,
50375 /* 142826 */ // GIR_Coverage, 2606,
50376 /* 142826 */ GIR_Done,
50377 /* 142827 */ // Label 3927: @142827
50378 /* 142827 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3928*/ GIMT_Encode4(142841), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2608 //
50379 /* 142834 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50380 /* 142834 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBUSBrr),
50381 /* 142839 */ GIR_RootConstrainSelectedInstOperands,
50382 /* 142840 */ // GIR_Coverage, 2608,
50383 /* 142840 */ GIR_Done,
50384 /* 142841 */ // Label 3928: @142841
50385 /* 142841 */ GIM_Reject,
50386 /* 142842 */ // Label 3926: @142842
50387 /* 142842 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3929*/ GIMT_Encode4(142868), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4952 //
50388 /* 142849 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50389 /* 142853 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50390 /* 142857 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50391 /* 142861 */ // (usubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBUSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
50392 /* 142861 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ128rr),
50393 /* 142866 */ GIR_RootConstrainSelectedInstOperands,
50394 /* 142867 */ // GIR_Coverage, 4952,
50395 /* 142867 */ GIR_Done,
50396 /* 142868 */ // Label 3929: @142868
50397 /* 142868 */ GIM_Reject,
50398 /* 142869 */ // Label 3923: @142869
50399 /* 142869 */ GIM_Reject,
50400 /* 142870 */ // Label 3917: @142870
50401 /* 142870 */ GIM_Try, /*On fail goto*//*Label 3930*/ GIMT_Encode4(143056),
50402 /* 142875 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
50403 /* 142878 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
50404 /* 142881 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3931*/ GIMT_Encode4(142942), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2611 //
50405 /* 142888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50406 /* 142892 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50407 /* 142896 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50408 /* 142900 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50409 /* 142904 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50410 /* 142907 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50411 /* 142911 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50412 /* 142915 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50413 /* 142917 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50414 /* 142924 */ // (usubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50415 /* 142924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBYrm),
50416 /* 142927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50417 /* 142929 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50418 /* 142931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50419 /* 142935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50420 /* 142940 */ GIR_RootConstrainSelectedInstOperands,
50421 /* 142941 */ // GIR_Coverage, 2611,
50422 /* 142941 */ GIR_EraseRootFromParent_Done,
50423 /* 142942 */ // Label 3931: @142942
50424 /* 142942 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3932*/ GIMT_Encode4(143003), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4949 //
50425 /* 142949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50426 /* 142953 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50427 /* 142957 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50428 /* 142961 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50429 /* 142965 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50430 /* 142968 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50431 /* 142972 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50432 /* 142976 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50433 /* 142978 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50434 /* 142985 */ // (usubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50435 /* 142985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ256rm),
50436 /* 142988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50437 /* 142990 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50438 /* 142992 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50439 /* 142996 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50440 /* 143001 */ GIR_RootConstrainSelectedInstOperands,
50441 /* 143002 */ // GIR_Coverage, 4949,
50442 /* 143002 */ GIR_EraseRootFromParent_Done,
50443 /* 143003 */ // Label 3932: @143003
50444 /* 143003 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3933*/ GIMT_Encode4(143029), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2610 //
50445 /* 143010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50446 /* 143014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50447 /* 143018 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50448 /* 143022 */ // (usubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBUSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
50449 /* 143022 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBYrr),
50450 /* 143027 */ GIR_RootConstrainSelectedInstOperands,
50451 /* 143028 */ // GIR_Coverage, 2610,
50452 /* 143028 */ GIR_Done,
50453 /* 143029 */ // Label 3933: @143029
50454 /* 143029 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3934*/ GIMT_Encode4(143055), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4946 //
50455 /* 143036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50456 /* 143040 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50457 /* 143044 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50458 /* 143048 */ // (usubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBUSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
50459 /* 143048 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ256rr),
50460 /* 143053 */ GIR_RootConstrainSelectedInstOperands,
50461 /* 143054 */ // GIR_Coverage, 4946,
50462 /* 143054 */ GIR_Done,
50463 /* 143055 */ // Label 3934: @143055
50464 /* 143055 */ GIM_Reject,
50465 /* 143056 */ // Label 3930: @143056
50466 /* 143056 */ GIM_Reject,
50467 /* 143057 */ // Label 3918: @143057
50468 /* 143057 */ GIM_Try, /*On fail goto*//*Label 3935*/ GIMT_Encode4(143148),
50469 /* 143062 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
50470 /* 143065 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
50471 /* 143068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50472 /* 143072 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50473 /* 143076 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3936*/ GIMT_Encode4(143129), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4943 //
50474 /* 143083 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50475 /* 143087 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50476 /* 143091 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50477 /* 143094 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50478 /* 143098 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50479 /* 143102 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50480 /* 143104 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50481 /* 143111 */ // (usubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50482 /* 143111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZrm),
50483 /* 143114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50484 /* 143116 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50485 /* 143118 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50486 /* 143122 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50487 /* 143127 */ GIR_RootConstrainSelectedInstOperands,
50488 /* 143128 */ // GIR_Coverage, 4943,
50489 /* 143128 */ GIR_EraseRootFromParent_Done,
50490 /* 143129 */ // Label 3936: @143129
50491 /* 143129 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3937*/ GIMT_Encode4(143147), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4940 //
50492 /* 143136 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50493 /* 143140 */ // (usubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBUSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
50494 /* 143140 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZrr),
50495 /* 143145 */ GIR_RootConstrainSelectedInstOperands,
50496 /* 143146 */ // GIR_Coverage, 4940,
50497 /* 143146 */ GIR_Done,
50498 /* 143147 */ // Label 3937: @143147
50499 /* 143147 */ GIM_Reject,
50500 /* 143148 */ // Label 3935: @143148
50501 /* 143148 */ GIM_Reject,
50502 /* 143149 */ // Label 3919: @143149
50503 /* 143149 */ GIM_Try, /*On fail goto*//*Label 3938*/ GIMT_Encode4(143355),
50504 /* 143154 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
50505 /* 143157 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
50506 /* 143160 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3939*/ GIMT_Encode4(143221), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2613 //
50507 /* 143167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50508 /* 143171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50509 /* 143175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50510 /* 143179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50511 /* 143183 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50512 /* 143186 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50513 /* 143190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50514 /* 143194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50515 /* 143196 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50516 /* 143203 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50517 /* 143203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWrm),
50518 /* 143206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50519 /* 143208 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50520 /* 143210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50521 /* 143214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50522 /* 143219 */ GIR_RootConstrainSelectedInstOperands,
50523 /* 143220 */ // GIR_Coverage, 2613,
50524 /* 143220 */ GIR_EraseRootFromParent_Done,
50525 /* 143221 */ // Label 3939: @143221
50526 /* 143221 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3940*/ GIMT_Encode4(143282), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4937 //
50527 /* 143228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50528 /* 143232 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50529 /* 143236 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50530 /* 143240 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50531 /* 143244 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50532 /* 143247 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50533 /* 143251 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50534 /* 143255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50535 /* 143257 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50536 /* 143264 */ // (usubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50537 /* 143264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ128rm),
50538 /* 143267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50539 /* 143269 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50540 /* 143271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50541 /* 143275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50542 /* 143280 */ GIR_RootConstrainSelectedInstOperands,
50543 /* 143281 */ // GIR_Coverage, 4937,
50544 /* 143281 */ GIR_EraseRootFromParent_Done,
50545 /* 143282 */ // Label 3940: @143282
50546 /* 143282 */ GIM_Try, /*On fail goto*//*Label 3941*/ GIMT_Encode4(143328),
50547 /* 143287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50548 /* 143291 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50549 /* 143295 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50550 /* 143299 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3942*/ GIMT_Encode4(143313), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2612 //
50551 /* 143306 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50552 /* 143306 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWrr),
50553 /* 143311 */ GIR_RootConstrainSelectedInstOperands,
50554 /* 143312 */ // GIR_Coverage, 2612,
50555 /* 143312 */ GIR_Done,
50556 /* 143313 */ // Label 3942: @143313
50557 /* 143313 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3943*/ GIMT_Encode4(143327), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2614 //
50558 /* 143320 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50559 /* 143320 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBUSWrr),
50560 /* 143325 */ GIR_RootConstrainSelectedInstOperands,
50561 /* 143326 */ // GIR_Coverage, 2614,
50562 /* 143326 */ GIR_Done,
50563 /* 143327 */ // Label 3943: @143327
50564 /* 143327 */ GIM_Reject,
50565 /* 143328 */ // Label 3941: @143328
50566 /* 143328 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3944*/ GIMT_Encode4(143354), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4934 //
50567 /* 143335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50568 /* 143339 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50569 /* 143343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50570 /* 143347 */ // (usubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBUSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
50571 /* 143347 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ128rr),
50572 /* 143352 */ GIR_RootConstrainSelectedInstOperands,
50573 /* 143353 */ // GIR_Coverage, 4934,
50574 /* 143353 */ GIR_Done,
50575 /* 143354 */ // Label 3944: @143354
50576 /* 143354 */ GIM_Reject,
50577 /* 143355 */ // Label 3938: @143355
50578 /* 143355 */ GIM_Reject,
50579 /* 143356 */ // Label 3920: @143356
50580 /* 143356 */ GIM_Try, /*On fail goto*//*Label 3945*/ GIMT_Encode4(143542),
50581 /* 143361 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
50582 /* 143364 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
50583 /* 143367 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3946*/ GIMT_Encode4(143428), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2617 //
50584 /* 143374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50585 /* 143378 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50586 /* 143382 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50587 /* 143386 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50588 /* 143390 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50589 /* 143393 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50590 /* 143397 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50591 /* 143401 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50592 /* 143403 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50593 /* 143410 */ // (usubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50594 /* 143410 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWYrm),
50595 /* 143413 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50596 /* 143415 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50597 /* 143417 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50598 /* 143421 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50599 /* 143426 */ GIR_RootConstrainSelectedInstOperands,
50600 /* 143427 */ // GIR_Coverage, 2617,
50601 /* 143427 */ GIR_EraseRootFromParent_Done,
50602 /* 143428 */ // Label 3946: @143428
50603 /* 143428 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3947*/ GIMT_Encode4(143489), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4931 //
50604 /* 143435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50605 /* 143439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50606 /* 143443 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50607 /* 143447 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50608 /* 143451 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50609 /* 143454 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50610 /* 143458 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50611 /* 143462 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50612 /* 143464 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50613 /* 143471 */ // (usubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50614 /* 143471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ256rm),
50615 /* 143474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50616 /* 143476 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50617 /* 143478 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50618 /* 143482 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50619 /* 143487 */ GIR_RootConstrainSelectedInstOperands,
50620 /* 143488 */ // GIR_Coverage, 4931,
50621 /* 143488 */ GIR_EraseRootFromParent_Done,
50622 /* 143489 */ // Label 3947: @143489
50623 /* 143489 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3948*/ GIMT_Encode4(143515), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2616 //
50624 /* 143496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50625 /* 143500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50626 /* 143504 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50627 /* 143508 */ // (usubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBUSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
50628 /* 143508 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWYrr),
50629 /* 143513 */ GIR_RootConstrainSelectedInstOperands,
50630 /* 143514 */ // GIR_Coverage, 2616,
50631 /* 143514 */ GIR_Done,
50632 /* 143515 */ // Label 3948: @143515
50633 /* 143515 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3949*/ GIMT_Encode4(143541), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4928 //
50634 /* 143522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50635 /* 143526 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50636 /* 143530 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50637 /* 143534 */ // (usubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBUSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
50638 /* 143534 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ256rr),
50639 /* 143539 */ GIR_RootConstrainSelectedInstOperands,
50640 /* 143540 */ // GIR_Coverage, 4928,
50641 /* 143540 */ GIR_Done,
50642 /* 143541 */ // Label 3949: @143541
50643 /* 143541 */ GIM_Reject,
50644 /* 143542 */ // Label 3945: @143542
50645 /* 143542 */ GIM_Reject,
50646 /* 143543 */ // Label 3921: @143543
50647 /* 143543 */ GIM_Try, /*On fail goto*//*Label 3950*/ GIMT_Encode4(143634),
50648 /* 143548 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
50649 /* 143551 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
50650 /* 143554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50651 /* 143558 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50652 /* 143562 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3951*/ GIMT_Encode4(143615), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4925 //
50653 /* 143569 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50654 /* 143573 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50655 /* 143577 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50656 /* 143580 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50657 /* 143584 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50658 /* 143588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50659 /* 143590 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50660 /* 143597 */ // (usubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50661 /* 143597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZrm),
50662 /* 143600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50663 /* 143602 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50664 /* 143604 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50665 /* 143608 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50666 /* 143613 */ GIR_RootConstrainSelectedInstOperands,
50667 /* 143614 */ // GIR_Coverage, 4925,
50668 /* 143614 */ GIR_EraseRootFromParent_Done,
50669 /* 143615 */ // Label 3951: @143615
50670 /* 143615 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3952*/ GIMT_Encode4(143633), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4922 //
50671 /* 143622 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50672 /* 143626 */ // (usubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBUSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
50673 /* 143626 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZrr),
50674 /* 143631 */ GIR_RootConstrainSelectedInstOperands,
50675 /* 143632 */ // GIR_Coverage, 4922,
50676 /* 143632 */ GIR_Done,
50677 /* 143633 */ // Label 3952: @143633
50678 /* 143633 */ GIM_Reject,
50679 /* 143634 */ // Label 3950: @143634
50680 /* 143634 */ GIM_Reject,
50681 /* 143635 */ // Label 3922: @143635
50682 /* 143635 */ GIM_Reject,
50683 /* 143636 */ // Label 43: @143636
50684 /* 143636 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(19), /*)*//*default:*//*Label 3959*/ GIMT_Encode4(144643),
50685 /* 143647 */ /*GILLT_v16s8*//*Label 3953*/ GIMT_Encode4(143671),
50686 /* 143651 */ /*GILLT_v32s8*//*Label 3954*/ GIMT_Encode4(143878),
50687 /* 143655 */ /*GILLT_v64s8*//*Label 3955*/ GIMT_Encode4(144065),
50688 /* 143659 */ /*GILLT_v8s16*//*Label 3956*/ GIMT_Encode4(144157),
50689 /* 143663 */ /*GILLT_v16s16*//*Label 3957*/ GIMT_Encode4(144364),
50690 /* 143667 */ /*GILLT_v32s16*//*Label 3958*/ GIMT_Encode4(144551),
50691 /* 143671 */ // Label 3953: @143671
50692 /* 143671 */ GIM_Try, /*On fail goto*//*Label 3960*/ GIMT_Encode4(143877),
50693 /* 143676 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
50694 /* 143679 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
50695 /* 143682 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3961*/ GIMT_Encode4(143743), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2595 //
50696 /* 143689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50697 /* 143693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50698 /* 143697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50699 /* 143701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50700 /* 143705 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50701 /* 143708 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50702 /* 143712 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50703 /* 143716 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50704 /* 143718 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50705 /* 143725 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50706 /* 143725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBrm),
50707 /* 143728 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50708 /* 143730 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50709 /* 143732 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50710 /* 143736 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50711 /* 143741 */ GIR_RootConstrainSelectedInstOperands,
50712 /* 143742 */ // GIR_Coverage, 2595,
50713 /* 143742 */ GIR_EraseRootFromParent_Done,
50714 /* 143743 */ // Label 3961: @143743
50715 /* 143743 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3962*/ GIMT_Encode4(143804), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4883 //
50716 /* 143750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50717 /* 143754 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50718 /* 143758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50719 /* 143762 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50720 /* 143766 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50721 /* 143769 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50722 /* 143773 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50723 /* 143777 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50724 /* 143779 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50725 /* 143786 */ // (ssubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50726 /* 143786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ128rm),
50727 /* 143789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50728 /* 143791 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50729 /* 143793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50730 /* 143797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50731 /* 143802 */ GIR_RootConstrainSelectedInstOperands,
50732 /* 143803 */ // GIR_Coverage, 4883,
50733 /* 143803 */ GIR_EraseRootFromParent_Done,
50734 /* 143804 */ // Label 3962: @143804
50735 /* 143804 */ GIM_Try, /*On fail goto*//*Label 3963*/ GIMT_Encode4(143850),
50736 /* 143809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50737 /* 143813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50738 /* 143817 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50739 /* 143821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3964*/ GIMT_Encode4(143835), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2594 //
50740 /* 143828 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50741 /* 143828 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBrr),
50742 /* 143833 */ GIR_RootConstrainSelectedInstOperands,
50743 /* 143834 */ // GIR_Coverage, 2594,
50744 /* 143834 */ GIR_Done,
50745 /* 143835 */ // Label 3964: @143835
50746 /* 143835 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3965*/ GIMT_Encode4(143849), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2596 //
50747 /* 143842 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50748 /* 143842 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBSBrr),
50749 /* 143847 */ GIR_RootConstrainSelectedInstOperands,
50750 /* 143848 */ // GIR_Coverage, 2596,
50751 /* 143848 */ GIR_Done,
50752 /* 143849 */ // Label 3965: @143849
50753 /* 143849 */ GIM_Reject,
50754 /* 143850 */ // Label 3963: @143850
50755 /* 143850 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3966*/ GIMT_Encode4(143876), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4880 //
50756 /* 143857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50757 /* 143861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50758 /* 143865 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50759 /* 143869 */ // (ssubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
50760 /* 143869 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ128rr),
50761 /* 143874 */ GIR_RootConstrainSelectedInstOperands,
50762 /* 143875 */ // GIR_Coverage, 4880,
50763 /* 143875 */ GIR_Done,
50764 /* 143876 */ // Label 3966: @143876
50765 /* 143876 */ GIM_Reject,
50766 /* 143877 */ // Label 3960: @143877
50767 /* 143877 */ GIM_Reject,
50768 /* 143878 */ // Label 3954: @143878
50769 /* 143878 */ GIM_Try, /*On fail goto*//*Label 3967*/ GIMT_Encode4(144064),
50770 /* 143883 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
50771 /* 143886 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
50772 /* 143889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3968*/ GIMT_Encode4(143950), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2599 //
50773 /* 143896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50774 /* 143900 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50775 /* 143904 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50776 /* 143908 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50777 /* 143912 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50778 /* 143915 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50779 /* 143919 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50780 /* 143923 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50781 /* 143925 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50782 /* 143932 */ // (ssubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50783 /* 143932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBYrm),
50784 /* 143935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50785 /* 143937 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50786 /* 143939 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50787 /* 143943 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50788 /* 143948 */ GIR_RootConstrainSelectedInstOperands,
50789 /* 143949 */ // GIR_Coverage, 2599,
50790 /* 143949 */ GIR_EraseRootFromParent_Done,
50791 /* 143950 */ // Label 3968: @143950
50792 /* 143950 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3969*/ GIMT_Encode4(144011), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4877 //
50793 /* 143957 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50794 /* 143961 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50795 /* 143965 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50796 /* 143969 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50797 /* 143973 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50798 /* 143976 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50799 /* 143980 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50800 /* 143984 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50801 /* 143986 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50802 /* 143993 */ // (ssubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50803 /* 143993 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ256rm),
50804 /* 143996 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50805 /* 143998 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50806 /* 144000 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50807 /* 144004 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50808 /* 144009 */ GIR_RootConstrainSelectedInstOperands,
50809 /* 144010 */ // GIR_Coverage, 4877,
50810 /* 144010 */ GIR_EraseRootFromParent_Done,
50811 /* 144011 */ // Label 3969: @144011
50812 /* 144011 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3970*/ GIMT_Encode4(144037), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2598 //
50813 /* 144018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50814 /* 144022 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50815 /* 144026 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50816 /* 144030 */ // (ssubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
50817 /* 144030 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBYrr),
50818 /* 144035 */ GIR_RootConstrainSelectedInstOperands,
50819 /* 144036 */ // GIR_Coverage, 2598,
50820 /* 144036 */ GIR_Done,
50821 /* 144037 */ // Label 3970: @144037
50822 /* 144037 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3971*/ GIMT_Encode4(144063), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4874 //
50823 /* 144044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50824 /* 144048 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50825 /* 144052 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50826 /* 144056 */ // (ssubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
50827 /* 144056 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ256rr),
50828 /* 144061 */ GIR_RootConstrainSelectedInstOperands,
50829 /* 144062 */ // GIR_Coverage, 4874,
50830 /* 144062 */ GIR_Done,
50831 /* 144063 */ // Label 3971: @144063
50832 /* 144063 */ GIM_Reject,
50833 /* 144064 */ // Label 3967: @144064
50834 /* 144064 */ GIM_Reject,
50835 /* 144065 */ // Label 3955: @144065
50836 /* 144065 */ GIM_Try, /*On fail goto*//*Label 3972*/ GIMT_Encode4(144156),
50837 /* 144070 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
50838 /* 144073 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
50839 /* 144076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50840 /* 144080 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50841 /* 144084 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3973*/ GIMT_Encode4(144137), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4871 //
50842 /* 144091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50843 /* 144095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50844 /* 144099 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50845 /* 144102 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50846 /* 144106 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50847 /* 144110 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50848 /* 144112 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50849 /* 144119 */ // (ssubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50850 /* 144119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZrm),
50851 /* 144122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50852 /* 144124 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50853 /* 144126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50854 /* 144130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50855 /* 144135 */ GIR_RootConstrainSelectedInstOperands,
50856 /* 144136 */ // GIR_Coverage, 4871,
50857 /* 144136 */ GIR_EraseRootFromParent_Done,
50858 /* 144137 */ // Label 3973: @144137
50859 /* 144137 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3974*/ GIMT_Encode4(144155), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4868 //
50860 /* 144144 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50861 /* 144148 */ // (ssubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
50862 /* 144148 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZrr),
50863 /* 144153 */ GIR_RootConstrainSelectedInstOperands,
50864 /* 144154 */ // GIR_Coverage, 4868,
50865 /* 144154 */ GIR_Done,
50866 /* 144155 */ // Label 3974: @144155
50867 /* 144155 */ GIM_Reject,
50868 /* 144156 */ // Label 3972: @144156
50869 /* 144156 */ GIM_Reject,
50870 /* 144157 */ // Label 3956: @144157
50871 /* 144157 */ GIM_Try, /*On fail goto*//*Label 3975*/ GIMT_Encode4(144363),
50872 /* 144162 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
50873 /* 144165 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
50874 /* 144168 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3976*/ GIMT_Encode4(144229), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2601 //
50875 /* 144175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50876 /* 144179 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50877 /* 144183 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50878 /* 144187 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50879 /* 144191 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50880 /* 144194 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50881 /* 144198 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50882 /* 144202 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50883 /* 144204 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50884 /* 144211 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50885 /* 144211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWrm),
50886 /* 144214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50887 /* 144216 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50888 /* 144218 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50889 /* 144222 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50890 /* 144227 */ GIR_RootConstrainSelectedInstOperands,
50891 /* 144228 */ // GIR_Coverage, 2601,
50892 /* 144228 */ GIR_EraseRootFromParent_Done,
50893 /* 144229 */ // Label 3976: @144229
50894 /* 144229 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3977*/ GIMT_Encode4(144290), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4865 //
50895 /* 144236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50896 /* 144240 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50897 /* 144244 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50898 /* 144248 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50899 /* 144252 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50900 /* 144255 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50901 /* 144259 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50902 /* 144263 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50903 /* 144265 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50904 /* 144272 */ // (ssubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50905 /* 144272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ128rm),
50906 /* 144275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50907 /* 144277 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50908 /* 144279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50909 /* 144283 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50910 /* 144288 */ GIR_RootConstrainSelectedInstOperands,
50911 /* 144289 */ // GIR_Coverage, 4865,
50912 /* 144289 */ GIR_EraseRootFromParent_Done,
50913 /* 144290 */ // Label 3977: @144290
50914 /* 144290 */ GIM_Try, /*On fail goto*//*Label 3978*/ GIMT_Encode4(144336),
50915 /* 144295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50916 /* 144299 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50917 /* 144303 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50918 /* 144307 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3979*/ GIMT_Encode4(144321), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2600 //
50919 /* 144314 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50920 /* 144314 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWrr),
50921 /* 144319 */ GIR_RootConstrainSelectedInstOperands,
50922 /* 144320 */ // GIR_Coverage, 2600,
50923 /* 144320 */ GIR_Done,
50924 /* 144321 */ // Label 3979: @144321
50925 /* 144321 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3980*/ GIMT_Encode4(144335), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2602 //
50926 /* 144328 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50927 /* 144328 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBSWrr),
50928 /* 144333 */ GIR_RootConstrainSelectedInstOperands,
50929 /* 144334 */ // GIR_Coverage, 2602,
50930 /* 144334 */ GIR_Done,
50931 /* 144335 */ // Label 3980: @144335
50932 /* 144335 */ GIM_Reject,
50933 /* 144336 */ // Label 3978: @144336
50934 /* 144336 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3981*/ GIMT_Encode4(144362), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4862 //
50935 /* 144343 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50936 /* 144347 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50937 /* 144351 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50938 /* 144355 */ // (ssubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
50939 /* 144355 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ128rr),
50940 /* 144360 */ GIR_RootConstrainSelectedInstOperands,
50941 /* 144361 */ // GIR_Coverage, 4862,
50942 /* 144361 */ GIR_Done,
50943 /* 144362 */ // Label 3981: @144362
50944 /* 144362 */ GIM_Reject,
50945 /* 144363 */ // Label 3975: @144363
50946 /* 144363 */ GIM_Reject,
50947 /* 144364 */ // Label 3957: @144364
50948 /* 144364 */ GIM_Try, /*On fail goto*//*Label 3982*/ GIMT_Encode4(144550),
50949 /* 144369 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
50950 /* 144372 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
50951 /* 144375 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3983*/ GIMT_Encode4(144436), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2605 //
50952 /* 144382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50953 /* 144386 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50954 /* 144390 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50955 /* 144394 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50956 /* 144398 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50957 /* 144401 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50958 /* 144405 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50959 /* 144409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50960 /* 144411 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50961 /* 144418 */ // (ssubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50962 /* 144418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWYrm),
50963 /* 144421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50964 /* 144423 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50965 /* 144425 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50966 /* 144429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50967 /* 144434 */ GIR_RootConstrainSelectedInstOperands,
50968 /* 144435 */ // GIR_Coverage, 2605,
50969 /* 144435 */ GIR_EraseRootFromParent_Done,
50970 /* 144436 */ // Label 3983: @144436
50971 /* 144436 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3984*/ GIMT_Encode4(144497), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4859 //
50972 /* 144443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50973 /* 144447 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50974 /* 144451 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50975 /* 144455 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50976 /* 144459 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50977 /* 144462 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50978 /* 144466 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50979 /* 144470 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50980 /* 144472 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50981 /* 144479 */ // (ssubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50982 /* 144479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ256rm),
50983 /* 144482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50984 /* 144484 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50985 /* 144486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50986 /* 144490 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50987 /* 144495 */ GIR_RootConstrainSelectedInstOperands,
50988 /* 144496 */ // GIR_Coverage, 4859,
50989 /* 144496 */ GIR_EraseRootFromParent_Done,
50990 /* 144497 */ // Label 3984: @144497
50991 /* 144497 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3985*/ GIMT_Encode4(144523), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2604 //
50992 /* 144504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50993 /* 144508 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50994 /* 144512 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50995 /* 144516 */ // (ssubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
50996 /* 144516 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWYrr),
50997 /* 144521 */ GIR_RootConstrainSelectedInstOperands,
50998 /* 144522 */ // GIR_Coverage, 2604,
50999 /* 144522 */ GIR_Done,
51000 /* 144523 */ // Label 3985: @144523
51001 /* 144523 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3986*/ GIMT_Encode4(144549), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 4856 //
51002 /* 144530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51003 /* 144534 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51004 /* 144538 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51005 /* 144542 */ // (ssubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
51006 /* 144542 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ256rr),
51007 /* 144547 */ GIR_RootConstrainSelectedInstOperands,
51008 /* 144548 */ // GIR_Coverage, 4856,
51009 /* 144548 */ GIR_Done,
51010 /* 144549 */ // Label 3986: @144549
51011 /* 144549 */ GIM_Reject,
51012 /* 144550 */ // Label 3982: @144550
51013 /* 144550 */ GIM_Reject,
51014 /* 144551 */ // Label 3958: @144551
51015 /* 144551 */ GIM_Try, /*On fail goto*//*Label 3987*/ GIMT_Encode4(144642),
51016 /* 144556 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
51017 /* 144559 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
51018 /* 144562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51019 /* 144566 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51020 /* 144570 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3988*/ GIMT_Encode4(144623), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4853 //
51021 /* 144577 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51022 /* 144581 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51023 /* 144585 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51024 /* 144588 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51025 /* 144592 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51026 /* 144596 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51027 /* 144598 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51028 /* 144605 */ // (ssubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51029 /* 144605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZrm),
51030 /* 144608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51031 /* 144610 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51032 /* 144612 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51033 /* 144616 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51034 /* 144621 */ GIR_RootConstrainSelectedInstOperands,
51035 /* 144622 */ // GIR_Coverage, 4853,
51036 /* 144622 */ GIR_EraseRootFromParent_Done,
51037 /* 144623 */ // Label 3988: @144623
51038 /* 144623 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 3989*/ GIMT_Encode4(144641), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 4850 //
51039 /* 144630 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51040 /* 144634 */ // (ssubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
51041 /* 144634 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZrr),
51042 /* 144639 */ GIR_RootConstrainSelectedInstOperands,
51043 /* 144640 */ // GIR_Coverage, 4850,
51044 /* 144640 */ GIR_Done,
51045 /* 144641 */ // Label 3989: @144641
51046 /* 144641 */ GIM_Reject,
51047 /* 144642 */ // Label 3987: @144642
51048 /* 144642 */ GIM_Reject,
51049 /* 144643 */ // Label 3959: @144643
51050 /* 144643 */ GIM_Reject,
51051 /* 144644 */ // Label 44: @144644
51052 /* 144644 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4003*/ GIMT_Encode4(150366),
51053 /* 144655 */ /*GILLT_s16*//*Label 3990*/ GIMT_Encode4(144747),
51054 /* 144659 */ /*GILLT_s32*//*Label 3991*/ GIMT_Encode4(144906),
51055 /* 144663 */ /*GILLT_s64*//*Label 3992*/ GIMT_Encode4(146247),
51056 /* 144667 */ /*GILLT_s80*//*Label 3993*/ GIMT_Encode4(147714), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
51057 /* 144711 */ /*GILLT_v8s16*//*Label 3994*/ GIMT_Encode4(148255),
51058 /* 144715 */ /*GILLT_v16s16*//*Label 3995*/ GIMT_Encode4(148414),
51059 /* 144719 */ /*GILLT_v32s16*//*Label 3996*/ GIMT_Encode4(148573),
51060 /* 144723 */ /*GILLT_v4s32*//*Label 3997*/ GIMT_Encode4(148732),
51061 /* 144727 */ /*GILLT_v8s32*//*Label 3998*/ GIMT_Encode4(149073),
51062 /* 144731 */ /*GILLT_v16s32*//*Label 3999*/ GIMT_Encode4(149390),
51063 /* 144735 */ /*GILLT_v2s64*//*Label 4000*/ GIMT_Encode4(149549),
51064 /* 144739 */ /*GILLT_v4s64*//*Label 4001*/ GIMT_Encode4(149890),
51065 /* 144743 */ /*GILLT_v8s64*//*Label 4002*/ GIMT_Encode4(150207),
51066 /* 144747 */ // Label 3990: @144747
51067 /* 144747 */ GIM_Try, /*On fail goto*//*Label 4004*/ GIMT_Encode4(144905),
51068 /* 144752 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
51069 /* 144755 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
51070 /* 144758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
51071 /* 144762 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4005*/ GIMT_Encode4(144819), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 24490 //
51072 /* 144769 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51073 /* 144773 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51074 /* 144777 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51075 /* 144780 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51076 /* 144784 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51077 /* 144788 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
51078 /* 144792 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51079 /* 144794 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51080 /* 144801 */ // (fadd:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1) => (VADDSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
51081 /* 144801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
51082 /* 144804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51083 /* 144806 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51084 /* 144808 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51085 /* 144812 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51086 /* 144817 */ GIR_RootConstrainSelectedInstOperands,
51087 /* 144818 */ // GIR_Coverage, 24490,
51088 /* 144818 */ GIR_EraseRootFromParent_Done,
51089 /* 144819 */ // Label 4005: @144819
51090 /* 144819 */ GIM_Try, /*On fail goto*//*Label 4006*/ GIMT_Encode4(144904),
51091 /* 144824 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
51092 /* 144828 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4007*/ GIMT_Encode4(144881), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 5956 //
51093 /* 144835 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51094 /* 144839 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51095 /* 144843 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51096 /* 144846 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51097 /* 144850 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51098 /* 144854 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51099 /* 144856 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51100 /* 144863 */ // (fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
51101 /* 144863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
51102 /* 144866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51103 /* 144868 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51104 /* 144870 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51105 /* 144874 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51106 /* 144879 */ GIR_RootConstrainSelectedInstOperands,
51107 /* 144880 */ // GIR_Coverage, 5956,
51108 /* 144880 */ GIR_EraseRootFromParent_Done,
51109 /* 144881 */ // Label 4007: @144881
51110 /* 144881 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4008*/ GIMT_Encode4(144903), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 5954 //
51111 /* 144888 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
51112 /* 144892 */ // (fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VADDSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
51113 /* 144892 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSHZrr),
51114 /* 144897 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
51115 /* 144901 */ GIR_RootConstrainSelectedInstOperands,
51116 /* 144902 */ // GIR_Coverage, 5954,
51117 /* 144902 */ GIR_Done,
51118 /* 144903 */ // Label 4008: @144903
51119 /* 144903 */ GIM_Reject,
51120 /* 144904 */ // Label 4006: @144904
51121 /* 144904 */ GIM_Reject,
51122 /* 144905 */ // Label 4004: @144905
51123 /* 144905 */ GIM_Reject,
51124 /* 144906 */ // Label 3991: @144906
51125 /* 144906 */ GIM_Try, /*On fail goto*//*Label 4009*/ GIMT_Encode4(146246),
51126 /* 144911 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
51127 /* 144914 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
51128 /* 144917 */ GIM_Try, /*On fail goto*//*Label 4010*/ GIMT_Encode4(145077),
51129 /* 144922 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51130 /* 144926 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51131 /* 144930 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4011*/ GIMT_Encode4(145003), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 26262 //
51132 /* 144937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51133 /* 144941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51134 /* 144945 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
51135 /* 144949 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51136 /* 144953 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51137 /* 144957 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51138 /* 144960 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51139 /* 144964 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51140 /* 144971 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51141 /* 144975 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51142 /* 144977 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51143 /* 144984 */ // (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)
51144 /* 144984 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
51145 /* 144987 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51146 /* 144989 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51147 /* 144991 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51148 /* 144995 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51149 /* 145001 */ GIR_RootConstrainSelectedInstOperands,
51150 /* 145002 */ // GIR_Coverage, 26262,
51151 /* 145002 */ GIR_EraseRootFromParent_Done,
51152 /* 145003 */ // Label 4011: @145003
51153 /* 145003 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4012*/ GIMT_Encode4(145076), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 26263 //
51154 /* 145010 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51155 /* 145014 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51156 /* 145018 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
51157 /* 145022 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51158 /* 145026 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51159 /* 145030 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51160 /* 145033 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51161 /* 145037 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51162 /* 145044 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51163 /* 145048 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51164 /* 145050 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51165 /* 145057 */ // (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)
51166 /* 145057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
51167 /* 145060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51168 /* 145062 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51169 /* 145064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51170 /* 145068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51171 /* 145074 */ GIR_RootConstrainSelectedInstOperands,
51172 /* 145075 */ // GIR_Coverage, 26263,
51173 /* 145075 */ GIR_EraseRootFromParent_Done,
51174 /* 145076 */ // Label 4012: @145076
51175 /* 145076 */ GIM_Reject,
51176 /* 145077 */ // Label 4010: @145077
51177 /* 145077 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4013*/ GIMT_Encode4(145158), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 26264 //
51178 /* 145084 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51179 /* 145088 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51180 /* 145092 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51181 /* 145096 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
51182 /* 145100 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51183 /* 145104 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51184 /* 145108 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51185 /* 145111 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51186 /* 145115 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51187 /* 145122 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51188 /* 145126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51189 /* 145130 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51190 /* 145132 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51191 /* 145139 */ // (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)
51192 /* 145139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
51193 /* 145142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51194 /* 145144 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51195 /* 145146 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51196 /* 145150 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51197 /* 145156 */ GIR_RootConstrainSelectedInstOperands,
51198 /* 145157 */ // GIR_Coverage, 26264,
51199 /* 145157 */ GIR_EraseRootFromParent_Done,
51200 /* 145158 */ // Label 4013: @145158
51201 /* 145158 */ GIM_Try, /*On fail goto*//*Label 4014*/ GIMT_Encode4(145318),
51202 /* 145163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51203 /* 145167 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51204 /* 145171 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4015*/ GIMT_Encode4(145244), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22667 //
51205 /* 145178 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51206 /* 145182 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51207 /* 145186 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
51208 /* 145190 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51209 /* 145194 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51210 /* 145198 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51211 /* 145201 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51212 /* 145205 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51213 /* 145212 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51214 /* 145216 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51215 /* 145218 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51216 /* 145225 */ // (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)
51217 /* 145225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
51218 /* 145228 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51219 /* 145230 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51220 /* 145232 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51221 /* 145236 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51222 /* 145242 */ GIR_RootConstrainSelectedInstOperands,
51223 /* 145243 */ // GIR_Coverage, 22667,
51224 /* 145243 */ GIR_EraseRootFromParent_Done,
51225 /* 145244 */ // Label 4015: @145244
51226 /* 145244 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4016*/ GIMT_Encode4(145317), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22668 //
51227 /* 145251 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51228 /* 145255 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51229 /* 145259 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
51230 /* 145263 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51231 /* 145267 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51232 /* 145271 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51233 /* 145274 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51234 /* 145278 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51235 /* 145285 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51236 /* 145289 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51237 /* 145291 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51238 /* 145298 */ // (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)
51239 /* 145298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
51240 /* 145301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51241 /* 145303 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51242 /* 145305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51243 /* 145309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51244 /* 145315 */ GIR_RootConstrainSelectedInstOperands,
51245 /* 145316 */ // GIR_Coverage, 22668,
51246 /* 145316 */ GIR_EraseRootFromParent_Done,
51247 /* 145317 */ // Label 4016: @145317
51248 /* 145317 */ GIM_Reject,
51249 /* 145318 */ // Label 4014: @145318
51250 /* 145318 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4017*/ GIMT_Encode4(145399), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22669 //
51251 /* 145325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51252 /* 145329 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51253 /* 145333 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51254 /* 145337 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51255 /* 145341 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
51256 /* 145345 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51257 /* 145349 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51258 /* 145353 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51259 /* 145356 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51260 /* 145360 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51261 /* 145367 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51262 /* 145371 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51263 /* 145373 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51264 /* 145380 */ // (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)
51265 /* 145380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
51266 /* 145383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51267 /* 145385 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51268 /* 145387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51269 /* 145391 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51270 /* 145397 */ GIR_RootConstrainSelectedInstOperands,
51271 /* 145398 */ // GIR_Coverage, 22669,
51272 /* 145398 */ GIR_EraseRootFromParent_Done,
51273 /* 145399 */ // Label 4017: @145399
51274 /* 145399 */ GIM_Try, /*On fail goto*//*Label 4018*/ GIMT_Encode4(145581),
51275 /* 145404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
51276 /* 145408 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
51277 /* 145412 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4019*/ GIMT_Encode4(145468), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23487 //
51278 /* 145419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51279 /* 145423 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
51280 /* 145427 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
51281 /* 145434 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51282 /* 145438 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51283 /* 145440 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51284 /* 145447 */ // (fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51285 /* 145447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
51286 /* 145450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51287 /* 145452 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51288 /* 145454 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51289 /* 145458 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51290 /* 145461 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51291 /* 145466 */ GIR_RootConstrainSelectedInstOperands,
51292 /* 145467 */ // GIR_Coverage, 23487,
51293 /* 145467 */ GIR_EraseRootFromParent_Done,
51294 /* 145468 */ // Label 4019: @145468
51295 /* 145468 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4020*/ GIMT_Encode4(145524), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23489 //
51296 /* 145475 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51297 /* 145479 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
51298 /* 145483 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51299 /* 145490 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51300 /* 145494 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51301 /* 145496 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51302 /* 145503 */ // (fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51303 /* 145503 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
51304 /* 145506 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51305 /* 145508 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51306 /* 145510 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51307 /* 145514 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51308 /* 145517 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51309 /* 145522 */ GIR_RootConstrainSelectedInstOperands,
51310 /* 145523 */ // GIR_Coverage, 23489,
51311 /* 145523 */ GIR_EraseRootFromParent_Done,
51312 /* 145524 */ // Label 4020: @145524
51313 /* 145524 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4021*/ GIMT_Encode4(145580), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23477 //
51314 /* 145531 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51315 /* 145535 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51316 /* 145539 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51317 /* 145542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51318 /* 145546 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51319 /* 145550 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51320 /* 145552 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51321 /* 145559 */ // (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)
51322 /* 145559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
51323 /* 145562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51324 /* 145564 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51325 /* 145566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51326 /* 145570 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51327 /* 145573 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51328 /* 145578 */ GIR_RootConstrainSelectedInstOperands,
51329 /* 145579 */ // GIR_Coverage, 23477,
51330 /* 145579 */ GIR_EraseRootFromParent_Done,
51331 /* 145580 */ // Label 4021: @145580
51332 /* 145580 */ GIM_Reject,
51333 /* 145581 */ // Label 4018: @145581
51334 /* 145581 */ GIM_Try, /*On fail goto*//*Label 4022*/ GIMT_Encode4(145701),
51335 /* 145586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51336 /* 145590 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51337 /* 145594 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4023*/ GIMT_Encode4(145647), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 23622 //
51338 /* 145601 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51339 /* 145605 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51340 /* 145609 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51341 /* 145612 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51342 /* 145616 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51343 /* 145620 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51344 /* 145622 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51345 /* 145629 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (VADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51346 /* 145629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
51347 /* 145632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51348 /* 145634 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51349 /* 145636 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51350 /* 145640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51351 /* 145645 */ GIR_RootConstrainSelectedInstOperands,
51352 /* 145646 */ // GIR_Coverage, 23622,
51353 /* 145646 */ GIR_EraseRootFromParent_Done,
51354 /* 145647 */ // Label 4023: @145647
51355 /* 145647 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4024*/ GIMT_Encode4(145700), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 23626 //
51356 /* 145654 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51357 /* 145658 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51358 /* 145662 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51359 /* 145665 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51360 /* 145669 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51361 /* 145673 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51362 /* 145675 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51363 /* 145682 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (ADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51364 /* 145682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
51365 /* 145685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51366 /* 145687 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51367 /* 145689 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51368 /* 145693 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51369 /* 145698 */ GIR_RootConstrainSelectedInstOperands,
51370 /* 145699 */ // GIR_Coverage, 23626,
51371 /* 145699 */ GIR_EraseRootFromParent_Done,
51372 /* 145700 */ // Label 4024: @145700
51373 /* 145700 */ GIM_Reject,
51374 /* 145701 */ // Label 4022: @145701
51375 /* 145701 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4025*/ GIMT_Encode4(145762), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24486 //
51376 /* 145708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51377 /* 145712 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51378 /* 145716 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51379 /* 145720 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51380 /* 145723 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51381 /* 145727 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51382 /* 145731 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51383 /* 145735 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51384 /* 145737 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51385 /* 145744 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1) => (VADDSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51386 /* 145744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
51387 /* 145747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51388 /* 145749 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51389 /* 145751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51390 /* 145755 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51391 /* 145760 */ GIR_RootConstrainSelectedInstOperands,
51392 /* 145761 */ // GIR_Coverage, 24486,
51393 /* 145761 */ GIR_EraseRootFromParent_Done,
51394 /* 145762 */ // Label 4025: @145762
51395 /* 145762 */ GIM_Try, /*On fail goto*//*Label 4026*/ GIMT_Encode4(145944),
51396 /* 145767 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
51397 /* 145771 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
51398 /* 145775 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4027*/ GIMT_Encode4(145831), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 897 //
51399 /* 145782 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51400 /* 145786 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
51401 /* 145790 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
51402 /* 145797 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51403 /* 145801 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51404 /* 145803 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51405 /* 145810 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51406 /* 145810 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
51407 /* 145813 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51408 /* 145815 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51409 /* 145817 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51410 /* 145821 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51411 /* 145824 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51412 /* 145829 */ GIR_RootConstrainSelectedInstOperands,
51413 /* 145830 */ // GIR_Coverage, 897,
51414 /* 145830 */ GIR_EraseRootFromParent_Done,
51415 /* 145831 */ // Label 4027: @145831
51416 /* 145831 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4028*/ GIMT_Encode4(145887), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 899 //
51417 /* 145838 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51418 /* 145842 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
51419 /* 145846 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51420 /* 145853 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51421 /* 145857 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51422 /* 145859 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51423 /* 145866 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51424 /* 145866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
51425 /* 145869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51426 /* 145871 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51427 /* 145873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51428 /* 145877 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51429 /* 145880 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51430 /* 145885 */ GIR_RootConstrainSelectedInstOperands,
51431 /* 145886 */ // GIR_Coverage, 899,
51432 /* 145886 */ GIR_EraseRootFromParent_Done,
51433 /* 145887 */ // Label 4028: @145887
51434 /* 145887 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4029*/ GIMT_Encode4(145943), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 887 //
51435 /* 145894 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51436 /* 145898 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51437 /* 145902 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51438 /* 145905 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51439 /* 145909 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51440 /* 145913 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51441 /* 145915 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51442 /* 145922 */ // (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)
51443 /* 145922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
51444 /* 145925 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51445 /* 145927 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51446 /* 145929 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51447 /* 145933 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51448 /* 145936 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51449 /* 145941 */ GIR_RootConstrainSelectedInstOperands,
51450 /* 145942 */ // GIR_Coverage, 887,
51451 /* 145942 */ GIR_EraseRootFromParent_Done,
51452 /* 145943 */ // Label 4029: @145943
51453 /* 145943 */ GIM_Reject,
51454 /* 145944 */ // Label 4026: @145944
51455 /* 145944 */ GIM_Try, /*On fail goto*//*Label 4030*/ GIMT_Encode4(146064),
51456 /* 145949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51457 /* 145953 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51458 /* 145957 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4031*/ GIMT_Encode4(146010), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2142 //
51459 /* 145964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51460 /* 145968 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51461 /* 145972 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51462 /* 145975 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51463 /* 145979 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51464 /* 145983 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51465 /* 145985 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51466 /* 145992 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51467 /* 145992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
51468 /* 145995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51469 /* 145997 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51470 /* 145999 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51471 /* 146003 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51472 /* 146008 */ GIR_RootConstrainSelectedInstOperands,
51473 /* 146009 */ // GIR_Coverage, 2142,
51474 /* 146009 */ GIR_EraseRootFromParent_Done,
51475 /* 146010 */ // Label 4031: @146010
51476 /* 146010 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4032*/ GIMT_Encode4(146063), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2150 //
51477 /* 146017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51478 /* 146021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51479 /* 146025 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51480 /* 146028 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51481 /* 146032 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51482 /* 146036 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51483 /* 146038 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51484 /* 146045 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51485 /* 146045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
51486 /* 146048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51487 /* 146050 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51488 /* 146052 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51489 /* 146056 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51490 /* 146061 */ GIR_RootConstrainSelectedInstOperands,
51491 /* 146062 */ // GIR_Coverage, 2150,
51492 /* 146062 */ GIR_EraseRootFromParent_Done,
51493 /* 146063 */ // Label 4032: @146063
51494 /* 146063 */ GIM_Reject,
51495 /* 146064 */ // Label 4030: @146064
51496 /* 146064 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4033*/ GIMT_Encode4(146125), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5918 //
51497 /* 146071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51498 /* 146075 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51499 /* 146079 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51500 /* 146083 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51501 /* 146087 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51502 /* 146090 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51503 /* 146094 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51504 /* 146098 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51505 /* 146100 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51506 /* 146107 */ // (fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
51507 /* 146107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
51508 /* 146110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51509 /* 146112 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51510 /* 146114 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51511 /* 146118 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51512 /* 146123 */ GIR_RootConstrainSelectedInstOperands,
51513 /* 146124 */ // GIR_Coverage, 5918,
51514 /* 146124 */ GIR_EraseRootFromParent_Done,
51515 /* 146125 */ // Label 4033: @146125
51516 /* 146125 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4034*/ GIMT_Encode4(146161), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 863 //
51517 /* 146132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
51518 /* 146136 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
51519 /* 146140 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
51520 /* 146144 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (ADD_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
51521 /* 146144 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32),
51522 /* 146149 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
51523 /* 146155 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
51524 /* 146159 */ GIR_RootConstrainSelectedInstOperands,
51525 /* 146160 */ // GIR_Coverage, 863,
51526 /* 146160 */ GIR_Done,
51527 /* 146161 */ // Label 4034: @146161
51528 /* 146161 */ GIM_Try, /*On fail goto*//*Label 4035*/ GIMT_Encode4(146215),
51529 /* 146166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51530 /* 146170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51531 /* 146174 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
51532 /* 146178 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4036*/ GIMT_Encode4(146196), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2140 //
51533 /* 146185 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
51534 /* 146185 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSrr),
51535 /* 146190 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
51536 /* 146194 */ GIR_RootConstrainSelectedInstOperands,
51537 /* 146195 */ // GIR_Coverage, 2140,
51538 /* 146195 */ GIR_Done,
51539 /* 146196 */ // Label 4036: @146196
51540 /* 146196 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4037*/ GIMT_Encode4(146214), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2148 //
51541 /* 146203 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (ADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
51542 /* 146203 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSSrr),
51543 /* 146208 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
51544 /* 146212 */ GIR_RootConstrainSelectedInstOperands,
51545 /* 146213 */ // GIR_Coverage, 2148,
51546 /* 146213 */ GIR_Done,
51547 /* 146214 */ // Label 4037: @146214
51548 /* 146214 */ GIM_Reject,
51549 /* 146215 */ // Label 4035: @146215
51550 /* 146215 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4038*/ GIMT_Encode4(146245), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5916 //
51551 /* 146222 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51552 /* 146226 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51553 /* 146230 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
51554 /* 146234 */ // (fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VADDSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
51555 /* 146234 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSZrr),
51556 /* 146239 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
51557 /* 146243 */ GIR_RootConstrainSelectedInstOperands,
51558 /* 146244 */ // GIR_Coverage, 5916,
51559 /* 146244 */ GIR_Done,
51560 /* 146245 */ // Label 4038: @146245
51561 /* 146245 */ GIM_Reject,
51562 /* 146246 */ // Label 4009: @146246
51563 /* 146246 */ GIM_Reject,
51564 /* 146247 */ // Label 3992: @146247
51565 /* 146247 */ GIM_Try, /*On fail goto*//*Label 4039*/ GIMT_Encode4(147713),
51566 /* 146252 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
51567 /* 146255 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
51568 /* 146258 */ GIM_Try, /*On fail goto*//*Label 4040*/ GIMT_Encode4(146418),
51569 /* 146263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
51570 /* 146267 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
51571 /* 146271 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4041*/ GIMT_Encode4(146344), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 26265 //
51572 /* 146278 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51573 /* 146282 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51574 /* 146286 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
51575 /* 146290 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51576 /* 146294 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51577 /* 146298 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51578 /* 146301 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51579 /* 146305 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
51580 /* 146312 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51581 /* 146316 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51582 /* 146318 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51583 /* 146325 */ // (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)
51584 /* 146325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
51585 /* 146328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51586 /* 146330 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51587 /* 146332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51588 /* 146336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51589 /* 146342 */ GIR_RootConstrainSelectedInstOperands,
51590 /* 146343 */ // GIR_Coverage, 26265,
51591 /* 146343 */ GIR_EraseRootFromParent_Done,
51592 /* 146344 */ // Label 4041: @146344
51593 /* 146344 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4042*/ GIMT_Encode4(146417), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 26266 //
51594 /* 146351 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51595 /* 146355 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51596 /* 146359 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
51597 /* 146363 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51598 /* 146367 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51599 /* 146371 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51600 /* 146374 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51601 /* 146378 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
51602 /* 146385 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51603 /* 146389 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51604 /* 146391 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51605 /* 146398 */ // (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)
51606 /* 146398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
51607 /* 146401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51608 /* 146403 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51609 /* 146405 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51610 /* 146409 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51611 /* 146415 */ GIR_RootConstrainSelectedInstOperands,
51612 /* 146416 */ // GIR_Coverage, 26266,
51613 /* 146416 */ GIR_EraseRootFromParent_Done,
51614 /* 146417 */ // Label 4042: @146417
51615 /* 146417 */ GIM_Reject,
51616 /* 146418 */ // Label 4040: @146418
51617 /* 146418 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4043*/ GIMT_Encode4(146499), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 26267 //
51618 /* 146425 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
51619 /* 146429 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51620 /* 146433 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51621 /* 146437 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
51622 /* 146441 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51623 /* 146445 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51624 /* 146449 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51625 /* 146452 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51626 /* 146456 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
51627 /* 146463 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51628 /* 146467 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
51629 /* 146471 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51630 /* 146473 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51631 /* 146480 */ // (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)
51632 /* 146480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
51633 /* 146483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51634 /* 146485 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51635 /* 146487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51636 /* 146491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51637 /* 146497 */ GIR_RootConstrainSelectedInstOperands,
51638 /* 146498 */ // GIR_Coverage, 26267,
51639 /* 146498 */ GIR_EraseRootFromParent_Done,
51640 /* 146499 */ // Label 4043: @146499
51641 /* 146499 */ GIM_Try, /*On fail goto*//*Label 4044*/ GIMT_Encode4(146659),
51642 /* 146504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
51643 /* 146508 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
51644 /* 146512 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4045*/ GIMT_Encode4(146585), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22670 //
51645 /* 146519 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51646 /* 146523 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51647 /* 146527 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
51648 /* 146531 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51649 /* 146535 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51650 /* 146539 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51651 /* 146542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51652 /* 146546 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
51653 /* 146553 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51654 /* 146557 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51655 /* 146559 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51656 /* 146566 */ // (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)
51657 /* 146566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
51658 /* 146569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51659 /* 146571 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51660 /* 146573 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51661 /* 146577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51662 /* 146583 */ GIR_RootConstrainSelectedInstOperands,
51663 /* 146584 */ // GIR_Coverage, 22670,
51664 /* 146584 */ GIR_EraseRootFromParent_Done,
51665 /* 146585 */ // Label 4045: @146585
51666 /* 146585 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4046*/ GIMT_Encode4(146658), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22671 //
51667 /* 146592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51668 /* 146596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51669 /* 146600 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
51670 /* 146604 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51671 /* 146608 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51672 /* 146612 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51673 /* 146615 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51674 /* 146619 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
51675 /* 146626 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51676 /* 146630 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51677 /* 146632 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51678 /* 146639 */ // (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)
51679 /* 146639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
51680 /* 146642 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51681 /* 146644 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51682 /* 146646 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51683 /* 146650 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51684 /* 146656 */ GIR_RootConstrainSelectedInstOperands,
51685 /* 146657 */ // GIR_Coverage, 22671,
51686 /* 146657 */ GIR_EraseRootFromParent_Done,
51687 /* 146658 */ // Label 4046: @146658
51688 /* 146658 */ GIM_Reject,
51689 /* 146659 */ // Label 4044: @146659
51690 /* 146659 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4047*/ GIMT_Encode4(146740), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22672 //
51691 /* 146666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
51692 /* 146670 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
51693 /* 146674 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51694 /* 146678 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
51695 /* 146682 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
51696 /* 146686 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
51697 /* 146690 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
51698 /* 146694 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
51699 /* 146697 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
51700 /* 146701 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
51701 /* 146708 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
51702 /* 146712 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
51703 /* 146714 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51704 /* 146721 */ // (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)
51705 /* 146721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
51706 /* 146724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51707 /* 146726 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51708 /* 146728 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51709 /* 146732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
51710 /* 146738 */ GIR_RootConstrainSelectedInstOperands,
51711 /* 146739 */ // GIR_Coverage, 22672,
51712 /* 146739 */ GIR_EraseRootFromParent_Done,
51713 /* 146740 */ // Label 4047: @146740
51714 /* 146740 */ GIM_Try, /*On fail goto*//*Label 4048*/ GIMT_Encode4(146985),
51715 /* 146745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
51716 /* 146749 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
51717 /* 146753 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4049*/ GIMT_Encode4(146809), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23491 //
51718 /* 146760 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51719 /* 146764 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
51720 /* 146768 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
51721 /* 146775 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51722 /* 146779 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51723 /* 146781 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51724 /* 146788 */ // (fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51725 /* 146788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
51726 /* 146791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51727 /* 146793 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51728 /* 146795 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51729 /* 146799 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51730 /* 146802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51731 /* 146807 */ GIR_RootConstrainSelectedInstOperands,
51732 /* 146808 */ // GIR_Coverage, 23491,
51733 /* 146808 */ GIR_EraseRootFromParent_Done,
51734 /* 146809 */ // Label 4049: @146809
51735 /* 146809 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4050*/ GIMT_Encode4(146865), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23493 //
51736 /* 146816 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51737 /* 146820 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
51738 /* 146824 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51739 /* 146831 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51740 /* 146835 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51741 /* 146837 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51742 /* 146844 */ // (fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51743 /* 146844 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
51744 /* 146847 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51745 /* 146849 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51746 /* 146851 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51747 /* 146855 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51748 /* 146858 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51749 /* 146863 */ GIR_RootConstrainSelectedInstOperands,
51750 /* 146864 */ // GIR_Coverage, 23493,
51751 /* 146864 */ GIR_EraseRootFromParent_Done,
51752 /* 146865 */ // Label 4050: @146865
51753 /* 146865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4051*/ GIMT_Encode4(146928), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23481 //
51754 /* 146872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51755 /* 146876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
51756 /* 146880 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51757 /* 146883 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51758 /* 146887 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51759 /* 146894 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51760 /* 146898 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51761 /* 146900 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51762 /* 146907 */ // (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)
51763 /* 146907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
51764 /* 146910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51765 /* 146912 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51766 /* 146914 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51767 /* 146918 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51768 /* 146921 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51769 /* 146926 */ GIR_RootConstrainSelectedInstOperands,
51770 /* 146927 */ // GIR_Coverage, 23481,
51771 /* 146927 */ GIR_EraseRootFromParent_Done,
51772 /* 146928 */ // Label 4051: @146928
51773 /* 146928 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4052*/ GIMT_Encode4(146984), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23479 //
51774 /* 146935 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51775 /* 146939 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51776 /* 146943 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51777 /* 146946 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51778 /* 146950 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51779 /* 146954 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51780 /* 146956 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51781 /* 146963 */ // (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)
51782 /* 146963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
51783 /* 146966 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51784 /* 146968 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51785 /* 146970 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51786 /* 146974 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51787 /* 146977 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51788 /* 146982 */ GIR_RootConstrainSelectedInstOperands,
51789 /* 146983 */ // GIR_Coverage, 23479,
51790 /* 146983 */ GIR_EraseRootFromParent_Done,
51791 /* 146984 */ // Label 4052: @146984
51792 /* 146984 */ GIM_Reject,
51793 /* 146985 */ // Label 4048: @146985
51794 /* 146985 */ GIM_Try, /*On fail goto*//*Label 4053*/ GIMT_Encode4(147105),
51795 /* 146990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
51796 /* 146994 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
51797 /* 146998 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4054*/ GIMT_Encode4(147051), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 23624 //
51798 /* 147005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51799 /* 147009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51800 /* 147013 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51801 /* 147016 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51802 /* 147020 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51803 /* 147024 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51804 /* 147026 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51805 /* 147033 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (VADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51806 /* 147033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
51807 /* 147036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51808 /* 147038 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51809 /* 147040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51810 /* 147044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51811 /* 147049 */ GIR_RootConstrainSelectedInstOperands,
51812 /* 147050 */ // GIR_Coverage, 23624,
51813 /* 147050 */ GIR_EraseRootFromParent_Done,
51814 /* 147051 */ // Label 4054: @147051
51815 /* 147051 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4055*/ GIMT_Encode4(147104), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 23628 //
51816 /* 147058 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51817 /* 147062 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51818 /* 147066 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51819 /* 147069 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51820 /* 147073 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51821 /* 147077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51822 /* 147079 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51823 /* 147086 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (ADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51824 /* 147086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
51825 /* 147089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51826 /* 147091 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51827 /* 147093 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51828 /* 147097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51829 /* 147102 */ GIR_RootConstrainSelectedInstOperands,
51830 /* 147103 */ // GIR_Coverage, 23628,
51831 /* 147103 */ GIR_EraseRootFromParent_Done,
51832 /* 147104 */ // Label 4055: @147104
51833 /* 147104 */ GIM_Reject,
51834 /* 147105 */ // Label 4053: @147105
51835 /* 147105 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4056*/ GIMT_Encode4(147166), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24488 //
51836 /* 147112 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
51837 /* 147116 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51838 /* 147120 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51839 /* 147124 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51840 /* 147127 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51841 /* 147131 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51842 /* 147135 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
51843 /* 147139 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51844 /* 147141 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51845 /* 147148 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1) => (VADDSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51846 /* 147148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
51847 /* 147151 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51848 /* 147153 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51849 /* 147155 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51850 /* 147159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51851 /* 147164 */ GIR_RootConstrainSelectedInstOperands,
51852 /* 147165 */ // GIR_Coverage, 24488,
51853 /* 147165 */ GIR_EraseRootFromParent_Done,
51854 /* 147166 */ // Label 4056: @147166
51855 /* 147166 */ GIM_Try, /*On fail goto*//*Label 4057*/ GIMT_Encode4(147411),
51856 /* 147171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
51857 /* 147175 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
51858 /* 147179 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4058*/ GIMT_Encode4(147235), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 901 //
51859 /* 147186 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51860 /* 147190 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
51861 /* 147194 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
51862 /* 147201 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51863 /* 147205 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51864 /* 147207 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51865 /* 147214 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51866 /* 147214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
51867 /* 147217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51868 /* 147219 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51869 /* 147221 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51870 /* 147225 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51871 /* 147228 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51872 /* 147233 */ GIR_RootConstrainSelectedInstOperands,
51873 /* 147234 */ // GIR_Coverage, 901,
51874 /* 147234 */ GIR_EraseRootFromParent_Done,
51875 /* 147235 */ // Label 4058: @147235
51876 /* 147235 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4059*/ GIMT_Encode4(147291), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 903 //
51877 /* 147242 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51878 /* 147246 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
51879 /* 147250 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51880 /* 147257 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51881 /* 147261 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51882 /* 147263 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51883 /* 147270 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51884 /* 147270 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
51885 /* 147273 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51886 /* 147275 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51887 /* 147277 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51888 /* 147281 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51889 /* 147284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51890 /* 147289 */ GIR_RootConstrainSelectedInstOperands,
51891 /* 147290 */ // GIR_Coverage, 903,
51892 /* 147290 */ GIR_EraseRootFromParent_Done,
51893 /* 147291 */ // Label 4059: @147291
51894 /* 147291 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4060*/ GIMT_Encode4(147354), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 891 //
51895 /* 147298 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51896 /* 147302 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
51897 /* 147306 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51898 /* 147309 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51899 /* 147313 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
51900 /* 147320 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51901 /* 147324 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51902 /* 147326 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51903 /* 147333 */ // (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)
51904 /* 147333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
51905 /* 147336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51906 /* 147338 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51907 /* 147340 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51908 /* 147344 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51909 /* 147347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51910 /* 147352 */ GIR_RootConstrainSelectedInstOperands,
51911 /* 147353 */ // GIR_Coverage, 891,
51912 /* 147353 */ GIR_EraseRootFromParent_Done,
51913 /* 147354 */ // Label 4060: @147354
51914 /* 147354 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4061*/ GIMT_Encode4(147410), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 889 //
51915 /* 147361 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51916 /* 147365 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51917 /* 147369 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51918 /* 147372 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51919 /* 147376 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51920 /* 147380 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51921 /* 147382 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51922 /* 147389 */ // (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)
51923 /* 147389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
51924 /* 147392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51925 /* 147394 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51926 /* 147396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51927 /* 147400 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
51928 /* 147403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51929 /* 147408 */ GIR_RootConstrainSelectedInstOperands,
51930 /* 147409 */ // GIR_Coverage, 889,
51931 /* 147409 */ GIR_EraseRootFromParent_Done,
51932 /* 147410 */ // Label 4061: @147410
51933 /* 147410 */ GIM_Reject,
51934 /* 147411 */ // Label 4057: @147411
51935 /* 147411 */ GIM_Try, /*On fail goto*//*Label 4062*/ GIMT_Encode4(147531),
51936 /* 147416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
51937 /* 147420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
51938 /* 147424 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4063*/ GIMT_Encode4(147477), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2146 //
51939 /* 147431 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51940 /* 147435 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51941 /* 147439 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51942 /* 147442 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51943 /* 147446 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51944 /* 147450 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51945 /* 147452 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51946 /* 147459 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51947 /* 147459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
51948 /* 147462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51949 /* 147464 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51950 /* 147466 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51951 /* 147470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51952 /* 147475 */ GIR_RootConstrainSelectedInstOperands,
51953 /* 147476 */ // GIR_Coverage, 2146,
51954 /* 147476 */ GIR_EraseRootFromParent_Done,
51955 /* 147477 */ // Label 4063: @147477
51956 /* 147477 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4064*/ GIMT_Encode4(147530), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2154 //
51957 /* 147484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51958 /* 147488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51959 /* 147492 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51960 /* 147495 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51961 /* 147499 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51962 /* 147503 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51963 /* 147505 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51964 /* 147512 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51965 /* 147512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
51966 /* 147515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51967 /* 147517 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51968 /* 147519 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51969 /* 147523 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51970 /* 147528 */ GIR_RootConstrainSelectedInstOperands,
51971 /* 147529 */ // GIR_Coverage, 2154,
51972 /* 147529 */ GIR_EraseRootFromParent_Done,
51973 /* 147530 */ // Label 4064: @147530
51974 /* 147530 */ GIM_Reject,
51975 /* 147531 */ // Label 4062: @147531
51976 /* 147531 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4065*/ GIMT_Encode4(147592), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5937 //
51977 /* 147538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
51978 /* 147542 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
51979 /* 147546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51980 /* 147550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51981 /* 147554 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51982 /* 147557 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51983 /* 147561 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51984 /* 147565 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51985 /* 147567 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51986 /* 147574 */ // (fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
51987 /* 147574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
51988 /* 147577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51989 /* 147579 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51990 /* 147581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51991 /* 147585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51992 /* 147590 */ GIR_RootConstrainSelectedInstOperands,
51993 /* 147591 */ // GIR_Coverage, 5937,
51994 /* 147591 */ GIR_EraseRootFromParent_Done,
51995 /* 147592 */ // Label 4065: @147592
51996 /* 147592 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4066*/ GIMT_Encode4(147628), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 865 //
51997 /* 147599 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
51998 /* 147603 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
51999 /* 147607 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52000 /* 147611 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (ADD_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
52001 /* 147611 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64),
52002 /* 147616 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
52003 /* 147622 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
52004 /* 147626 */ GIR_RootConstrainSelectedInstOperands,
52005 /* 147627 */ // GIR_Coverage, 865,
52006 /* 147627 */ GIR_Done,
52007 /* 147628 */ // Label 4066: @147628
52008 /* 147628 */ GIM_Try, /*On fail goto*//*Label 4067*/ GIMT_Encode4(147682),
52009 /* 147633 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52010 /* 147637 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52011 /* 147641 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52012 /* 147645 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4068*/ GIMT_Encode4(147663), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2144 //
52013 /* 147652 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
52014 /* 147652 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDrr),
52015 /* 147657 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52016 /* 147661 */ GIR_RootConstrainSelectedInstOperands,
52017 /* 147662 */ // GIR_Coverage, 2144,
52018 /* 147662 */ GIR_Done,
52019 /* 147663 */ // Label 4068: @147663
52020 /* 147663 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4069*/ GIMT_Encode4(147681), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2152 //
52021 /* 147670 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (ADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
52022 /* 147670 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSDrr),
52023 /* 147675 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52024 /* 147679 */ GIR_RootConstrainSelectedInstOperands,
52025 /* 147680 */ // GIR_Coverage, 2152,
52026 /* 147680 */ GIR_Done,
52027 /* 147681 */ // Label 4069: @147681
52028 /* 147681 */ GIM_Reject,
52029 /* 147682 */ // Label 4067: @147682
52030 /* 147682 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4070*/ GIMT_Encode4(147712), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5935 //
52031 /* 147689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52032 /* 147693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52033 /* 147697 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52034 /* 147701 */ // (fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VADDSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
52035 /* 147701 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDZrr),
52036 /* 147706 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52037 /* 147710 */ GIR_RootConstrainSelectedInstOperands,
52038 /* 147711 */ // GIR_Coverage, 5935,
52039 /* 147711 */ GIR_Done,
52040 /* 147712 */ // Label 4070: @147712
52041 /* 147712 */ GIM_Reject,
52042 /* 147713 */ // Label 4039: @147713
52043 /* 147713 */ GIM_Reject,
52044 /* 147714 */ // Label 3993: @147714
52045 /* 147714 */ GIM_Try, /*On fail goto*//*Label 4071*/ GIMT_Encode4(148254),
52046 /* 147719 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
52047 /* 147722 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
52048 /* 147725 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
52049 /* 147729 */ GIM_Try, /*On fail goto*//*Label 4072*/ GIMT_Encode4(147977),
52050 /* 147734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
52051 /* 147738 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4073*/ GIMT_Encode4(147794), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23495 //
52052 /* 147745 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52053 /* 147749 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52054 /* 147753 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
52055 /* 147760 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52056 /* 147764 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52057 /* 147766 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52058 /* 147773 */ // (fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
52059 /* 147773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
52060 /* 147776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52061 /* 147778 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52062 /* 147780 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52063 /* 147784 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52064 /* 147787 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52065 /* 147792 */ GIR_RootConstrainSelectedInstOperands,
52066 /* 147793 */ // GIR_Coverage, 23495,
52067 /* 147793 */ GIR_EraseRootFromParent_Done,
52068 /* 147794 */ // Label 4073: @147794
52069 /* 147794 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4074*/ GIMT_Encode4(147850), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23497 //
52070 /* 147801 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52071 /* 147805 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52072 /* 147809 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52073 /* 147816 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52074 /* 147820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52075 /* 147822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52076 /* 147829 */ // (fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
52077 /* 147829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
52078 /* 147832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52079 /* 147834 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52080 /* 147836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52081 /* 147840 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52082 /* 147843 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52083 /* 147848 */ GIR_RootConstrainSelectedInstOperands,
52084 /* 147849 */ // GIR_Coverage, 23497,
52085 /* 147849 */ GIR_EraseRootFromParent_Done,
52086 /* 147850 */ // Label 4074: @147850
52087 /* 147850 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4075*/ GIMT_Encode4(147913), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23483 //
52088 /* 147857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52089 /* 147861 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
52090 /* 147865 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52091 /* 147868 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52092 /* 147872 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52093 /* 147879 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52094 /* 147883 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52095 /* 147885 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52096 /* 147892 */ // (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)
52097 /* 147892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
52098 /* 147895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52099 /* 147897 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52100 /* 147899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52101 /* 147903 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52102 /* 147906 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52103 /* 147911 */ GIR_RootConstrainSelectedInstOperands,
52104 /* 147912 */ // GIR_Coverage, 23483,
52105 /* 147912 */ GIR_EraseRootFromParent_Done,
52106 /* 147913 */ // Label 4075: @147913
52107 /* 147913 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4076*/ GIMT_Encode4(147976), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23485 //
52108 /* 147920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52109 /* 147924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
52110 /* 147928 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52111 /* 147931 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52112 /* 147935 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
52113 /* 147942 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52114 /* 147946 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52115 /* 147948 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52116 /* 147955 */ // (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)
52117 /* 147955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
52118 /* 147958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52119 /* 147960 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52120 /* 147962 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52121 /* 147966 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52122 /* 147969 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52123 /* 147974 */ GIR_RootConstrainSelectedInstOperands,
52124 /* 147975 */ // GIR_Coverage, 23485,
52125 /* 147975 */ GIR_EraseRootFromParent_Done,
52126 /* 147976 */ // Label 4076: @147976
52127 /* 147976 */ GIM_Reject,
52128 /* 147977 */ // Label 4072: @147977
52129 /* 147977 */ GIM_Try, /*On fail goto*//*Label 4077*/ GIMT_Encode4(148253),
52130 /* 147982 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
52131 /* 147986 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4078*/ GIMT_Encode4(148042), GIMT_Encode2(GIFBS_HasX87), // Rule ID 905 //
52132 /* 147993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52133 /* 147997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52134 /* 148001 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
52135 /* 148008 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52136 /* 148012 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52137 /* 148014 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52138 /* 148021 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
52139 /* 148021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
52140 /* 148024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52141 /* 148026 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52142 /* 148028 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52143 /* 148032 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52144 /* 148035 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52145 /* 148040 */ GIR_RootConstrainSelectedInstOperands,
52146 /* 148041 */ // GIR_Coverage, 905,
52147 /* 148041 */ GIR_EraseRootFromParent_Done,
52148 /* 148042 */ // Label 4078: @148042
52149 /* 148042 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4079*/ GIMT_Encode4(148098), GIMT_Encode2(GIFBS_HasX87), // Rule ID 907 //
52150 /* 148049 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52151 /* 148053 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52152 /* 148057 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52153 /* 148064 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52154 /* 148068 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52155 /* 148070 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52156 /* 148077 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
52157 /* 148077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
52158 /* 148080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52159 /* 148082 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52160 /* 148084 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52161 /* 148088 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52162 /* 148091 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52163 /* 148096 */ GIR_RootConstrainSelectedInstOperands,
52164 /* 148097 */ // GIR_Coverage, 907,
52165 /* 148097 */ GIR_EraseRootFromParent_Done,
52166 /* 148098 */ // Label 4079: @148098
52167 /* 148098 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4080*/ GIMT_Encode4(148161), GIMT_Encode2(GIFBS_HasX87), // Rule ID 893 //
52168 /* 148105 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52169 /* 148109 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
52170 /* 148113 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52171 /* 148116 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52172 /* 148120 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52173 /* 148127 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52174 /* 148131 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52175 /* 148133 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52176 /* 148140 */ // (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)
52177 /* 148140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
52178 /* 148143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52179 /* 148145 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52180 /* 148147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52181 /* 148151 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52182 /* 148154 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52183 /* 148159 */ GIR_RootConstrainSelectedInstOperands,
52184 /* 148160 */ // GIR_Coverage, 893,
52185 /* 148160 */ GIR_EraseRootFromParent_Done,
52186 /* 148161 */ // Label 4080: @148161
52187 /* 148161 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4081*/ GIMT_Encode4(148224), GIMT_Encode2(GIFBS_HasX87), // Rule ID 895 //
52188 /* 148168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52189 /* 148172 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
52190 /* 148176 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52191 /* 148179 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52192 /* 148183 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
52193 /* 148190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52194 /* 148194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52195 /* 148196 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52196 /* 148203 */ // (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)
52197 /* 148203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
52198 /* 148206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52199 /* 148208 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52200 /* 148210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52201 /* 148214 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52202 /* 148217 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52203 /* 148222 */ GIR_RootConstrainSelectedInstOperands,
52204 /* 148223 */ // GIR_Coverage, 895,
52205 /* 148223 */ GIR_EraseRootFromParent_Done,
52206 /* 148224 */ // Label 4081: @148224
52207 /* 148224 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4082*/ GIMT_Encode4(148252), GIMT_Encode2(GIFBS_HasX87), // Rule ID 867 //
52208 /* 148231 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
52209 /* 148235 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (ADD_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
52210 /* 148235 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80),
52211 /* 148240 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
52212 /* 148246 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
52213 /* 148250 */ GIR_RootConstrainSelectedInstOperands,
52214 /* 148251 */ // GIR_Coverage, 867,
52215 /* 148251 */ GIR_Done,
52216 /* 148252 */ // Label 4082: @148252
52217 /* 148252 */ GIM_Reject,
52218 /* 148253 */ // Label 4077: @148253
52219 /* 148253 */ GIM_Reject,
52220 /* 148254 */ // Label 4071: @148254
52221 /* 148254 */ GIM_Reject,
52222 /* 148255 */ // Label 3994: @148255
52223 /* 148255 */ GIM_Try, /*On fail goto*//*Label 4083*/ GIMT_Encode4(148413),
52224 /* 148260 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
52225 /* 148263 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
52226 /* 148266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52227 /* 148270 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4084*/ GIMT_Encode4(148327), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 24560 //
52228 /* 148277 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52229 /* 148281 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52230 /* 148285 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52231 /* 148288 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52232 /* 148292 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52233 /* 148296 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52234 /* 148300 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52235 /* 148302 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52236 /* 148309 */ // (fadd:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1) => (VADDPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52237 /* 148309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
52238 /* 148312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52239 /* 148314 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52240 /* 148316 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52241 /* 148320 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52242 /* 148325 */ GIR_RootConstrainSelectedInstOperands,
52243 /* 148326 */ // GIR_Coverage, 24560,
52244 /* 148326 */ GIR_EraseRootFromParent_Done,
52245 /* 148327 */ // Label 4084: @148327
52246 /* 148327 */ GIM_Try, /*On fail goto*//*Label 4085*/ GIMT_Encode4(148412),
52247 /* 148332 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52248 /* 148336 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4086*/ GIMT_Encode4(148389), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6346 //
52249 /* 148343 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52250 /* 148347 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52251 /* 148351 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52252 /* 148354 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52253 /* 148358 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52254 /* 148362 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52255 /* 148364 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52256 /* 148371 */ // (fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52257 /* 148371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
52258 /* 148374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52259 /* 148376 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52260 /* 148378 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52261 /* 148382 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52262 /* 148387 */ GIR_RootConstrainSelectedInstOperands,
52263 /* 148388 */ // GIR_Coverage, 6346,
52264 /* 148388 */ GIR_EraseRootFromParent_Done,
52265 /* 148389 */ // Label 4086: @148389
52266 /* 148389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4087*/ GIMT_Encode4(148411), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6342 //
52267 /* 148396 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52268 /* 148400 */ // (fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VADDPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
52269 /* 148400 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rr),
52270 /* 148405 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52271 /* 148409 */ GIR_RootConstrainSelectedInstOperands,
52272 /* 148410 */ // GIR_Coverage, 6342,
52273 /* 148410 */ GIR_Done,
52274 /* 148411 */ // Label 4087: @148411
52275 /* 148411 */ GIM_Reject,
52276 /* 148412 */ // Label 4085: @148412
52277 /* 148412 */ GIM_Reject,
52278 /* 148413 */ // Label 4083: @148413
52279 /* 148413 */ GIM_Reject,
52280 /* 148414 */ // Label 3995: @148414
52281 /* 148414 */ GIM_Try, /*On fail goto*//*Label 4088*/ GIMT_Encode4(148572),
52282 /* 148419 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
52283 /* 148422 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
52284 /* 148425 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52285 /* 148429 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4089*/ GIMT_Encode4(148486), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 24568 //
52286 /* 148436 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52287 /* 148440 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52288 /* 148444 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52289 /* 148447 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52290 /* 148451 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52291 /* 148455 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52292 /* 148459 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52293 /* 148461 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52294 /* 148468 */ // (fadd:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1) => (VADDPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52295 /* 148468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
52296 /* 148471 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52297 /* 148473 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52298 /* 148475 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52299 /* 148479 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52300 /* 148484 */ GIR_RootConstrainSelectedInstOperands,
52301 /* 148485 */ // GIR_Coverage, 24568,
52302 /* 148485 */ GIR_EraseRootFromParent_Done,
52303 /* 148486 */ // Label 4089: @148486
52304 /* 148486 */ GIM_Try, /*On fail goto*//*Label 4090*/ GIMT_Encode4(148571),
52305 /* 148491 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52306 /* 148495 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4091*/ GIMT_Encode4(148548), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6358 //
52307 /* 148502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52308 /* 148506 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52309 /* 148510 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52310 /* 148513 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52311 /* 148517 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52312 /* 148521 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52313 /* 148523 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52314 /* 148530 */ // (fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52315 /* 148530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
52316 /* 148533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52317 /* 148535 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52318 /* 148537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52319 /* 148541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52320 /* 148546 */ GIR_RootConstrainSelectedInstOperands,
52321 /* 148547 */ // GIR_Coverage, 6358,
52322 /* 148547 */ GIR_EraseRootFromParent_Done,
52323 /* 148548 */ // Label 4091: @148548
52324 /* 148548 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4092*/ GIMT_Encode4(148570), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6354 //
52325 /* 148555 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52326 /* 148559 */ // (fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VADDPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
52327 /* 148559 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rr),
52328 /* 148564 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52329 /* 148568 */ GIR_RootConstrainSelectedInstOperands,
52330 /* 148569 */ // GIR_Coverage, 6354,
52331 /* 148569 */ GIR_Done,
52332 /* 148570 */ // Label 4092: @148570
52333 /* 148570 */ GIM_Reject,
52334 /* 148571 */ // Label 4090: @148571
52335 /* 148571 */ GIM_Reject,
52336 /* 148572 */ // Label 4088: @148572
52337 /* 148572 */ GIM_Reject,
52338 /* 148573 */ // Label 3996: @148573
52339 /* 148573 */ GIM_Try, /*On fail goto*//*Label 4093*/ GIMT_Encode4(148731),
52340 /* 148578 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
52341 /* 148581 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
52342 /* 148584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52343 /* 148588 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4094*/ GIMT_Encode4(148645), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 24552 //
52344 /* 148595 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52345 /* 148599 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52346 /* 148603 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52347 /* 148606 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52348 /* 148610 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52349 /* 148614 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52350 /* 148618 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52351 /* 148620 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52352 /* 148627 */ // (fadd:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1) => (VADDPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52353 /* 148627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
52354 /* 148630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52355 /* 148632 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52356 /* 148634 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52357 /* 148638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52358 /* 148643 */ GIR_RootConstrainSelectedInstOperands,
52359 /* 148644 */ // GIR_Coverage, 24552,
52360 /* 148644 */ GIR_EraseRootFromParent_Done,
52361 /* 148645 */ // Label 4094: @148645
52362 /* 148645 */ GIM_Try, /*On fail goto*//*Label 4095*/ GIMT_Encode4(148730),
52363 /* 148650 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52364 /* 148654 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4096*/ GIMT_Encode4(148707), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6334 //
52365 /* 148661 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52366 /* 148665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52367 /* 148669 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52368 /* 148672 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52369 /* 148676 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52370 /* 148680 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52371 /* 148682 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52372 /* 148689 */ // (fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52373 /* 148689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
52374 /* 148692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52375 /* 148694 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52376 /* 148696 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52377 /* 148700 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52378 /* 148705 */ GIR_RootConstrainSelectedInstOperands,
52379 /* 148706 */ // GIR_Coverage, 6334,
52380 /* 148706 */ GIR_EraseRootFromParent_Done,
52381 /* 148707 */ // Label 4096: @148707
52382 /* 148707 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4097*/ GIMT_Encode4(148729), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6330 //
52383 /* 148714 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52384 /* 148718 */ // (fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VADDPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
52385 /* 148718 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZrr),
52386 /* 148723 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52387 /* 148727 */ GIR_RootConstrainSelectedInstOperands,
52388 /* 148728 */ // GIR_Coverage, 6330,
52389 /* 148728 */ GIR_Done,
52390 /* 148729 */ // Label 4097: @148729
52391 /* 148729 */ GIM_Reject,
52392 /* 148730 */ // Label 4095: @148730
52393 /* 148730 */ GIM_Reject,
52394 /* 148731 */ // Label 4093: @148731
52395 /* 148731 */ GIM_Reject,
52396 /* 148732 */ // Label 3997: @148732
52397 /* 148732 */ GIM_Try, /*On fail goto*//*Label 4098*/ GIMT_Encode4(149072),
52398 /* 148737 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
52399 /* 148740 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
52400 /* 148743 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4099*/ GIMT_Encode4(148804), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23610 //
52401 /* 148750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52402 /* 148754 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52403 /* 148758 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52404 /* 148762 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52405 /* 148765 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52406 /* 148769 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52407 /* 148773 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52408 /* 148777 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52409 /* 148779 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52410 /* 148786 */ // (fadd:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1) => (VADDPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52411 /* 148786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
52412 /* 148789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52413 /* 148791 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52414 /* 148793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52415 /* 148797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52416 /* 148802 */ GIR_RootConstrainSelectedInstOperands,
52417 /* 148803 */ // GIR_Coverage, 23610,
52418 /* 148803 */ GIR_EraseRootFromParent_Done,
52419 /* 148804 */ // Label 4099: @148804
52420 /* 148804 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4100*/ GIMT_Encode4(148865), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24520 //
52421 /* 148811 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52422 /* 148815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52423 /* 148819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52424 /* 148823 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52425 /* 148826 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52426 /* 148830 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52427 /* 148834 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52428 /* 148838 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52429 /* 148840 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52430 /* 148847 */ // (fadd:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1) => (VADDPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52431 /* 148847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
52432 /* 148850 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52433 /* 148852 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52434 /* 148854 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52435 /* 148858 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52436 /* 148863 */ GIR_RootConstrainSelectedInstOperands,
52437 /* 148864 */ // GIR_Coverage, 24520,
52438 /* 148864 */ GIR_EraseRootFromParent_Done,
52439 /* 148865 */ // Label 4100: @148865
52440 /* 148865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4101*/ GIMT_Encode4(148926), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2118 //
52441 /* 148872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52442 /* 148876 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52443 /* 148880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52444 /* 148884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52445 /* 148888 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52446 /* 148891 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52447 /* 148895 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52448 /* 148899 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52449 /* 148901 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52450 /* 148908 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52451 /* 148908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
52452 /* 148911 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52453 /* 148913 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52454 /* 148915 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52455 /* 148919 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52456 /* 148924 */ GIR_RootConstrainSelectedInstOperands,
52457 /* 148925 */ // GIR_Coverage, 2118,
52458 /* 148925 */ GIR_EraseRootFromParent_Done,
52459 /* 148926 */ // Label 4101: @148926
52460 /* 148926 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4102*/ GIMT_Encode4(148987), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6286 //
52461 /* 148933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52462 /* 148937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52463 /* 148941 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52464 /* 148945 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52465 /* 148949 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52466 /* 148952 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52467 /* 148956 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52468 /* 148960 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52469 /* 148962 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52470 /* 148969 */ // (fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52471 /* 148969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
52472 /* 148972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52473 /* 148974 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52474 /* 148976 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52475 /* 148980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52476 /* 148985 */ GIR_RootConstrainSelectedInstOperands,
52477 /* 148986 */ // GIR_Coverage, 6286,
52478 /* 148986 */ GIR_EraseRootFromParent_Done,
52479 /* 148987 */ // Label 4102: @148987
52480 /* 148987 */ GIM_Try, /*On fail goto*//*Label 4103*/ GIMT_Encode4(149041),
52481 /* 148992 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52482 /* 148996 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52483 /* 149000 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52484 /* 149004 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4104*/ GIMT_Encode4(149022), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2116 //
52485 /* 149011 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
52486 /* 149011 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSrr),
52487 /* 149016 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52488 /* 149020 */ GIR_RootConstrainSelectedInstOperands,
52489 /* 149021 */ // GIR_Coverage, 2116,
52490 /* 149021 */ GIR_Done,
52491 /* 149022 */ // Label 4104: @149022
52492 /* 149022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4105*/ GIMT_Encode4(149040), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2132 //
52493 /* 149029 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (ADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
52494 /* 149029 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPSrr),
52495 /* 149034 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52496 /* 149038 */ GIR_RootConstrainSelectedInstOperands,
52497 /* 149039 */ // GIR_Coverage, 2132,
52498 /* 149039 */ GIR_Done,
52499 /* 149040 */ // Label 4105: @149040
52500 /* 149040 */ GIM_Reject,
52501 /* 149041 */ // Label 4103: @149041
52502 /* 149041 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4106*/ GIMT_Encode4(149071), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6282 //
52503 /* 149048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52504 /* 149052 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52505 /* 149056 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52506 /* 149060 */ // (fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VADDPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
52507 /* 149060 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rr),
52508 /* 149065 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52509 /* 149069 */ GIR_RootConstrainSelectedInstOperands,
52510 /* 149070 */ // GIR_Coverage, 6282,
52511 /* 149070 */ GIR_Done,
52512 /* 149071 */ // Label 4106: @149071
52513 /* 149071 */ GIM_Reject,
52514 /* 149072 */ // Label 4098: @149072
52515 /* 149072 */ GIM_Reject,
52516 /* 149073 */ // Label 3998: @149073
52517 /* 149073 */ GIM_Try, /*On fail goto*//*Label 4107*/ GIMT_Encode4(149389),
52518 /* 149078 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
52519 /* 149081 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
52520 /* 149084 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4108*/ GIMT_Encode4(149145), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23614 //
52521 /* 149091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52522 /* 149095 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52523 /* 149099 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52524 /* 149103 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52525 /* 149106 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52526 /* 149110 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52527 /* 149114 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52528 /* 149118 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52529 /* 149120 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52530 /* 149127 */ // (fadd:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1) => (VADDPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52531 /* 149127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
52532 /* 149130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52533 /* 149132 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52534 /* 149134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52535 /* 149138 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52536 /* 149143 */ GIR_RootConstrainSelectedInstOperands,
52537 /* 149144 */ // GIR_Coverage, 23614,
52538 /* 149144 */ GIR_EraseRootFromParent_Done,
52539 /* 149145 */ // Label 4108: @149145
52540 /* 149145 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4109*/ GIMT_Encode4(149206), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24528 //
52541 /* 149152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52542 /* 149156 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52543 /* 149160 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52544 /* 149164 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52545 /* 149167 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52546 /* 149171 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52547 /* 149175 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52548 /* 149179 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52549 /* 149181 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52550 /* 149188 */ // (fadd:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1) => (VADDPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52551 /* 149188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
52552 /* 149191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52553 /* 149193 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52554 /* 149195 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52555 /* 149199 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52556 /* 149204 */ GIR_RootConstrainSelectedInstOperands,
52557 /* 149205 */ // GIR_Coverage, 24528,
52558 /* 149205 */ GIR_EraseRootFromParent_Done,
52559 /* 149206 */ // Label 4109: @149206
52560 /* 149206 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4110*/ GIMT_Encode4(149267), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2126 //
52561 /* 149213 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52562 /* 149217 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52563 /* 149221 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52564 /* 149225 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52565 /* 149229 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52566 /* 149232 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52567 /* 149236 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52568 /* 149240 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52569 /* 149242 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52570 /* 149249 */ // (fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52571 /* 149249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
52572 /* 149252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52573 /* 149254 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52574 /* 149256 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52575 /* 149260 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52576 /* 149265 */ GIR_RootConstrainSelectedInstOperands,
52577 /* 149266 */ // GIR_Coverage, 2126,
52578 /* 149266 */ GIR_EraseRootFromParent_Done,
52579 /* 149267 */ // Label 4110: @149267
52580 /* 149267 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4111*/ GIMT_Encode4(149328), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6298 //
52581 /* 149274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52582 /* 149278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52583 /* 149282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52584 /* 149286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52585 /* 149290 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52586 /* 149293 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52587 /* 149297 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52588 /* 149301 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52589 /* 149303 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52590 /* 149310 */ // (fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52591 /* 149310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
52592 /* 149313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52593 /* 149315 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52594 /* 149317 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52595 /* 149321 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52596 /* 149326 */ GIR_RootConstrainSelectedInstOperands,
52597 /* 149327 */ // GIR_Coverage, 6298,
52598 /* 149327 */ GIR_EraseRootFromParent_Done,
52599 /* 149328 */ // Label 4111: @149328
52600 /* 149328 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4112*/ GIMT_Encode4(149358), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2124 //
52601 /* 149335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52602 /* 149339 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52603 /* 149343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52604 /* 149347 */ // (fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VADDPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
52605 /* 149347 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSYrr),
52606 /* 149352 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52607 /* 149356 */ GIR_RootConstrainSelectedInstOperands,
52608 /* 149357 */ // GIR_Coverage, 2124,
52609 /* 149357 */ GIR_Done,
52610 /* 149358 */ // Label 4112: @149358
52611 /* 149358 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4113*/ GIMT_Encode4(149388), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6294 //
52612 /* 149365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52613 /* 149369 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52614 /* 149373 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52615 /* 149377 */ // (fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VADDPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
52616 /* 149377 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rr),
52617 /* 149382 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52618 /* 149386 */ GIR_RootConstrainSelectedInstOperands,
52619 /* 149387 */ // GIR_Coverage, 6294,
52620 /* 149387 */ GIR_Done,
52621 /* 149388 */ // Label 4113: @149388
52622 /* 149388 */ GIM_Reject,
52623 /* 149389 */ // Label 4107: @149389
52624 /* 149389 */ GIM_Reject,
52625 /* 149390 */ // Label 3999: @149390
52626 /* 149390 */ GIM_Try, /*On fail goto*//*Label 4114*/ GIMT_Encode4(149548),
52627 /* 149395 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
52628 /* 149398 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
52629 /* 149401 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52630 /* 149405 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4115*/ GIMT_Encode4(149462), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24504 //
52631 /* 149412 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52632 /* 149416 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52633 /* 149420 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52634 /* 149423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52635 /* 149427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52636 /* 149431 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52637 /* 149435 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52638 /* 149437 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52639 /* 149444 */ // (fadd:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1) => (VADDPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52640 /* 149444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
52641 /* 149447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52642 /* 149449 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52643 /* 149451 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52644 /* 149455 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52645 /* 149460 */ GIR_RootConstrainSelectedInstOperands,
52646 /* 149461 */ // GIR_Coverage, 24504,
52647 /* 149461 */ GIR_EraseRootFromParent_Done,
52648 /* 149462 */ // Label 4115: @149462
52649 /* 149462 */ GIM_Try, /*On fail goto*//*Label 4116*/ GIMT_Encode4(149547),
52650 /* 149467 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52651 /* 149471 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4117*/ GIMT_Encode4(149524), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6262 //
52652 /* 149478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52653 /* 149482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52654 /* 149486 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52655 /* 149489 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52656 /* 149493 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52657 /* 149497 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52658 /* 149499 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52659 /* 149506 */ // (fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52660 /* 149506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
52661 /* 149509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52662 /* 149511 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52663 /* 149513 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52664 /* 149517 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52665 /* 149522 */ GIR_RootConstrainSelectedInstOperands,
52666 /* 149523 */ // GIR_Coverage, 6262,
52667 /* 149523 */ GIR_EraseRootFromParent_Done,
52668 /* 149524 */ // Label 4117: @149524
52669 /* 149524 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4118*/ GIMT_Encode4(149546), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6258 //
52670 /* 149531 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52671 /* 149535 */ // (fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VADDPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
52672 /* 149535 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZrr),
52673 /* 149540 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52674 /* 149544 */ GIR_RootConstrainSelectedInstOperands,
52675 /* 149545 */ // GIR_Coverage, 6258,
52676 /* 149545 */ GIR_Done,
52677 /* 149546 */ // Label 4118: @149546
52678 /* 149546 */ GIM_Reject,
52679 /* 149547 */ // Label 4116: @149547
52680 /* 149547 */ GIM_Reject,
52681 /* 149548 */ // Label 4114: @149548
52682 /* 149548 */ GIM_Reject,
52683 /* 149549 */ // Label 4000: @149549
52684 /* 149549 */ GIM_Try, /*On fail goto*//*Label 4119*/ GIMT_Encode4(149889),
52685 /* 149554 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
52686 /* 149557 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
52687 /* 149560 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4120*/ GIMT_Encode4(149621), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23612 //
52688 /* 149567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52689 /* 149571 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52690 /* 149575 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52691 /* 149579 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52692 /* 149582 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52693 /* 149586 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52694 /* 149590 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52695 /* 149594 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52696 /* 149596 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52697 /* 149603 */ // (fadd:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1) => (VADDPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52698 /* 149603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
52699 /* 149606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52700 /* 149608 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52701 /* 149610 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52702 /* 149614 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52703 /* 149619 */ GIR_RootConstrainSelectedInstOperands,
52704 /* 149620 */ // GIR_Coverage, 23612,
52705 /* 149620 */ GIR_EraseRootFromParent_Done,
52706 /* 149621 */ // Label 4120: @149621
52707 /* 149621 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4121*/ GIMT_Encode4(149682), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24536 //
52708 /* 149628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52709 /* 149632 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52710 /* 149636 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52711 /* 149640 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52712 /* 149643 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52713 /* 149647 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52714 /* 149651 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52715 /* 149655 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52716 /* 149657 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52717 /* 149664 */ // (fadd:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1) => (VADDPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52718 /* 149664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
52719 /* 149667 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52720 /* 149669 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52721 /* 149671 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52722 /* 149675 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52723 /* 149680 */ GIR_RootConstrainSelectedInstOperands,
52724 /* 149681 */ // GIR_Coverage, 24536,
52725 /* 149681 */ GIR_EraseRootFromParent_Done,
52726 /* 149682 */ // Label 4121: @149682
52727 /* 149682 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4122*/ GIMT_Encode4(149743), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2122 //
52728 /* 149689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52729 /* 149693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52730 /* 149697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52731 /* 149701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52732 /* 149705 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52733 /* 149708 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52734 /* 149712 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52735 /* 149716 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52736 /* 149718 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52737 /* 149725 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52738 /* 149725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
52739 /* 149728 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52740 /* 149730 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52741 /* 149732 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52742 /* 149736 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52743 /* 149741 */ GIR_RootConstrainSelectedInstOperands,
52744 /* 149742 */ // GIR_Coverage, 2122,
52745 /* 149742 */ GIR_EraseRootFromParent_Done,
52746 /* 149743 */ // Label 4122: @149743
52747 /* 149743 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4123*/ GIMT_Encode4(149804), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6310 //
52748 /* 149750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52749 /* 149754 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52750 /* 149758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52751 /* 149762 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52752 /* 149766 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52753 /* 149769 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52754 /* 149773 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52755 /* 149777 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52756 /* 149779 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52757 /* 149786 */ // (fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52758 /* 149786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
52759 /* 149789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52760 /* 149791 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52761 /* 149793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52762 /* 149797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52763 /* 149802 */ GIR_RootConstrainSelectedInstOperands,
52764 /* 149803 */ // GIR_Coverage, 6310,
52765 /* 149803 */ GIR_EraseRootFromParent_Done,
52766 /* 149804 */ // Label 4123: @149804
52767 /* 149804 */ GIM_Try, /*On fail goto*//*Label 4124*/ GIMT_Encode4(149858),
52768 /* 149809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52769 /* 149813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52770 /* 149817 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52771 /* 149821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4125*/ GIMT_Encode4(149839), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2120 //
52772 /* 149828 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
52773 /* 149828 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDrr),
52774 /* 149833 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52775 /* 149837 */ GIR_RootConstrainSelectedInstOperands,
52776 /* 149838 */ // GIR_Coverage, 2120,
52777 /* 149838 */ GIR_Done,
52778 /* 149839 */ // Label 4125: @149839
52779 /* 149839 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4126*/ GIMT_Encode4(149857), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2136 //
52780 /* 149846 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (ADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
52781 /* 149846 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPDrr),
52782 /* 149851 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52783 /* 149855 */ GIR_RootConstrainSelectedInstOperands,
52784 /* 149856 */ // GIR_Coverage, 2136,
52785 /* 149856 */ GIR_Done,
52786 /* 149857 */ // Label 4126: @149857
52787 /* 149857 */ GIM_Reject,
52788 /* 149858 */ // Label 4124: @149858
52789 /* 149858 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4127*/ GIMT_Encode4(149888), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6306 //
52790 /* 149865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52791 /* 149869 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52792 /* 149873 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52793 /* 149877 */ // (fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VADDPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
52794 /* 149877 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rr),
52795 /* 149882 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52796 /* 149886 */ GIR_RootConstrainSelectedInstOperands,
52797 /* 149887 */ // GIR_Coverage, 6306,
52798 /* 149887 */ GIR_Done,
52799 /* 149888 */ // Label 4127: @149888
52800 /* 149888 */ GIM_Reject,
52801 /* 149889 */ // Label 4119: @149889
52802 /* 149889 */ GIM_Reject,
52803 /* 149890 */ // Label 4001: @149890
52804 /* 149890 */ GIM_Try, /*On fail goto*//*Label 4128*/ GIMT_Encode4(150206),
52805 /* 149895 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
52806 /* 149898 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
52807 /* 149901 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4129*/ GIMT_Encode4(149962), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23616 //
52808 /* 149908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52809 /* 149912 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52810 /* 149916 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52811 /* 149920 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52812 /* 149923 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52813 /* 149927 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52814 /* 149931 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52815 /* 149935 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52816 /* 149937 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52817 /* 149944 */ // (fadd:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1) => (VADDPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52818 /* 149944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
52819 /* 149947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52820 /* 149949 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52821 /* 149951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52822 /* 149955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52823 /* 149960 */ GIR_RootConstrainSelectedInstOperands,
52824 /* 149961 */ // GIR_Coverage, 23616,
52825 /* 149961 */ GIR_EraseRootFromParent_Done,
52826 /* 149962 */ // Label 4129: @149962
52827 /* 149962 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4130*/ GIMT_Encode4(150023), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24544 //
52828 /* 149969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52829 /* 149973 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52830 /* 149977 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52831 /* 149981 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52832 /* 149984 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52833 /* 149988 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52834 /* 149992 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52835 /* 149996 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52836 /* 149998 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52837 /* 150005 */ // (fadd:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1) => (VADDPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52838 /* 150005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
52839 /* 150008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52840 /* 150010 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52841 /* 150012 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52842 /* 150016 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52843 /* 150021 */ GIR_RootConstrainSelectedInstOperands,
52844 /* 150022 */ // GIR_Coverage, 24544,
52845 /* 150022 */ GIR_EraseRootFromParent_Done,
52846 /* 150023 */ // Label 4130: @150023
52847 /* 150023 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4131*/ GIMT_Encode4(150084), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2130 //
52848 /* 150030 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52849 /* 150034 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52850 /* 150038 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52851 /* 150042 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52852 /* 150046 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52853 /* 150049 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52854 /* 150053 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52855 /* 150057 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52856 /* 150059 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52857 /* 150066 */ // (fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52858 /* 150066 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
52859 /* 150069 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52860 /* 150071 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52861 /* 150073 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52862 /* 150077 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52863 /* 150082 */ GIR_RootConstrainSelectedInstOperands,
52864 /* 150083 */ // GIR_Coverage, 2130,
52865 /* 150083 */ GIR_EraseRootFromParent_Done,
52866 /* 150084 */ // Label 4131: @150084
52867 /* 150084 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4132*/ GIMT_Encode4(150145), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6322 //
52868 /* 150091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52869 /* 150095 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52870 /* 150099 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52871 /* 150103 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52872 /* 150107 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52873 /* 150110 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52874 /* 150114 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52875 /* 150118 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52876 /* 150120 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52877 /* 150127 */ // (fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52878 /* 150127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
52879 /* 150130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52880 /* 150132 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52881 /* 150134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52882 /* 150138 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52883 /* 150143 */ GIR_RootConstrainSelectedInstOperands,
52884 /* 150144 */ // GIR_Coverage, 6322,
52885 /* 150144 */ GIR_EraseRootFromParent_Done,
52886 /* 150145 */ // Label 4132: @150145
52887 /* 150145 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4133*/ GIMT_Encode4(150175), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2128 //
52888 /* 150152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52889 /* 150156 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52890 /* 150160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52891 /* 150164 */ // (fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VADDPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
52892 /* 150164 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDYrr),
52893 /* 150169 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52894 /* 150173 */ GIR_RootConstrainSelectedInstOperands,
52895 /* 150174 */ // GIR_Coverage, 2128,
52896 /* 150174 */ GIR_Done,
52897 /* 150175 */ // Label 4133: @150175
52898 /* 150175 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4134*/ GIMT_Encode4(150205), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6318 //
52899 /* 150182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52900 /* 150186 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52901 /* 150190 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52902 /* 150194 */ // (fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VADDPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
52903 /* 150194 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rr),
52904 /* 150199 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52905 /* 150203 */ GIR_RootConstrainSelectedInstOperands,
52906 /* 150204 */ // GIR_Coverage, 6318,
52907 /* 150204 */ GIR_Done,
52908 /* 150205 */ // Label 4134: @150205
52909 /* 150205 */ GIM_Reject,
52910 /* 150206 */ // Label 4128: @150206
52911 /* 150206 */ GIM_Reject,
52912 /* 150207 */ // Label 4002: @150207
52913 /* 150207 */ GIM_Try, /*On fail goto*//*Label 4135*/ GIMT_Encode4(150365),
52914 /* 150212 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
52915 /* 150215 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
52916 /* 150218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52917 /* 150222 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4136*/ GIMT_Encode4(150279), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24512 //
52918 /* 150229 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52919 /* 150233 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52920 /* 150237 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52921 /* 150240 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52922 /* 150244 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52923 /* 150248 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52924 /* 150252 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52925 /* 150254 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52926 /* 150261 */ // (fadd:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1) => (VADDPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52927 /* 150261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
52928 /* 150264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52929 /* 150266 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52930 /* 150268 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52931 /* 150272 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52932 /* 150277 */ GIR_RootConstrainSelectedInstOperands,
52933 /* 150278 */ // GIR_Coverage, 24512,
52934 /* 150278 */ GIR_EraseRootFromParent_Done,
52935 /* 150279 */ // Label 4136: @150279
52936 /* 150279 */ GIM_Try, /*On fail goto*//*Label 4137*/ GIMT_Encode4(150364),
52937 /* 150284 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52938 /* 150288 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4138*/ GIMT_Encode4(150341), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6274 //
52939 /* 150295 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52940 /* 150299 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52941 /* 150303 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52942 /* 150306 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52943 /* 150310 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52944 /* 150314 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52945 /* 150316 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52946 /* 150323 */ // (fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52947 /* 150323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
52948 /* 150326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52949 /* 150328 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52950 /* 150330 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52951 /* 150334 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52952 /* 150339 */ GIR_RootConstrainSelectedInstOperands,
52953 /* 150340 */ // GIR_Coverage, 6274,
52954 /* 150340 */ GIR_EraseRootFromParent_Done,
52955 /* 150341 */ // Label 4138: @150341
52956 /* 150341 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4139*/ GIMT_Encode4(150363), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6270 //
52957 /* 150348 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52958 /* 150352 */ // (fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VADDPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
52959 /* 150352 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZrr),
52960 /* 150357 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52961 /* 150361 */ GIR_RootConstrainSelectedInstOperands,
52962 /* 150362 */ // GIR_Coverage, 6270,
52963 /* 150362 */ GIR_Done,
52964 /* 150363 */ // Label 4139: @150363
52965 /* 150363 */ GIM_Reject,
52966 /* 150364 */ // Label 4137: @150364
52967 /* 150364 */ GIM_Reject,
52968 /* 150365 */ // Label 4135: @150365
52969 /* 150365 */ GIM_Reject,
52970 /* 150366 */ // Label 4003: @150366
52971 /* 150366 */ GIM_Reject,
52972 /* 150367 */ // Label 45: @150367
52973 /* 150367 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4153*/ GIMT_Encode4(154383),
52974 /* 150378 */ /*GILLT_s16*//*Label 4140*/ GIMT_Encode4(150470),
52975 /* 150382 */ /*GILLT_s32*//*Label 4141*/ GIMT_Encode4(150566),
52976 /* 150386 */ /*GILLT_s64*//*Label 4142*/ GIMT_Encode4(151487),
52977 /* 150390 */ /*GILLT_s80*//*Label 4143*/ GIMT_Encode4(152534), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
52978 /* 150434 */ /*GILLT_v8s16*//*Label 4144*/ GIMT_Encode4(153075),
52979 /* 150438 */ /*GILLT_v16s16*//*Label 4145*/ GIMT_Encode4(153171),
52980 /* 150442 */ /*GILLT_v32s16*//*Label 4146*/ GIMT_Encode4(153267),
52981 /* 150446 */ /*GILLT_v4s32*//*Label 4147*/ GIMT_Encode4(153363),
52982 /* 150450 */ /*GILLT_v8s32*//*Label 4148*/ GIMT_Encode4(153582),
52983 /* 150454 */ /*GILLT_v16s32*//*Label 4149*/ GIMT_Encode4(153777),
52984 /* 150458 */ /*GILLT_v2s64*//*Label 4150*/ GIMT_Encode4(153873),
52985 /* 150462 */ /*GILLT_v4s64*//*Label 4151*/ GIMT_Encode4(154092),
52986 /* 150466 */ /*GILLT_v8s64*//*Label 4152*/ GIMT_Encode4(154287),
52987 /* 150470 */ // Label 4140: @150470
52988 /* 150470 */ GIM_Try, /*On fail goto*//*Label 4154*/ GIMT_Encode4(150565),
52989 /* 150475 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
52990 /* 150478 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
52991 /* 150481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52992 /* 150485 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52993 /* 150489 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4155*/ GIMT_Encode4(150542), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6070 //
52994 /* 150496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52995 /* 150500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52996 /* 150504 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52997 /* 150507 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52998 /* 150511 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52999 /* 150515 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53000 /* 150517 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53001 /* 150524 */ // (fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53002 /* 150524 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrm),
53003 /* 150527 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53004 /* 150529 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53005 /* 150531 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53006 /* 150535 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53007 /* 150540 */ GIR_RootConstrainSelectedInstOperands,
53008 /* 150541 */ // GIR_Coverage, 6070,
53009 /* 150541 */ GIR_EraseRootFromParent_Done,
53010 /* 150542 */ // Label 4155: @150542
53011 /* 150542 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4156*/ GIMT_Encode4(150564), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6068 //
53012 /* 150549 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
53013 /* 150553 */ // (fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VSUBSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
53014 /* 150553 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrr),
53015 /* 150558 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53016 /* 150562 */ GIR_RootConstrainSelectedInstOperands,
53017 /* 150563 */ // GIR_Coverage, 6068,
53018 /* 150563 */ GIR_Done,
53019 /* 150564 */ // Label 4156: @150564
53020 /* 150564 */ GIM_Reject,
53021 /* 150565 */ // Label 4154: @150565
53022 /* 150565 */ GIM_Reject,
53023 /* 150566 */ // Label 4141: @150566
53024 /* 150566 */ GIM_Try, /*On fail goto*//*Label 4157*/ GIMT_Encode4(151486),
53025 /* 150571 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
53026 /* 150574 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
53027 /* 150577 */ GIM_Try, /*On fail goto*//*Label 4158*/ GIMT_Encode4(150737),
53028 /* 150582 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53029 /* 150586 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53030 /* 150590 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4159*/ GIMT_Encode4(150663), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22673 //
53031 /* 150597 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53032 /* 150601 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53033 /* 150605 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
53034 /* 150609 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53035 /* 150613 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53036 /* 150617 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53037 /* 150620 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53038 /* 150624 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53039 /* 150631 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53040 /* 150635 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53041 /* 150637 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53042 /* 150644 */ // (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)
53043 /* 150644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
53044 /* 150647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53045 /* 150649 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53046 /* 150651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53047 /* 150655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53048 /* 150661 */ GIR_RootConstrainSelectedInstOperands,
53049 /* 150662 */ // GIR_Coverage, 22673,
53050 /* 150662 */ GIR_EraseRootFromParent_Done,
53051 /* 150663 */ // Label 4159: @150663
53052 /* 150663 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4160*/ GIMT_Encode4(150736), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22674 //
53053 /* 150670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53054 /* 150674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53055 /* 150678 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
53056 /* 150682 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53057 /* 150686 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53058 /* 150690 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53059 /* 150693 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53060 /* 150697 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53061 /* 150704 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53062 /* 150708 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53063 /* 150710 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53064 /* 150717 */ // (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)
53065 /* 150717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
53066 /* 150720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53067 /* 150722 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53068 /* 150724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53069 /* 150728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53070 /* 150734 */ GIR_RootConstrainSelectedInstOperands,
53071 /* 150735 */ // GIR_Coverage, 22674,
53072 /* 150735 */ GIR_EraseRootFromParent_Done,
53073 /* 150736 */ // Label 4160: @150736
53074 /* 150736 */ GIM_Reject,
53075 /* 150737 */ // Label 4158: @150737
53076 /* 150737 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4161*/ GIMT_Encode4(150818), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22675 //
53077 /* 150744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53078 /* 150748 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53079 /* 150752 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53080 /* 150756 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53081 /* 150760 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
53082 /* 150764 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53083 /* 150768 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53084 /* 150772 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53085 /* 150775 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53086 /* 150779 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53087 /* 150786 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53088 /* 150790 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53089 /* 150792 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53090 /* 150799 */ // (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)
53091 /* 150799 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
53092 /* 150802 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53093 /* 150804 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53094 /* 150806 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53095 /* 150810 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53096 /* 150816 */ GIR_RootConstrainSelectedInstOperands,
53097 /* 150817 */ // GIR_Coverage, 22675,
53098 /* 150817 */ GIR_EraseRootFromParent_Done,
53099 /* 150818 */ // Label 4161: @150818
53100 /* 150818 */ GIM_Try, /*On fail goto*//*Label 4162*/ GIMT_Encode4(151184),
53101 /* 150823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53102 /* 150827 */ GIM_Try, /*On fail goto*//*Label 4163*/ GIMT_Encode4(151005),
53103 /* 150832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53104 /* 150836 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4164*/ GIMT_Encode4(150892), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 941 //
53105 /* 150843 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53106 /* 150847 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53107 /* 150851 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53108 /* 150858 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53109 /* 150862 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53110 /* 150864 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53111 /* 150871 */ // (fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53112 /* 150871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m32),
53113 /* 150874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53114 /* 150876 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53115 /* 150878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53116 /* 150882 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53117 /* 150885 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53118 /* 150890 */ GIR_RootConstrainSelectedInstOperands,
53119 /* 150891 */ // GIR_Coverage, 941,
53120 /* 150891 */ GIR_EraseRootFromParent_Done,
53121 /* 150892 */ // Label 4164: @150892
53122 /* 150892 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4165*/ GIMT_Encode4(150948), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 943 //
53123 /* 150899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53124 /* 150903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53125 /* 150907 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53126 /* 150914 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53127 /* 150918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53128 /* 150920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53129 /* 150927 */ // (fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53130 /* 150927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m32),
53131 /* 150930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53132 /* 150932 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53133 /* 150934 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53134 /* 150938 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53135 /* 150941 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53136 /* 150946 */ GIR_RootConstrainSelectedInstOperands,
53137 /* 150947 */ // GIR_Coverage, 943,
53138 /* 150947 */ GIR_EraseRootFromParent_Done,
53139 /* 150948 */ // Label 4165: @150948
53140 /* 150948 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4166*/ GIMT_Encode4(151004), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 931 //
53141 /* 150955 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53142 /* 150959 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53143 /* 150963 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53144 /* 150966 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53145 /* 150970 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53146 /* 150974 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53147 /* 150976 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53148 /* 150983 */ // (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)
53149 /* 150983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp32m),
53150 /* 150986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53151 /* 150988 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53152 /* 150990 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53153 /* 150994 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53154 /* 150997 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53155 /* 151002 */ GIR_RootConstrainSelectedInstOperands,
53156 /* 151003 */ // GIR_Coverage, 931,
53157 /* 151003 */ GIR_EraseRootFromParent_Done,
53158 /* 151004 */ // Label 4166: @151004
53159 /* 151004 */ GIM_Reject,
53160 /* 151005 */ // Label 4163: @151005
53161 /* 151005 */ GIM_Try, /*On fail goto*//*Label 4167*/ GIMT_Encode4(151183),
53162 /* 151010 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53163 /* 151014 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4168*/ GIMT_Encode4(151070), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 919 //
53164 /* 151021 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53165 /* 151025 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53166 /* 151029 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53167 /* 151036 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53168 /* 151040 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53169 /* 151042 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53170 /* 151049 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53171 /* 151049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m32),
53172 /* 151052 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53173 /* 151054 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53174 /* 151056 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53175 /* 151060 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53176 /* 151063 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53177 /* 151068 */ GIR_RootConstrainSelectedInstOperands,
53178 /* 151069 */ // GIR_Coverage, 919,
53179 /* 151069 */ GIR_EraseRootFromParent_Done,
53180 /* 151070 */ // Label 4168: @151070
53181 /* 151070 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4169*/ GIMT_Encode4(151126), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 921 //
53182 /* 151077 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53183 /* 151081 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53184 /* 151085 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53185 /* 151092 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53186 /* 151096 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53187 /* 151098 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53188 /* 151105 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53189 /* 151105 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m32),
53190 /* 151108 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53191 /* 151110 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53192 /* 151112 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53193 /* 151116 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53194 /* 151119 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53195 /* 151124 */ GIR_RootConstrainSelectedInstOperands,
53196 /* 151125 */ // GIR_Coverage, 921,
53197 /* 151125 */ GIR_EraseRootFromParent_Done,
53198 /* 151126 */ // Label 4169: @151126
53199 /* 151126 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4170*/ GIMT_Encode4(151182), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 909 //
53200 /* 151133 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53201 /* 151137 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53202 /* 151141 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53203 /* 151144 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53204 /* 151148 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53205 /* 151152 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53206 /* 151154 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53207 /* 151161 */ // (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)
53208 /* 151161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32m),
53209 /* 151164 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53210 /* 151166 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53211 /* 151168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53212 /* 151172 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53213 /* 151175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53214 /* 151180 */ GIR_RootConstrainSelectedInstOperands,
53215 /* 151181 */ // GIR_Coverage, 909,
53216 /* 151181 */ GIR_EraseRootFromParent_Done,
53217 /* 151182 */ // Label 4170: @151182
53218 /* 151182 */ GIM_Reject,
53219 /* 151183 */ // Label 4167: @151183
53220 /* 151183 */ GIM_Reject,
53221 /* 151184 */ // Label 4162: @151184
53222 /* 151184 */ GIM_Try, /*On fail goto*//*Label 4171*/ GIMT_Encode4(151304),
53223 /* 151189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53224 /* 151193 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53225 /* 151197 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4172*/ GIMT_Encode4(151250), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2222 //
53226 /* 151204 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53227 /* 151208 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53228 /* 151212 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53229 /* 151215 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53230 /* 151219 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53231 /* 151223 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53232 /* 151225 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53233 /* 151232 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53234 /* 151232 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
53235 /* 151235 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53236 /* 151237 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53237 /* 151239 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53238 /* 151243 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53239 /* 151248 */ GIR_RootConstrainSelectedInstOperands,
53240 /* 151249 */ // GIR_Coverage, 2222,
53241 /* 151249 */ GIR_EraseRootFromParent_Done,
53242 /* 151250 */ // Label 4172: @151250
53243 /* 151250 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4173*/ GIMT_Encode4(151303), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2230 //
53244 /* 151257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53245 /* 151261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53246 /* 151265 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53247 /* 151268 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53248 /* 151272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53249 /* 151276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53250 /* 151278 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53251 /* 151285 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUBSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53252 /* 151285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
53253 /* 151288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53254 /* 151290 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53255 /* 151292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53256 /* 151296 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53257 /* 151301 */ GIR_RootConstrainSelectedInstOperands,
53258 /* 151302 */ // GIR_Coverage, 2230,
53259 /* 151302 */ GIR_EraseRootFromParent_Done,
53260 /* 151303 */ // Label 4173: @151303
53261 /* 151303 */ GIM_Reject,
53262 /* 151304 */ // Label 4171: @151304
53263 /* 151304 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4174*/ GIMT_Encode4(151365), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6032 //
53264 /* 151311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53265 /* 151315 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53266 /* 151319 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53267 /* 151323 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53268 /* 151327 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53269 /* 151330 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53270 /* 151334 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53271 /* 151338 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53272 /* 151340 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53273 /* 151347 */ // (fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53274 /* 151347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
53275 /* 151350 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53276 /* 151352 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53277 /* 151354 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53278 /* 151358 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53279 /* 151363 */ GIR_RootConstrainSelectedInstOperands,
53280 /* 151364 */ // GIR_Coverage, 6032,
53281 /* 151364 */ GIR_EraseRootFromParent_Done,
53282 /* 151365 */ // Label 4174: @151365
53283 /* 151365 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4175*/ GIMT_Encode4(151401), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 869 //
53284 /* 151372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53285 /* 151376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53286 /* 151380 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53287 /* 151384 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (SUB_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
53288 /* 151384 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32),
53289 /* 151389 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
53290 /* 151395 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
53291 /* 151399 */ GIR_RootConstrainSelectedInstOperands,
53292 /* 151400 */ // GIR_Coverage, 869,
53293 /* 151400 */ GIR_Done,
53294 /* 151401 */ // Label 4175: @151401
53295 /* 151401 */ GIM_Try, /*On fail goto*//*Label 4176*/ GIMT_Encode4(151455),
53296 /* 151406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53297 /* 151410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53298 /* 151414 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53299 /* 151418 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4177*/ GIMT_Encode4(151436), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2220 //
53300 /* 151425 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VSUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
53301 /* 151425 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSrr),
53302 /* 151430 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53303 /* 151434 */ GIR_RootConstrainSelectedInstOperands,
53304 /* 151435 */ // GIR_Coverage, 2220,
53305 /* 151435 */ GIR_Done,
53306 /* 151436 */ // Label 4177: @151436
53307 /* 151436 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4178*/ GIMT_Encode4(151454), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2228 //
53308 /* 151443 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (SUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
53309 /* 151443 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSSrr),
53310 /* 151448 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53311 /* 151452 */ GIR_RootConstrainSelectedInstOperands,
53312 /* 151453 */ // GIR_Coverage, 2228,
53313 /* 151453 */ GIR_Done,
53314 /* 151454 */ // Label 4178: @151454
53315 /* 151454 */ GIM_Reject,
53316 /* 151455 */ // Label 4176: @151455
53317 /* 151455 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4179*/ GIMT_Encode4(151485), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6030 //
53318 /* 151462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53319 /* 151466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53320 /* 151470 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53321 /* 151474 */ // (fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VSUBSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
53322 /* 151474 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrr),
53323 /* 151479 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53324 /* 151483 */ GIR_RootConstrainSelectedInstOperands,
53325 /* 151484 */ // GIR_Coverage, 6030,
53326 /* 151484 */ GIR_Done,
53327 /* 151485 */ // Label 4179: @151485
53328 /* 151485 */ GIM_Reject,
53329 /* 151486 */ // Label 4157: @151486
53330 /* 151486 */ GIM_Reject,
53331 /* 151487 */ // Label 4142: @151487
53332 /* 151487 */ GIM_Try, /*On fail goto*//*Label 4180*/ GIMT_Encode4(152533),
53333 /* 151492 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
53334 /* 151495 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
53335 /* 151498 */ GIM_Try, /*On fail goto*//*Label 4181*/ GIMT_Encode4(151658),
53336 /* 151503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53337 /* 151507 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53338 /* 151511 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4182*/ GIMT_Encode4(151584), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22676 //
53339 /* 151518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53340 /* 151522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53341 /* 151526 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
53342 /* 151530 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53343 /* 151534 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53344 /* 151538 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53345 /* 151541 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53346 /* 151545 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53347 /* 151552 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53348 /* 151556 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53349 /* 151558 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53350 /* 151565 */ // (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)
53351 /* 151565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
53352 /* 151568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53353 /* 151570 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53354 /* 151572 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53355 /* 151576 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53356 /* 151582 */ GIR_RootConstrainSelectedInstOperands,
53357 /* 151583 */ // GIR_Coverage, 22676,
53358 /* 151583 */ GIR_EraseRootFromParent_Done,
53359 /* 151584 */ // Label 4182: @151584
53360 /* 151584 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4183*/ GIMT_Encode4(151657), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22677 //
53361 /* 151591 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53362 /* 151595 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53363 /* 151599 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
53364 /* 151603 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53365 /* 151607 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53366 /* 151611 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53367 /* 151614 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53368 /* 151618 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53369 /* 151625 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53370 /* 151629 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53371 /* 151631 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53372 /* 151638 */ // (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)
53373 /* 151638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
53374 /* 151641 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53375 /* 151643 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53376 /* 151645 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53377 /* 151649 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53378 /* 151655 */ GIR_RootConstrainSelectedInstOperands,
53379 /* 151656 */ // GIR_Coverage, 22677,
53380 /* 151656 */ GIR_EraseRootFromParent_Done,
53381 /* 151657 */ // Label 4183: @151657
53382 /* 151657 */ GIM_Reject,
53383 /* 151658 */ // Label 4181: @151658
53384 /* 151658 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4184*/ GIMT_Encode4(151739), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22678 //
53385 /* 151665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53386 /* 151669 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53387 /* 151673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53388 /* 151677 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53389 /* 151681 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
53390 /* 151685 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53391 /* 151689 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53392 /* 151693 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53393 /* 151696 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53394 /* 151700 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53395 /* 151707 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53396 /* 151711 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53397 /* 151713 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53398 /* 151720 */ // (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)
53399 /* 151720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
53400 /* 151723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53401 /* 151725 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53402 /* 151727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53403 /* 151731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53404 /* 151737 */ GIR_RootConstrainSelectedInstOperands,
53405 /* 151738 */ // GIR_Coverage, 22678,
53406 /* 151738 */ GIR_EraseRootFromParent_Done,
53407 /* 151739 */ // Label 4184: @151739
53408 /* 151739 */ GIM_Try, /*On fail goto*//*Label 4185*/ GIMT_Encode4(152231),
53409 /* 151744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53410 /* 151748 */ GIM_Try, /*On fail goto*//*Label 4186*/ GIMT_Encode4(151989),
53411 /* 151753 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53412 /* 151757 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4187*/ GIMT_Encode4(151813), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 945 //
53413 /* 151764 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53414 /* 151768 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53415 /* 151772 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53416 /* 151779 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53417 /* 151783 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53418 /* 151785 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53419 /* 151792 */ // (fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53420 /* 151792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m64),
53421 /* 151795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53422 /* 151797 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53423 /* 151799 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53424 /* 151803 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53425 /* 151806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53426 /* 151811 */ GIR_RootConstrainSelectedInstOperands,
53427 /* 151812 */ // GIR_Coverage, 945,
53428 /* 151812 */ GIR_EraseRootFromParent_Done,
53429 /* 151813 */ // Label 4187: @151813
53430 /* 151813 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4188*/ GIMT_Encode4(151869), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 947 //
53431 /* 151820 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53432 /* 151824 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53433 /* 151828 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53434 /* 151835 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53435 /* 151839 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53436 /* 151841 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53437 /* 151848 */ // (fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53438 /* 151848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m64),
53439 /* 151851 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53440 /* 151853 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53441 /* 151855 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53442 /* 151859 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53443 /* 151862 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53444 /* 151867 */ GIR_RootConstrainSelectedInstOperands,
53445 /* 151868 */ // GIR_Coverage, 947,
53446 /* 151868 */ GIR_EraseRootFromParent_Done,
53447 /* 151869 */ // Label 4188: @151869
53448 /* 151869 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4189*/ GIMT_Encode4(151932), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 935 //
53449 /* 151876 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53450 /* 151880 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
53451 /* 151884 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53452 /* 151887 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53453 /* 151891 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53454 /* 151898 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53455 /* 151902 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53456 /* 151904 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53457 /* 151911 */ // (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)
53458 /* 151911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m32),
53459 /* 151914 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53460 /* 151916 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53461 /* 151918 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53462 /* 151922 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53463 /* 151925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53464 /* 151930 */ GIR_RootConstrainSelectedInstOperands,
53465 /* 151931 */ // GIR_Coverage, 935,
53466 /* 151931 */ GIR_EraseRootFromParent_Done,
53467 /* 151932 */ // Label 4189: @151932
53468 /* 151932 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4190*/ GIMT_Encode4(151988), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 933 //
53469 /* 151939 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53470 /* 151943 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53471 /* 151947 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53472 /* 151950 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53473 /* 151954 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53474 /* 151958 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53475 /* 151960 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53476 /* 151967 */ // (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)
53477 /* 151967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m),
53478 /* 151970 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53479 /* 151972 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53480 /* 151974 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53481 /* 151978 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53482 /* 151981 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53483 /* 151986 */ GIR_RootConstrainSelectedInstOperands,
53484 /* 151987 */ // GIR_Coverage, 933,
53485 /* 151987 */ GIR_EraseRootFromParent_Done,
53486 /* 151988 */ // Label 4190: @151988
53487 /* 151988 */ GIM_Reject,
53488 /* 151989 */ // Label 4186: @151989
53489 /* 151989 */ GIM_Try, /*On fail goto*//*Label 4191*/ GIMT_Encode4(152230),
53490 /* 151994 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53491 /* 151998 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4192*/ GIMT_Encode4(152054), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 923 //
53492 /* 152005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53493 /* 152009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53494 /* 152013 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53495 /* 152020 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53496 /* 152024 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53497 /* 152026 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53498 /* 152033 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53499 /* 152033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m64),
53500 /* 152036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53501 /* 152038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53502 /* 152040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53503 /* 152044 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53504 /* 152047 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53505 /* 152052 */ GIR_RootConstrainSelectedInstOperands,
53506 /* 152053 */ // GIR_Coverage, 923,
53507 /* 152053 */ GIR_EraseRootFromParent_Done,
53508 /* 152054 */ // Label 4192: @152054
53509 /* 152054 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4193*/ GIMT_Encode4(152110), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 925 //
53510 /* 152061 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53511 /* 152065 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53512 /* 152069 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53513 /* 152076 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53514 /* 152080 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53515 /* 152082 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53516 /* 152089 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53517 /* 152089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m64),
53518 /* 152092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53519 /* 152094 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53520 /* 152096 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53521 /* 152100 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53522 /* 152103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53523 /* 152108 */ GIR_RootConstrainSelectedInstOperands,
53524 /* 152109 */ // GIR_Coverage, 925,
53525 /* 152109 */ GIR_EraseRootFromParent_Done,
53526 /* 152110 */ // Label 4193: @152110
53527 /* 152110 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4194*/ GIMT_Encode4(152173), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 913 //
53528 /* 152117 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53529 /* 152121 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
53530 /* 152125 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53531 /* 152128 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53532 /* 152132 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53533 /* 152139 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53534 /* 152143 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53535 /* 152145 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53536 /* 152152 */ // (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)
53537 /* 152152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m32),
53538 /* 152155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53539 /* 152157 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53540 /* 152159 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53541 /* 152163 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53542 /* 152166 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53543 /* 152171 */ GIR_RootConstrainSelectedInstOperands,
53544 /* 152172 */ // GIR_Coverage, 913,
53545 /* 152172 */ GIR_EraseRootFromParent_Done,
53546 /* 152173 */ // Label 4194: @152173
53547 /* 152173 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4195*/ GIMT_Encode4(152229), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 911 //
53548 /* 152180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53549 /* 152184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53550 /* 152188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53551 /* 152191 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53552 /* 152195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53553 /* 152199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53554 /* 152201 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53555 /* 152208 */ // (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)
53556 /* 152208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m),
53557 /* 152211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53558 /* 152213 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53559 /* 152215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53560 /* 152219 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53561 /* 152222 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53562 /* 152227 */ GIR_RootConstrainSelectedInstOperands,
53563 /* 152228 */ // GIR_Coverage, 911,
53564 /* 152228 */ GIR_EraseRootFromParent_Done,
53565 /* 152229 */ // Label 4195: @152229
53566 /* 152229 */ GIM_Reject,
53567 /* 152230 */ // Label 4191: @152230
53568 /* 152230 */ GIM_Reject,
53569 /* 152231 */ // Label 4185: @152231
53570 /* 152231 */ GIM_Try, /*On fail goto*//*Label 4196*/ GIMT_Encode4(152351),
53571 /* 152236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53572 /* 152240 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53573 /* 152244 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4197*/ GIMT_Encode4(152297), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2226 //
53574 /* 152251 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53575 /* 152255 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53576 /* 152259 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53577 /* 152262 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53578 /* 152266 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53579 /* 152270 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53580 /* 152272 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53581 /* 152279 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53582 /* 152279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
53583 /* 152282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53584 /* 152284 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53585 /* 152286 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53586 /* 152290 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53587 /* 152295 */ GIR_RootConstrainSelectedInstOperands,
53588 /* 152296 */ // GIR_Coverage, 2226,
53589 /* 152296 */ GIR_EraseRootFromParent_Done,
53590 /* 152297 */ // Label 4197: @152297
53591 /* 152297 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4198*/ GIMT_Encode4(152350), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2234 //
53592 /* 152304 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53593 /* 152308 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53594 /* 152312 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53595 /* 152315 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53596 /* 152319 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53597 /* 152323 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53598 /* 152325 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53599 /* 152332 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUBSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53600 /* 152332 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
53601 /* 152335 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53602 /* 152337 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53603 /* 152339 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53604 /* 152343 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53605 /* 152348 */ GIR_RootConstrainSelectedInstOperands,
53606 /* 152349 */ // GIR_Coverage, 2234,
53607 /* 152349 */ GIR_EraseRootFromParent_Done,
53608 /* 152350 */ // Label 4198: @152350
53609 /* 152350 */ GIM_Reject,
53610 /* 152351 */ // Label 4196: @152351
53611 /* 152351 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4199*/ GIMT_Encode4(152412), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6051 //
53612 /* 152358 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53613 /* 152362 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53614 /* 152366 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53615 /* 152370 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53616 /* 152374 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53617 /* 152377 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53618 /* 152381 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53619 /* 152385 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53620 /* 152387 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53621 /* 152394 */ // (fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53622 /* 152394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
53623 /* 152397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53624 /* 152399 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53625 /* 152401 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53626 /* 152405 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53627 /* 152410 */ GIR_RootConstrainSelectedInstOperands,
53628 /* 152411 */ // GIR_Coverage, 6051,
53629 /* 152411 */ GIR_EraseRootFromParent_Done,
53630 /* 152412 */ // Label 4199: @152412
53631 /* 152412 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4200*/ GIMT_Encode4(152448), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 871 //
53632 /* 152419 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53633 /* 152423 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53634 /* 152427 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53635 /* 152431 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (SUB_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
53636 /* 152431 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64),
53637 /* 152436 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
53638 /* 152442 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
53639 /* 152446 */ GIR_RootConstrainSelectedInstOperands,
53640 /* 152447 */ // GIR_Coverage, 871,
53641 /* 152447 */ GIR_Done,
53642 /* 152448 */ // Label 4200: @152448
53643 /* 152448 */ GIM_Try, /*On fail goto*//*Label 4201*/ GIMT_Encode4(152502),
53644 /* 152453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53645 /* 152457 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53646 /* 152461 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53647 /* 152465 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4202*/ GIMT_Encode4(152483), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2224 //
53648 /* 152472 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VSUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
53649 /* 152472 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDrr),
53650 /* 152477 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53651 /* 152481 */ GIR_RootConstrainSelectedInstOperands,
53652 /* 152482 */ // GIR_Coverage, 2224,
53653 /* 152482 */ GIR_Done,
53654 /* 152483 */ // Label 4202: @152483
53655 /* 152483 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4203*/ GIMT_Encode4(152501), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2232 //
53656 /* 152490 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (SUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
53657 /* 152490 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSDrr),
53658 /* 152495 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53659 /* 152499 */ GIR_RootConstrainSelectedInstOperands,
53660 /* 152500 */ // GIR_Coverage, 2232,
53661 /* 152500 */ GIR_Done,
53662 /* 152501 */ // Label 4203: @152501
53663 /* 152501 */ GIM_Reject,
53664 /* 152502 */ // Label 4201: @152502
53665 /* 152502 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4204*/ GIMT_Encode4(152532), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6049 //
53666 /* 152509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53667 /* 152513 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53668 /* 152517 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53669 /* 152521 */ // (fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VSUBSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
53670 /* 152521 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrr),
53671 /* 152526 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53672 /* 152530 */ GIR_RootConstrainSelectedInstOperands,
53673 /* 152531 */ // GIR_Coverage, 6049,
53674 /* 152531 */ GIR_Done,
53675 /* 152532 */ // Label 4204: @152532
53676 /* 152532 */ GIM_Reject,
53677 /* 152533 */ // Label 4180: @152533
53678 /* 152533 */ GIM_Reject,
53679 /* 152534 */ // Label 4143: @152534
53680 /* 152534 */ GIM_Try, /*On fail goto*//*Label 4205*/ GIMT_Encode4(153074),
53681 /* 152539 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
53682 /* 152542 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
53683 /* 152545 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53684 /* 152549 */ GIM_Try, /*On fail goto*//*Label 4206*/ GIMT_Encode4(152797),
53685 /* 152554 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53686 /* 152558 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4207*/ GIMT_Encode4(152614), GIMT_Encode2(GIFBS_HasX87), // Rule ID 949 //
53687 /* 152565 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53688 /* 152569 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53689 /* 152573 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53690 /* 152580 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53691 /* 152584 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53692 /* 152586 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53693 /* 152593 */ // (fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53694 /* 152593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m80),
53695 /* 152596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53696 /* 152598 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53697 /* 152600 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53698 /* 152604 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53699 /* 152607 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53700 /* 152612 */ GIR_RootConstrainSelectedInstOperands,
53701 /* 152613 */ // GIR_Coverage, 949,
53702 /* 152613 */ GIR_EraseRootFromParent_Done,
53703 /* 152614 */ // Label 4207: @152614
53704 /* 152614 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4208*/ GIMT_Encode4(152670), GIMT_Encode2(GIFBS_HasX87), // Rule ID 951 //
53705 /* 152621 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53706 /* 152625 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53707 /* 152629 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53708 /* 152636 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53709 /* 152640 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53710 /* 152642 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53711 /* 152649 */ // (fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53712 /* 152649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m80),
53713 /* 152652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53714 /* 152654 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53715 /* 152656 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53716 /* 152660 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53717 /* 152663 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53718 /* 152668 */ GIR_RootConstrainSelectedInstOperands,
53719 /* 152669 */ // GIR_Coverage, 951,
53720 /* 152669 */ GIR_EraseRootFromParent_Done,
53721 /* 152670 */ // Label 4208: @152670
53722 /* 152670 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4209*/ GIMT_Encode4(152733), GIMT_Encode2(GIFBS_HasX87), // Rule ID 937 //
53723 /* 152677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53724 /* 152681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
53725 /* 152685 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53726 /* 152688 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53727 /* 152692 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53728 /* 152699 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53729 /* 152703 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53730 /* 152705 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53731 /* 152712 */ // (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)
53732 /* 152712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m32),
53733 /* 152715 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53734 /* 152717 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53735 /* 152719 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53736 /* 152723 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53737 /* 152726 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53738 /* 152731 */ GIR_RootConstrainSelectedInstOperands,
53739 /* 152732 */ // GIR_Coverage, 937,
53740 /* 152732 */ GIR_EraseRootFromParent_Done,
53741 /* 152733 */ // Label 4209: @152733
53742 /* 152733 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4210*/ GIMT_Encode4(152796), GIMT_Encode2(GIFBS_HasX87), // Rule ID 939 //
53743 /* 152740 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53744 /* 152744 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
53745 /* 152748 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53746 /* 152751 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53747 /* 152755 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53748 /* 152762 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53749 /* 152766 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53750 /* 152768 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53751 /* 152775 */ // (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)
53752 /* 152775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m64),
53753 /* 152778 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53754 /* 152780 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53755 /* 152782 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53756 /* 152786 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53757 /* 152789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53758 /* 152794 */ GIR_RootConstrainSelectedInstOperands,
53759 /* 152795 */ // GIR_Coverage, 939,
53760 /* 152795 */ GIR_EraseRootFromParent_Done,
53761 /* 152796 */ // Label 4210: @152796
53762 /* 152796 */ GIM_Reject,
53763 /* 152797 */ // Label 4206: @152797
53764 /* 152797 */ GIM_Try, /*On fail goto*//*Label 4211*/ GIMT_Encode4(153073),
53765 /* 152802 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53766 /* 152806 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4212*/ GIMT_Encode4(152862), GIMT_Encode2(GIFBS_HasX87), // Rule ID 927 //
53767 /* 152813 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53768 /* 152817 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53769 /* 152821 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53770 /* 152828 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53771 /* 152832 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53772 /* 152834 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53773 /* 152841 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53774 /* 152841 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m80),
53775 /* 152844 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53776 /* 152846 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53777 /* 152848 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53778 /* 152852 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53779 /* 152855 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53780 /* 152860 */ GIR_RootConstrainSelectedInstOperands,
53781 /* 152861 */ // GIR_Coverage, 927,
53782 /* 152861 */ GIR_EraseRootFromParent_Done,
53783 /* 152862 */ // Label 4212: @152862
53784 /* 152862 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4213*/ GIMT_Encode4(152918), GIMT_Encode2(GIFBS_HasX87), // Rule ID 929 //
53785 /* 152869 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53786 /* 152873 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53787 /* 152877 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53788 /* 152884 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53789 /* 152888 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53790 /* 152890 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53791 /* 152897 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53792 /* 152897 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m80),
53793 /* 152900 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53794 /* 152902 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53795 /* 152904 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53796 /* 152908 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53797 /* 152911 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53798 /* 152916 */ GIR_RootConstrainSelectedInstOperands,
53799 /* 152917 */ // GIR_Coverage, 929,
53800 /* 152917 */ GIR_EraseRootFromParent_Done,
53801 /* 152918 */ // Label 4213: @152918
53802 /* 152918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4214*/ GIMT_Encode4(152981), GIMT_Encode2(GIFBS_HasX87), // Rule ID 915 //
53803 /* 152925 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53804 /* 152929 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
53805 /* 152933 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53806 /* 152936 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53807 /* 152940 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53808 /* 152947 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53809 /* 152951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53810 /* 152953 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53811 /* 152960 */ // (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)
53812 /* 152960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m32),
53813 /* 152963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53814 /* 152965 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53815 /* 152967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53816 /* 152971 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53817 /* 152974 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53818 /* 152979 */ GIR_RootConstrainSelectedInstOperands,
53819 /* 152980 */ // GIR_Coverage, 915,
53820 /* 152980 */ GIR_EraseRootFromParent_Done,
53821 /* 152981 */ // Label 4214: @152981
53822 /* 152981 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4215*/ GIMT_Encode4(153044), GIMT_Encode2(GIFBS_HasX87), // Rule ID 917 //
53823 /* 152988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53824 /* 152992 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
53825 /* 152996 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53826 /* 152999 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53827 /* 153003 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53828 /* 153010 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53829 /* 153014 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53830 /* 153016 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53831 /* 153023 */ // (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)
53832 /* 153023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m64),
53833 /* 153026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53834 /* 153028 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53835 /* 153030 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53836 /* 153034 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53837 /* 153037 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53838 /* 153042 */ GIR_RootConstrainSelectedInstOperands,
53839 /* 153043 */ // GIR_Coverage, 917,
53840 /* 153043 */ GIR_EraseRootFromParent_Done,
53841 /* 153044 */ // Label 4215: @153044
53842 /* 153044 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4216*/ GIMT_Encode4(153072), GIMT_Encode2(GIFBS_HasX87), // Rule ID 873 //
53843 /* 153051 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53844 /* 153055 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (SUB_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
53845 /* 153055 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80),
53846 /* 153060 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
53847 /* 153066 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
53848 /* 153070 */ GIR_RootConstrainSelectedInstOperands,
53849 /* 153071 */ // GIR_Coverage, 873,
53850 /* 153071 */ GIR_Done,
53851 /* 153072 */ // Label 4216: @153072
53852 /* 153072 */ GIM_Reject,
53853 /* 153073 */ // Label 4211: @153073
53854 /* 153073 */ GIM_Reject,
53855 /* 153074 */ // Label 4205: @153074
53856 /* 153074 */ GIM_Reject,
53857 /* 153075 */ // Label 4144: @153075
53858 /* 153075 */ GIM_Try, /*On fail goto*//*Label 4217*/ GIMT_Encode4(153170),
53859 /* 153080 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
53860 /* 153083 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
53861 /* 153086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53862 /* 153090 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53863 /* 153094 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4218*/ GIMT_Encode4(153147), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6580 //
53864 /* 153101 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53865 /* 153105 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53866 /* 153109 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53867 /* 153112 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53868 /* 153116 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53869 /* 153120 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53870 /* 153122 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53871 /* 153129 */ // (fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53872 /* 153129 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rm),
53873 /* 153132 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53874 /* 153134 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53875 /* 153136 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53876 /* 153140 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53877 /* 153145 */ GIR_RootConstrainSelectedInstOperands,
53878 /* 153146 */ // GIR_Coverage, 6580,
53879 /* 153146 */ GIR_EraseRootFromParent_Done,
53880 /* 153147 */ // Label 4218: @153147
53881 /* 153147 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4219*/ GIMT_Encode4(153169), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6576 //
53882 /* 153154 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53883 /* 153158 */ // (fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VSUBPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
53884 /* 153158 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rr),
53885 /* 153163 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53886 /* 153167 */ GIR_RootConstrainSelectedInstOperands,
53887 /* 153168 */ // GIR_Coverage, 6576,
53888 /* 153168 */ GIR_Done,
53889 /* 153169 */ // Label 4219: @153169
53890 /* 153169 */ GIM_Reject,
53891 /* 153170 */ // Label 4217: @153170
53892 /* 153170 */ GIM_Reject,
53893 /* 153171 */ // Label 4145: @153171
53894 /* 153171 */ GIM_Try, /*On fail goto*//*Label 4220*/ GIMT_Encode4(153266),
53895 /* 153176 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
53896 /* 153179 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
53897 /* 153182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53898 /* 153186 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53899 /* 153190 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4221*/ GIMT_Encode4(153243), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6592 //
53900 /* 153197 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53901 /* 153201 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53902 /* 153205 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53903 /* 153208 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53904 /* 153212 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53905 /* 153216 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53906 /* 153218 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53907 /* 153225 */ // (fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53908 /* 153225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rm),
53909 /* 153228 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53910 /* 153230 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53911 /* 153232 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53912 /* 153236 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53913 /* 153241 */ GIR_RootConstrainSelectedInstOperands,
53914 /* 153242 */ // GIR_Coverage, 6592,
53915 /* 153242 */ GIR_EraseRootFromParent_Done,
53916 /* 153243 */ // Label 4221: @153243
53917 /* 153243 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4222*/ GIMT_Encode4(153265), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6588 //
53918 /* 153250 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53919 /* 153254 */ // (fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VSUBPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
53920 /* 153254 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rr),
53921 /* 153259 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53922 /* 153263 */ GIR_RootConstrainSelectedInstOperands,
53923 /* 153264 */ // GIR_Coverage, 6588,
53924 /* 153264 */ GIR_Done,
53925 /* 153265 */ // Label 4222: @153265
53926 /* 153265 */ GIM_Reject,
53927 /* 153266 */ // Label 4220: @153266
53928 /* 153266 */ GIM_Reject,
53929 /* 153267 */ // Label 4146: @153267
53930 /* 153267 */ GIM_Try, /*On fail goto*//*Label 4223*/ GIMT_Encode4(153362),
53931 /* 153272 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
53932 /* 153275 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
53933 /* 153278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53934 /* 153282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53935 /* 153286 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4224*/ GIMT_Encode4(153339), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6568 //
53936 /* 153293 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53937 /* 153297 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53938 /* 153301 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53939 /* 153304 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53940 /* 153308 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53941 /* 153312 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53942 /* 153314 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53943 /* 153321 */ // (fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53944 /* 153321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrm),
53945 /* 153324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53946 /* 153326 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53947 /* 153328 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53948 /* 153332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53949 /* 153337 */ GIR_RootConstrainSelectedInstOperands,
53950 /* 153338 */ // GIR_Coverage, 6568,
53951 /* 153338 */ GIR_EraseRootFromParent_Done,
53952 /* 153339 */ // Label 4224: @153339
53953 /* 153339 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4225*/ GIMT_Encode4(153361), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6564 //
53954 /* 153346 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53955 /* 153350 */ // (fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VSUBPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
53956 /* 153350 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrr),
53957 /* 153355 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53958 /* 153359 */ GIR_RootConstrainSelectedInstOperands,
53959 /* 153360 */ // GIR_Coverage, 6564,
53960 /* 153360 */ GIR_Done,
53961 /* 153361 */ // Label 4225: @153361
53962 /* 153361 */ GIM_Reject,
53963 /* 153362 */ // Label 4223: @153362
53964 /* 153362 */ GIM_Reject,
53965 /* 153363 */ // Label 4147: @153363
53966 /* 153363 */ GIM_Try, /*On fail goto*//*Label 4226*/ GIMT_Encode4(153581),
53967 /* 153368 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
53968 /* 153371 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
53969 /* 153374 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4227*/ GIMT_Encode4(153435), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2198 //
53970 /* 153381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53971 /* 153385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53972 /* 153389 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53973 /* 153393 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53974 /* 153397 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53975 /* 153400 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53976 /* 153404 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53977 /* 153408 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53978 /* 153410 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53979 /* 153417 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53980 /* 153417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSrm),
53981 /* 153420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53982 /* 153422 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53983 /* 153424 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53984 /* 153428 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53985 /* 153433 */ GIR_RootConstrainSelectedInstOperands,
53986 /* 153434 */ // GIR_Coverage, 2198,
53987 /* 153434 */ GIR_EraseRootFromParent_Done,
53988 /* 153435 */ // Label 4227: @153435
53989 /* 153435 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4228*/ GIMT_Encode4(153496), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6520 //
53990 /* 153442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53991 /* 153446 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53992 /* 153450 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53993 /* 153454 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53994 /* 153458 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53995 /* 153461 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53996 /* 153465 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53997 /* 153469 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53998 /* 153471 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53999 /* 153478 */ // (fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54000 /* 153478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rm),
54001 /* 153481 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54002 /* 153483 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54003 /* 153485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54004 /* 153489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54005 /* 153494 */ GIR_RootConstrainSelectedInstOperands,
54006 /* 153495 */ // GIR_Coverage, 6520,
54007 /* 153495 */ GIR_EraseRootFromParent_Done,
54008 /* 153496 */ // Label 4228: @153496
54009 /* 153496 */ GIM_Try, /*On fail goto*//*Label 4229*/ GIMT_Encode4(153550),
54010 /* 153501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54011 /* 153505 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54012 /* 153509 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54013 /* 153513 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4230*/ GIMT_Encode4(153531), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2196 //
54014 /* 153520 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VSUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
54015 /* 153520 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSrr),
54016 /* 153525 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54017 /* 153529 */ GIR_RootConstrainSelectedInstOperands,
54018 /* 153530 */ // GIR_Coverage, 2196,
54019 /* 153530 */ GIR_Done,
54020 /* 153531 */ // Label 4230: @153531
54021 /* 153531 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4231*/ GIMT_Encode4(153549), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2212 //
54022 /* 153538 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (SUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
54023 /* 153538 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPSrr),
54024 /* 153543 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54025 /* 153547 */ GIR_RootConstrainSelectedInstOperands,
54026 /* 153548 */ // GIR_Coverage, 2212,
54027 /* 153548 */ GIR_Done,
54028 /* 153549 */ // Label 4231: @153549
54029 /* 153549 */ GIM_Reject,
54030 /* 153550 */ // Label 4229: @153550
54031 /* 153550 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4232*/ GIMT_Encode4(153580), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6516 //
54032 /* 153557 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54033 /* 153561 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54034 /* 153565 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54035 /* 153569 */ // (fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VSUBPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
54036 /* 153569 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rr),
54037 /* 153574 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54038 /* 153578 */ GIR_RootConstrainSelectedInstOperands,
54039 /* 153579 */ // GIR_Coverage, 6516,
54040 /* 153579 */ GIR_Done,
54041 /* 153580 */ // Label 4232: @153580
54042 /* 153580 */ GIM_Reject,
54043 /* 153581 */ // Label 4226: @153581
54044 /* 153581 */ GIM_Reject,
54045 /* 153582 */ // Label 4148: @153582
54046 /* 153582 */ GIM_Try, /*On fail goto*//*Label 4233*/ GIMT_Encode4(153776),
54047 /* 153587 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
54048 /* 153590 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
54049 /* 153593 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4234*/ GIMT_Encode4(153654), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2206 //
54050 /* 153600 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54051 /* 153604 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54052 /* 153608 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54053 /* 153612 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54054 /* 153616 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54055 /* 153619 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54056 /* 153623 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54057 /* 153627 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54058 /* 153629 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54059 /* 153636 */ // (fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54060 /* 153636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrm),
54061 /* 153639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54062 /* 153641 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54063 /* 153643 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54064 /* 153647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54065 /* 153652 */ GIR_RootConstrainSelectedInstOperands,
54066 /* 153653 */ // GIR_Coverage, 2206,
54067 /* 153653 */ GIR_EraseRootFromParent_Done,
54068 /* 153654 */ // Label 4234: @153654
54069 /* 153654 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4235*/ GIMT_Encode4(153715), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6532 //
54070 /* 153661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54071 /* 153665 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54072 /* 153669 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54073 /* 153673 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54074 /* 153677 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54075 /* 153680 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54076 /* 153684 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54077 /* 153688 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54078 /* 153690 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54079 /* 153697 */ // (fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54080 /* 153697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rm),
54081 /* 153700 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54082 /* 153702 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54083 /* 153704 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54084 /* 153708 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54085 /* 153713 */ GIR_RootConstrainSelectedInstOperands,
54086 /* 153714 */ // GIR_Coverage, 6532,
54087 /* 153714 */ GIR_EraseRootFromParent_Done,
54088 /* 153715 */ // Label 4235: @153715
54089 /* 153715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4236*/ GIMT_Encode4(153745), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2204 //
54090 /* 153722 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54091 /* 153726 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54092 /* 153730 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54093 /* 153734 */ // (fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VSUBPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
54094 /* 153734 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrr),
54095 /* 153739 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54096 /* 153743 */ GIR_RootConstrainSelectedInstOperands,
54097 /* 153744 */ // GIR_Coverage, 2204,
54098 /* 153744 */ GIR_Done,
54099 /* 153745 */ // Label 4236: @153745
54100 /* 153745 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4237*/ GIMT_Encode4(153775), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6528 //
54101 /* 153752 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54102 /* 153756 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54103 /* 153760 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54104 /* 153764 */ // (fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VSUBPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
54105 /* 153764 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rr),
54106 /* 153769 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54107 /* 153773 */ GIR_RootConstrainSelectedInstOperands,
54108 /* 153774 */ // GIR_Coverage, 6528,
54109 /* 153774 */ GIR_Done,
54110 /* 153775 */ // Label 4237: @153775
54111 /* 153775 */ GIM_Reject,
54112 /* 153776 */ // Label 4233: @153776
54113 /* 153776 */ GIM_Reject,
54114 /* 153777 */ // Label 4149: @153777
54115 /* 153777 */ GIM_Try, /*On fail goto*//*Label 4238*/ GIMT_Encode4(153872),
54116 /* 153782 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
54117 /* 153785 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
54118 /* 153788 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54119 /* 153792 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54120 /* 153796 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4239*/ GIMT_Encode4(153849), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6496 //
54121 /* 153803 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54122 /* 153807 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54123 /* 153811 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54124 /* 153814 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54125 /* 153818 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54126 /* 153822 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54127 /* 153824 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54128 /* 153831 */ // (fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54129 /* 153831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrm),
54130 /* 153834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54131 /* 153836 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54132 /* 153838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54133 /* 153842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54134 /* 153847 */ GIR_RootConstrainSelectedInstOperands,
54135 /* 153848 */ // GIR_Coverage, 6496,
54136 /* 153848 */ GIR_EraseRootFromParent_Done,
54137 /* 153849 */ // Label 4239: @153849
54138 /* 153849 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4240*/ GIMT_Encode4(153871), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6492 //
54139 /* 153856 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54140 /* 153860 */ // (fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VSUBPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
54141 /* 153860 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrr),
54142 /* 153865 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54143 /* 153869 */ GIR_RootConstrainSelectedInstOperands,
54144 /* 153870 */ // GIR_Coverage, 6492,
54145 /* 153870 */ GIR_Done,
54146 /* 153871 */ // Label 4240: @153871
54147 /* 153871 */ GIM_Reject,
54148 /* 153872 */ // Label 4238: @153872
54149 /* 153872 */ GIM_Reject,
54150 /* 153873 */ // Label 4150: @153873
54151 /* 153873 */ GIM_Try, /*On fail goto*//*Label 4241*/ GIMT_Encode4(154091),
54152 /* 153878 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
54153 /* 153881 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
54154 /* 153884 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4242*/ GIMT_Encode4(153945), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2202 //
54155 /* 153891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54156 /* 153895 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54157 /* 153899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54158 /* 153903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54159 /* 153907 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54160 /* 153910 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54161 /* 153914 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54162 /* 153918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54163 /* 153920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54164 /* 153927 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54165 /* 153927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDrm),
54166 /* 153930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54167 /* 153932 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54168 /* 153934 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54169 /* 153938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54170 /* 153943 */ GIR_RootConstrainSelectedInstOperands,
54171 /* 153944 */ // GIR_Coverage, 2202,
54172 /* 153944 */ GIR_EraseRootFromParent_Done,
54173 /* 153945 */ // Label 4242: @153945
54174 /* 153945 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4243*/ GIMT_Encode4(154006), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6544 //
54175 /* 153952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54176 /* 153956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54177 /* 153960 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54178 /* 153964 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54179 /* 153968 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54180 /* 153971 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54181 /* 153975 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54182 /* 153979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54183 /* 153981 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54184 /* 153988 */ // (fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54185 /* 153988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rm),
54186 /* 153991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54187 /* 153993 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54188 /* 153995 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54189 /* 153999 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54190 /* 154004 */ GIR_RootConstrainSelectedInstOperands,
54191 /* 154005 */ // GIR_Coverage, 6544,
54192 /* 154005 */ GIR_EraseRootFromParent_Done,
54193 /* 154006 */ // Label 4243: @154006
54194 /* 154006 */ GIM_Try, /*On fail goto*//*Label 4244*/ GIMT_Encode4(154060),
54195 /* 154011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54196 /* 154015 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54197 /* 154019 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54198 /* 154023 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4245*/ GIMT_Encode4(154041), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2200 //
54199 /* 154030 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VSUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
54200 /* 154030 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDrr),
54201 /* 154035 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54202 /* 154039 */ GIR_RootConstrainSelectedInstOperands,
54203 /* 154040 */ // GIR_Coverage, 2200,
54204 /* 154040 */ GIR_Done,
54205 /* 154041 */ // Label 4245: @154041
54206 /* 154041 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4246*/ GIMT_Encode4(154059), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2216 //
54207 /* 154048 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (SUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
54208 /* 154048 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPDrr),
54209 /* 154053 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54210 /* 154057 */ GIR_RootConstrainSelectedInstOperands,
54211 /* 154058 */ // GIR_Coverage, 2216,
54212 /* 154058 */ GIR_Done,
54213 /* 154059 */ // Label 4246: @154059
54214 /* 154059 */ GIM_Reject,
54215 /* 154060 */ // Label 4244: @154060
54216 /* 154060 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4247*/ GIMT_Encode4(154090), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6540 //
54217 /* 154067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54218 /* 154071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54219 /* 154075 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54220 /* 154079 */ // (fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VSUBPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
54221 /* 154079 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rr),
54222 /* 154084 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54223 /* 154088 */ GIR_RootConstrainSelectedInstOperands,
54224 /* 154089 */ // GIR_Coverage, 6540,
54225 /* 154089 */ GIR_Done,
54226 /* 154090 */ // Label 4247: @154090
54227 /* 154090 */ GIM_Reject,
54228 /* 154091 */ // Label 4241: @154091
54229 /* 154091 */ GIM_Reject,
54230 /* 154092 */ // Label 4151: @154092
54231 /* 154092 */ GIM_Try, /*On fail goto*//*Label 4248*/ GIMT_Encode4(154286),
54232 /* 154097 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
54233 /* 154100 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
54234 /* 154103 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4249*/ GIMT_Encode4(154164), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2210 //
54235 /* 154110 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54236 /* 154114 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54237 /* 154118 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54238 /* 154122 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54239 /* 154126 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54240 /* 154129 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54241 /* 154133 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54242 /* 154137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54243 /* 154139 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54244 /* 154146 */ // (fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54245 /* 154146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrm),
54246 /* 154149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54247 /* 154151 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54248 /* 154153 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54249 /* 154157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54250 /* 154162 */ GIR_RootConstrainSelectedInstOperands,
54251 /* 154163 */ // GIR_Coverage, 2210,
54252 /* 154163 */ GIR_EraseRootFromParent_Done,
54253 /* 154164 */ // Label 4249: @154164
54254 /* 154164 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4250*/ GIMT_Encode4(154225), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6556 //
54255 /* 154171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54256 /* 154175 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54257 /* 154179 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54258 /* 154183 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54259 /* 154187 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54260 /* 154190 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54261 /* 154194 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54262 /* 154198 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54263 /* 154200 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54264 /* 154207 */ // (fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54265 /* 154207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rm),
54266 /* 154210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54267 /* 154212 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54268 /* 154214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54269 /* 154218 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54270 /* 154223 */ GIR_RootConstrainSelectedInstOperands,
54271 /* 154224 */ // GIR_Coverage, 6556,
54272 /* 154224 */ GIR_EraseRootFromParent_Done,
54273 /* 154225 */ // Label 4250: @154225
54274 /* 154225 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4251*/ GIMT_Encode4(154255), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2208 //
54275 /* 154232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54276 /* 154236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54277 /* 154240 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54278 /* 154244 */ // (fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VSUBPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
54279 /* 154244 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrr),
54280 /* 154249 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54281 /* 154253 */ GIR_RootConstrainSelectedInstOperands,
54282 /* 154254 */ // GIR_Coverage, 2208,
54283 /* 154254 */ GIR_Done,
54284 /* 154255 */ // Label 4251: @154255
54285 /* 154255 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4252*/ GIMT_Encode4(154285), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6552 //
54286 /* 154262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54287 /* 154266 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54288 /* 154270 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54289 /* 154274 */ // (fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VSUBPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
54290 /* 154274 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rr),
54291 /* 154279 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54292 /* 154283 */ GIR_RootConstrainSelectedInstOperands,
54293 /* 154284 */ // GIR_Coverage, 6552,
54294 /* 154284 */ GIR_Done,
54295 /* 154285 */ // Label 4252: @154285
54296 /* 154285 */ GIM_Reject,
54297 /* 154286 */ // Label 4248: @154286
54298 /* 154286 */ GIM_Reject,
54299 /* 154287 */ // Label 4152: @154287
54300 /* 154287 */ GIM_Try, /*On fail goto*//*Label 4253*/ GIMT_Encode4(154382),
54301 /* 154292 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
54302 /* 154295 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
54303 /* 154298 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54304 /* 154302 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54305 /* 154306 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4254*/ GIMT_Encode4(154359), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6508 //
54306 /* 154313 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54307 /* 154317 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54308 /* 154321 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54309 /* 154324 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54310 /* 154328 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54311 /* 154332 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54312 /* 154334 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54313 /* 154341 */ // (fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54314 /* 154341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrm),
54315 /* 154344 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54316 /* 154346 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54317 /* 154348 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54318 /* 154352 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54319 /* 154357 */ GIR_RootConstrainSelectedInstOperands,
54320 /* 154358 */ // GIR_Coverage, 6508,
54321 /* 154358 */ GIR_EraseRootFromParent_Done,
54322 /* 154359 */ // Label 4254: @154359
54323 /* 154359 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4255*/ GIMT_Encode4(154381), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6504 //
54324 /* 154366 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54325 /* 154370 */ // (fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VSUBPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
54326 /* 154370 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrr),
54327 /* 154375 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54328 /* 154379 */ GIR_RootConstrainSelectedInstOperands,
54329 /* 154380 */ // GIR_Coverage, 6504,
54330 /* 154380 */ GIR_Done,
54331 /* 154381 */ // Label 4255: @154381
54332 /* 154381 */ GIM_Reject,
54333 /* 154382 */ // Label 4253: @154382
54334 /* 154382 */ GIM_Reject,
54335 /* 154383 */ // Label 4153: @154383
54336 /* 154383 */ GIM_Reject,
54337 /* 154384 */ // Label 46: @154384
54338 /* 154384 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4269*/ GIMT_Encode4(160106),
54339 /* 154395 */ /*GILLT_s16*//*Label 4256*/ GIMT_Encode4(154487),
54340 /* 154399 */ /*GILLT_s32*//*Label 4257*/ GIMT_Encode4(154646),
54341 /* 154403 */ /*GILLT_s64*//*Label 4258*/ GIMT_Encode4(155987),
54342 /* 154407 */ /*GILLT_s80*//*Label 4259*/ GIMT_Encode4(157454), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
54343 /* 154451 */ /*GILLT_v8s16*//*Label 4260*/ GIMT_Encode4(157995),
54344 /* 154455 */ /*GILLT_v16s16*//*Label 4261*/ GIMT_Encode4(158154),
54345 /* 154459 */ /*GILLT_v32s16*//*Label 4262*/ GIMT_Encode4(158313),
54346 /* 154463 */ /*GILLT_v4s32*//*Label 4263*/ GIMT_Encode4(158472),
54347 /* 154467 */ /*GILLT_v8s32*//*Label 4264*/ GIMT_Encode4(158813),
54348 /* 154471 */ /*GILLT_v16s32*//*Label 4265*/ GIMT_Encode4(159130),
54349 /* 154475 */ /*GILLT_v2s64*//*Label 4266*/ GIMT_Encode4(159289),
54350 /* 154479 */ /*GILLT_v4s64*//*Label 4267*/ GIMT_Encode4(159630),
54351 /* 154483 */ /*GILLT_v8s64*//*Label 4268*/ GIMT_Encode4(159947),
54352 /* 154487 */ // Label 4256: @154487
54353 /* 154487 */ GIM_Try, /*On fail goto*//*Label 4270*/ GIMT_Encode4(154645),
54354 /* 154492 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
54355 /* 154495 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
54356 /* 154498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54357 /* 154502 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4271*/ GIMT_Encode4(154559), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 24496 //
54358 /* 154509 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54359 /* 154513 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54360 /* 154517 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54361 /* 154520 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54362 /* 154524 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54363 /* 154528 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54364 /* 154532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54365 /* 154534 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54366 /* 154541 */ // (fmul:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1) => (VMULSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
54367 /* 154541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
54368 /* 154544 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54369 /* 154546 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54370 /* 154548 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54371 /* 154552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54372 /* 154557 */ GIR_RootConstrainSelectedInstOperands,
54373 /* 154558 */ // GIR_Coverage, 24496,
54374 /* 154558 */ GIR_EraseRootFromParent_Done,
54375 /* 154559 */ // Label 4271: @154559
54376 /* 154559 */ GIM_Try, /*On fail goto*//*Label 4272*/ GIMT_Encode4(154644),
54377 /* 154564 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54378 /* 154568 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4273*/ GIMT_Encode4(154621), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6013 //
54379 /* 154575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54380 /* 154579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54381 /* 154583 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54382 /* 154586 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54383 /* 154590 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54384 /* 154594 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54385 /* 154596 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54386 /* 154603 */ // (fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
54387 /* 154603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
54388 /* 154606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54389 /* 154608 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54390 /* 154610 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54391 /* 154614 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54392 /* 154619 */ GIR_RootConstrainSelectedInstOperands,
54393 /* 154620 */ // GIR_Coverage, 6013,
54394 /* 154620 */ GIR_EraseRootFromParent_Done,
54395 /* 154621 */ // Label 4273: @154621
54396 /* 154621 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4274*/ GIMT_Encode4(154643), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6011 //
54397 /* 154628 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54398 /* 154632 */ // (fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VMULSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
54399 /* 154632 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSHZrr),
54400 /* 154637 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54401 /* 154641 */ GIR_RootConstrainSelectedInstOperands,
54402 /* 154642 */ // GIR_Coverage, 6011,
54403 /* 154642 */ GIR_Done,
54404 /* 154643 */ // Label 4274: @154643
54405 /* 154643 */ GIM_Reject,
54406 /* 154644 */ // Label 4272: @154644
54407 /* 154644 */ GIM_Reject,
54408 /* 154645 */ // Label 4270: @154645
54409 /* 154645 */ GIM_Reject,
54410 /* 154646 */ // Label 4257: @154646
54411 /* 154646 */ GIM_Try, /*On fail goto*//*Label 4275*/ GIMT_Encode4(155986),
54412 /* 154651 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
54413 /* 154654 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
54414 /* 154657 */ GIM_Try, /*On fail goto*//*Label 4276*/ GIMT_Encode4(154817),
54415 /* 154662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54416 /* 154666 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54417 /* 154670 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4277*/ GIMT_Encode4(154743), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 26268 //
54418 /* 154677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54419 /* 154681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54420 /* 154685 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54421 /* 154689 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54422 /* 154693 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54423 /* 154697 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54424 /* 154700 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54425 /* 154704 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54426 /* 154711 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54427 /* 154715 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54428 /* 154717 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54429 /* 154724 */ // (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)
54430 /* 154724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
54431 /* 154727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54432 /* 154729 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54433 /* 154731 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54434 /* 154735 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54435 /* 154741 */ GIR_RootConstrainSelectedInstOperands,
54436 /* 154742 */ // GIR_Coverage, 26268,
54437 /* 154742 */ GIR_EraseRootFromParent_Done,
54438 /* 154743 */ // Label 4277: @154743
54439 /* 154743 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4278*/ GIMT_Encode4(154816), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 26269 //
54440 /* 154750 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54441 /* 154754 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54442 /* 154758 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54443 /* 154762 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54444 /* 154766 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54445 /* 154770 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54446 /* 154773 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54447 /* 154777 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54448 /* 154784 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54449 /* 154788 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54450 /* 154790 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54451 /* 154797 */ // (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)
54452 /* 154797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
54453 /* 154800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54454 /* 154802 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54455 /* 154804 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54456 /* 154808 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54457 /* 154814 */ GIR_RootConstrainSelectedInstOperands,
54458 /* 154815 */ // GIR_Coverage, 26269,
54459 /* 154815 */ GIR_EraseRootFromParent_Done,
54460 /* 154816 */ // Label 4278: @154816
54461 /* 154816 */ GIM_Reject,
54462 /* 154817 */ // Label 4276: @154817
54463 /* 154817 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4279*/ GIMT_Encode4(154898), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 26270 //
54464 /* 154824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54465 /* 154828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54466 /* 154832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54467 /* 154836 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54468 /* 154840 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54469 /* 154844 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54470 /* 154848 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54471 /* 154851 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54472 /* 154855 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54473 /* 154862 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54474 /* 154866 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54475 /* 154870 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54476 /* 154872 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54477 /* 154879 */ // (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)
54478 /* 154879 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
54479 /* 154882 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54480 /* 154884 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54481 /* 154886 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54482 /* 154890 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54483 /* 154896 */ GIR_RootConstrainSelectedInstOperands,
54484 /* 154897 */ // GIR_Coverage, 26270,
54485 /* 154897 */ GIR_EraseRootFromParent_Done,
54486 /* 154898 */ // Label 4279: @154898
54487 /* 154898 */ GIM_Try, /*On fail goto*//*Label 4280*/ GIMT_Encode4(155058),
54488 /* 154903 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54489 /* 154907 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54490 /* 154911 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4281*/ GIMT_Encode4(154984), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22679 //
54491 /* 154918 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54492 /* 154922 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54493 /* 154926 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54494 /* 154930 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54495 /* 154934 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54496 /* 154938 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54497 /* 154941 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54498 /* 154945 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54499 /* 154952 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54500 /* 154956 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54501 /* 154958 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54502 /* 154965 */ // (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)
54503 /* 154965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
54504 /* 154968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54505 /* 154970 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54506 /* 154972 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54507 /* 154976 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54508 /* 154982 */ GIR_RootConstrainSelectedInstOperands,
54509 /* 154983 */ // GIR_Coverage, 22679,
54510 /* 154983 */ GIR_EraseRootFromParent_Done,
54511 /* 154984 */ // Label 4281: @154984
54512 /* 154984 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4282*/ GIMT_Encode4(155057), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22680 //
54513 /* 154991 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54514 /* 154995 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54515 /* 154999 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54516 /* 155003 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54517 /* 155007 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54518 /* 155011 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54519 /* 155014 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54520 /* 155018 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54521 /* 155025 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54522 /* 155029 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54523 /* 155031 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54524 /* 155038 */ // (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)
54525 /* 155038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
54526 /* 155041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54527 /* 155043 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54528 /* 155045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54529 /* 155049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54530 /* 155055 */ GIR_RootConstrainSelectedInstOperands,
54531 /* 155056 */ // GIR_Coverage, 22680,
54532 /* 155056 */ GIR_EraseRootFromParent_Done,
54533 /* 155057 */ // Label 4282: @155057
54534 /* 155057 */ GIM_Reject,
54535 /* 155058 */ // Label 4280: @155058
54536 /* 155058 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4283*/ GIMT_Encode4(155139), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22681 //
54537 /* 155065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54538 /* 155069 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54539 /* 155073 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54540 /* 155077 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54541 /* 155081 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54542 /* 155085 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54543 /* 155089 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54544 /* 155093 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54545 /* 155096 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54546 /* 155100 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54547 /* 155107 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54548 /* 155111 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54549 /* 155113 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54550 /* 155120 */ // (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)
54551 /* 155120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
54552 /* 155123 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54553 /* 155125 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54554 /* 155127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54555 /* 155131 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54556 /* 155137 */ GIR_RootConstrainSelectedInstOperands,
54557 /* 155138 */ // GIR_Coverage, 22681,
54558 /* 155138 */ GIR_EraseRootFromParent_Done,
54559 /* 155139 */ // Label 4283: @155139
54560 /* 155139 */ GIM_Try, /*On fail goto*//*Label 4284*/ GIMT_Encode4(155321),
54561 /* 155144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54562 /* 155148 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54563 /* 155152 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4285*/ GIMT_Encode4(155208), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23509 //
54564 /* 155159 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54565 /* 155163 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54566 /* 155167 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54567 /* 155174 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54568 /* 155178 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54569 /* 155180 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54570 /* 155187 */ // (fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54571 /* 155187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
54572 /* 155190 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54573 /* 155192 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54574 /* 155194 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54575 /* 155198 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54576 /* 155201 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54577 /* 155206 */ GIR_RootConstrainSelectedInstOperands,
54578 /* 155207 */ // GIR_Coverage, 23509,
54579 /* 155207 */ GIR_EraseRootFromParent_Done,
54580 /* 155208 */ // Label 4285: @155208
54581 /* 155208 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4286*/ GIMT_Encode4(155264), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23511 //
54582 /* 155215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54583 /* 155219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54584 /* 155223 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54585 /* 155230 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54586 /* 155234 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54587 /* 155236 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54588 /* 155243 */ // (fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54589 /* 155243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
54590 /* 155246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54591 /* 155248 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54592 /* 155250 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54593 /* 155254 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54594 /* 155257 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54595 /* 155262 */ GIR_RootConstrainSelectedInstOperands,
54596 /* 155263 */ // GIR_Coverage, 23511,
54597 /* 155263 */ GIR_EraseRootFromParent_Done,
54598 /* 155264 */ // Label 4286: @155264
54599 /* 155264 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4287*/ GIMT_Encode4(155320), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23499 //
54600 /* 155271 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54601 /* 155275 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54602 /* 155279 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54603 /* 155282 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54604 /* 155286 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54605 /* 155290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54606 /* 155292 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54607 /* 155299 */ // (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)
54608 /* 155299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
54609 /* 155302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54610 /* 155304 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54611 /* 155306 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54612 /* 155310 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54613 /* 155313 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54614 /* 155318 */ GIR_RootConstrainSelectedInstOperands,
54615 /* 155319 */ // GIR_Coverage, 23499,
54616 /* 155319 */ GIR_EraseRootFromParent_Done,
54617 /* 155320 */ // Label 4287: @155320
54618 /* 155320 */ GIM_Reject,
54619 /* 155321 */ // Label 4284: @155321
54620 /* 155321 */ GIM_Try, /*On fail goto*//*Label 4288*/ GIMT_Encode4(155441),
54621 /* 155326 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54622 /* 155330 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54623 /* 155334 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4289*/ GIMT_Encode4(155387), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 23642 //
54624 /* 155341 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54625 /* 155345 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54626 /* 155349 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54627 /* 155352 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54628 /* 155356 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54629 /* 155360 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54630 /* 155362 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54631 /* 155369 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (VMULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54632 /* 155369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
54633 /* 155372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54634 /* 155374 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54635 /* 155376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54636 /* 155380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54637 /* 155385 */ GIR_RootConstrainSelectedInstOperands,
54638 /* 155386 */ // GIR_Coverage, 23642,
54639 /* 155386 */ GIR_EraseRootFromParent_Done,
54640 /* 155387 */ // Label 4289: @155387
54641 /* 155387 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4290*/ GIMT_Encode4(155440), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 23646 //
54642 /* 155394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54643 /* 155398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54644 /* 155402 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54645 /* 155405 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54646 /* 155409 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54647 /* 155413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54648 /* 155415 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54649 /* 155422 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (MULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54650 /* 155422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
54651 /* 155425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54652 /* 155427 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54653 /* 155429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54654 /* 155433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54655 /* 155438 */ GIR_RootConstrainSelectedInstOperands,
54656 /* 155439 */ // GIR_Coverage, 23646,
54657 /* 155439 */ GIR_EraseRootFromParent_Done,
54658 /* 155440 */ // Label 4290: @155440
54659 /* 155440 */ GIM_Reject,
54660 /* 155441 */ // Label 4288: @155441
54661 /* 155441 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4291*/ GIMT_Encode4(155502), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24492 //
54662 /* 155448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54663 /* 155452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54664 /* 155456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54665 /* 155460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54666 /* 155463 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54667 /* 155467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54668 /* 155471 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54669 /* 155475 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54670 /* 155477 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54671 /* 155484 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1) => (VMULSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54672 /* 155484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
54673 /* 155487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54674 /* 155489 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54675 /* 155491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54676 /* 155495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54677 /* 155500 */ GIR_RootConstrainSelectedInstOperands,
54678 /* 155501 */ // GIR_Coverage, 24492,
54679 /* 155501 */ GIR_EraseRootFromParent_Done,
54680 /* 155502 */ // Label 4291: @155502
54681 /* 155502 */ GIM_Try, /*On fail goto*//*Label 4292*/ GIMT_Encode4(155684),
54682 /* 155507 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54683 /* 155511 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54684 /* 155515 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4293*/ GIMT_Encode4(155571), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 963 //
54685 /* 155522 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54686 /* 155526 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54687 /* 155530 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54688 /* 155537 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54689 /* 155541 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54690 /* 155543 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54691 /* 155550 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54692 /* 155550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
54693 /* 155553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54694 /* 155555 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54695 /* 155557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54696 /* 155561 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54697 /* 155564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54698 /* 155569 */ GIR_RootConstrainSelectedInstOperands,
54699 /* 155570 */ // GIR_Coverage, 963,
54700 /* 155570 */ GIR_EraseRootFromParent_Done,
54701 /* 155571 */ // Label 4293: @155571
54702 /* 155571 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4294*/ GIMT_Encode4(155627), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 965 //
54703 /* 155578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54704 /* 155582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54705 /* 155586 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54706 /* 155593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54707 /* 155597 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54708 /* 155599 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54709 /* 155606 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54710 /* 155606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
54711 /* 155609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54712 /* 155611 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54713 /* 155613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54714 /* 155617 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54715 /* 155620 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54716 /* 155625 */ GIR_RootConstrainSelectedInstOperands,
54717 /* 155626 */ // GIR_Coverage, 965,
54718 /* 155626 */ GIR_EraseRootFromParent_Done,
54719 /* 155627 */ // Label 4294: @155627
54720 /* 155627 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4295*/ GIMT_Encode4(155683), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 953 //
54721 /* 155634 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54722 /* 155638 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54723 /* 155642 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54724 /* 155645 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54725 /* 155649 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54726 /* 155653 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54727 /* 155655 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54728 /* 155662 */ // (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)
54729 /* 155662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
54730 /* 155665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54731 /* 155667 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54732 /* 155669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54733 /* 155673 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54734 /* 155676 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54735 /* 155681 */ GIR_RootConstrainSelectedInstOperands,
54736 /* 155682 */ // GIR_Coverage, 953,
54737 /* 155682 */ GIR_EraseRootFromParent_Done,
54738 /* 155683 */ // Label 4295: @155683
54739 /* 155683 */ GIM_Reject,
54740 /* 155684 */ // Label 4292: @155684
54741 /* 155684 */ GIM_Try, /*On fail goto*//*Label 4296*/ GIMT_Encode4(155804),
54742 /* 155689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54743 /* 155693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54744 /* 155697 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4297*/ GIMT_Encode4(155750), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2182 //
54745 /* 155704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54746 /* 155708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54747 /* 155712 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54748 /* 155715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54749 /* 155719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54750 /* 155723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54751 /* 155725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54752 /* 155732 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54753 /* 155732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
54754 /* 155735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54755 /* 155737 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54756 /* 155739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54757 /* 155743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54758 /* 155748 */ GIR_RootConstrainSelectedInstOperands,
54759 /* 155749 */ // GIR_Coverage, 2182,
54760 /* 155749 */ GIR_EraseRootFromParent_Done,
54761 /* 155750 */ // Label 4297: @155750
54762 /* 155750 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4298*/ GIMT_Encode4(155803), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2190 //
54763 /* 155757 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54764 /* 155761 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54765 /* 155765 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54766 /* 155768 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54767 /* 155772 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54768 /* 155776 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54769 /* 155778 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54770 /* 155785 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54771 /* 155785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
54772 /* 155788 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54773 /* 155790 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54774 /* 155792 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54775 /* 155796 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54776 /* 155801 */ GIR_RootConstrainSelectedInstOperands,
54777 /* 155802 */ // GIR_Coverage, 2190,
54778 /* 155802 */ GIR_EraseRootFromParent_Done,
54779 /* 155803 */ // Label 4298: @155803
54780 /* 155803 */ GIM_Reject,
54781 /* 155804 */ // Label 4296: @155804
54782 /* 155804 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4299*/ GIMT_Encode4(155865), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5975 //
54783 /* 155811 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54784 /* 155815 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54785 /* 155819 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54786 /* 155823 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54787 /* 155827 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54788 /* 155830 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54789 /* 155834 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54790 /* 155838 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54791 /* 155840 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54792 /* 155847 */ // (fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54793 /* 155847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
54794 /* 155850 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54795 /* 155852 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54796 /* 155854 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54797 /* 155858 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54798 /* 155863 */ GIR_RootConstrainSelectedInstOperands,
54799 /* 155864 */ // GIR_Coverage, 5975,
54800 /* 155864 */ GIR_EraseRootFromParent_Done,
54801 /* 155865 */ // Label 4299: @155865
54802 /* 155865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4300*/ GIMT_Encode4(155901), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 875 //
54803 /* 155872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54804 /* 155876 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54805 /* 155880 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54806 /* 155884 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (MUL_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
54807 /* 155884 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32),
54808 /* 155889 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
54809 /* 155895 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
54810 /* 155899 */ GIR_RootConstrainSelectedInstOperands,
54811 /* 155900 */ // GIR_Coverage, 875,
54812 /* 155900 */ GIR_Done,
54813 /* 155901 */ // Label 4300: @155901
54814 /* 155901 */ GIM_Try, /*On fail goto*//*Label 4301*/ GIMT_Encode4(155955),
54815 /* 155906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54816 /* 155910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54817 /* 155914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54818 /* 155918 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4302*/ GIMT_Encode4(155936), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2180 //
54819 /* 155925 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VMULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
54820 /* 155925 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSrr),
54821 /* 155930 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54822 /* 155934 */ GIR_RootConstrainSelectedInstOperands,
54823 /* 155935 */ // GIR_Coverage, 2180,
54824 /* 155935 */ GIR_Done,
54825 /* 155936 */ // Label 4302: @155936
54826 /* 155936 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4303*/ GIMT_Encode4(155954), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2188 //
54827 /* 155943 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (MULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
54828 /* 155943 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSSrr),
54829 /* 155948 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54830 /* 155952 */ GIR_RootConstrainSelectedInstOperands,
54831 /* 155953 */ // GIR_Coverage, 2188,
54832 /* 155953 */ GIR_Done,
54833 /* 155954 */ // Label 4303: @155954
54834 /* 155954 */ GIM_Reject,
54835 /* 155955 */ // Label 4301: @155955
54836 /* 155955 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4304*/ GIMT_Encode4(155985), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5973 //
54837 /* 155962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54838 /* 155966 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54839 /* 155970 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54840 /* 155974 */ // (fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VMULSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
54841 /* 155974 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSZrr),
54842 /* 155979 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54843 /* 155983 */ GIR_RootConstrainSelectedInstOperands,
54844 /* 155984 */ // GIR_Coverage, 5973,
54845 /* 155984 */ GIR_Done,
54846 /* 155985 */ // Label 4304: @155985
54847 /* 155985 */ GIM_Reject,
54848 /* 155986 */ // Label 4275: @155986
54849 /* 155986 */ GIM_Reject,
54850 /* 155987 */ // Label 4258: @155987
54851 /* 155987 */ GIM_Try, /*On fail goto*//*Label 4305*/ GIMT_Encode4(157453),
54852 /* 155992 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
54853 /* 155995 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
54854 /* 155998 */ GIM_Try, /*On fail goto*//*Label 4306*/ GIMT_Encode4(156158),
54855 /* 156003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54856 /* 156007 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54857 /* 156011 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4307*/ GIMT_Encode4(156084), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 26271 //
54858 /* 156018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54859 /* 156022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54860 /* 156026 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54861 /* 156030 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54862 /* 156034 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54863 /* 156038 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54864 /* 156041 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54865 /* 156045 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54866 /* 156052 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54867 /* 156056 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54868 /* 156058 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54869 /* 156065 */ // (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)
54870 /* 156065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
54871 /* 156068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54872 /* 156070 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54873 /* 156072 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54874 /* 156076 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54875 /* 156082 */ GIR_RootConstrainSelectedInstOperands,
54876 /* 156083 */ // GIR_Coverage, 26271,
54877 /* 156083 */ GIR_EraseRootFromParent_Done,
54878 /* 156084 */ // Label 4307: @156084
54879 /* 156084 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4308*/ GIMT_Encode4(156157), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 26272 //
54880 /* 156091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54881 /* 156095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54882 /* 156099 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54883 /* 156103 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54884 /* 156107 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54885 /* 156111 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54886 /* 156114 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54887 /* 156118 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54888 /* 156125 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54889 /* 156129 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54890 /* 156131 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54891 /* 156138 */ // (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)
54892 /* 156138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
54893 /* 156141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54894 /* 156143 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54895 /* 156145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54896 /* 156149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54897 /* 156155 */ GIR_RootConstrainSelectedInstOperands,
54898 /* 156156 */ // GIR_Coverage, 26272,
54899 /* 156156 */ GIR_EraseRootFromParent_Done,
54900 /* 156157 */ // Label 4308: @156157
54901 /* 156157 */ GIM_Reject,
54902 /* 156158 */ // Label 4306: @156158
54903 /* 156158 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4309*/ GIMT_Encode4(156239), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 26273 //
54904 /* 156165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54905 /* 156169 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54906 /* 156173 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54907 /* 156177 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54908 /* 156181 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54909 /* 156185 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54910 /* 156189 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54911 /* 156192 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54912 /* 156196 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54913 /* 156203 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54914 /* 156207 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54915 /* 156211 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54916 /* 156213 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54917 /* 156220 */ // (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)
54918 /* 156220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
54919 /* 156223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54920 /* 156225 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54921 /* 156227 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54922 /* 156231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54923 /* 156237 */ GIR_RootConstrainSelectedInstOperands,
54924 /* 156238 */ // GIR_Coverage, 26273,
54925 /* 156238 */ GIR_EraseRootFromParent_Done,
54926 /* 156239 */ // Label 4309: @156239
54927 /* 156239 */ GIM_Try, /*On fail goto*//*Label 4310*/ GIMT_Encode4(156399),
54928 /* 156244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54929 /* 156248 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54930 /* 156252 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4311*/ GIMT_Encode4(156325), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22682 //
54931 /* 156259 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54932 /* 156263 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54933 /* 156267 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54934 /* 156271 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54935 /* 156275 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54936 /* 156279 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54937 /* 156282 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54938 /* 156286 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54939 /* 156293 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54940 /* 156297 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54941 /* 156299 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54942 /* 156306 */ // (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)
54943 /* 156306 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
54944 /* 156309 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54945 /* 156311 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54946 /* 156313 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54947 /* 156317 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54948 /* 156323 */ GIR_RootConstrainSelectedInstOperands,
54949 /* 156324 */ // GIR_Coverage, 22682,
54950 /* 156324 */ GIR_EraseRootFromParent_Done,
54951 /* 156325 */ // Label 4311: @156325
54952 /* 156325 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4312*/ GIMT_Encode4(156398), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22683 //
54953 /* 156332 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54954 /* 156336 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54955 /* 156340 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54956 /* 156344 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54957 /* 156348 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54958 /* 156352 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54959 /* 156355 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54960 /* 156359 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54961 /* 156366 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54962 /* 156370 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54963 /* 156372 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54964 /* 156379 */ // (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)
54965 /* 156379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
54966 /* 156382 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54967 /* 156384 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54968 /* 156386 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54969 /* 156390 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54970 /* 156396 */ GIR_RootConstrainSelectedInstOperands,
54971 /* 156397 */ // GIR_Coverage, 22683,
54972 /* 156397 */ GIR_EraseRootFromParent_Done,
54973 /* 156398 */ // Label 4312: @156398
54974 /* 156398 */ GIM_Reject,
54975 /* 156399 */ // Label 4310: @156399
54976 /* 156399 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4313*/ GIMT_Encode4(156480), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22684 //
54977 /* 156406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54978 /* 156410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54979 /* 156414 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54980 /* 156418 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54981 /* 156422 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54982 /* 156426 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54983 /* 156430 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54984 /* 156434 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54985 /* 156437 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54986 /* 156441 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54987 /* 156448 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54988 /* 156452 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54989 /* 156454 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54990 /* 156461 */ // (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)
54991 /* 156461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
54992 /* 156464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54993 /* 156466 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54994 /* 156468 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54995 /* 156472 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54996 /* 156478 */ GIR_RootConstrainSelectedInstOperands,
54997 /* 156479 */ // GIR_Coverage, 22684,
54998 /* 156479 */ GIR_EraseRootFromParent_Done,
54999 /* 156480 */ // Label 4313: @156480
55000 /* 156480 */ GIM_Try, /*On fail goto*//*Label 4314*/ GIMT_Encode4(156725),
55001 /* 156485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55002 /* 156489 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55003 /* 156493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4315*/ GIMT_Encode4(156549), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23513 //
55004 /* 156500 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55005 /* 156504 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55006 /* 156508 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55007 /* 156515 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55008 /* 156519 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55009 /* 156521 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55010 /* 156528 */ // (fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55011 /* 156528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
55012 /* 156531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55013 /* 156533 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55014 /* 156535 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55015 /* 156539 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55016 /* 156542 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55017 /* 156547 */ GIR_RootConstrainSelectedInstOperands,
55018 /* 156548 */ // GIR_Coverage, 23513,
55019 /* 156548 */ GIR_EraseRootFromParent_Done,
55020 /* 156549 */ // Label 4315: @156549
55021 /* 156549 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4316*/ GIMT_Encode4(156605), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23515 //
55022 /* 156556 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55023 /* 156560 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55024 /* 156564 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55025 /* 156571 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55026 /* 156575 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55027 /* 156577 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55028 /* 156584 */ // (fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55029 /* 156584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
55030 /* 156587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55031 /* 156589 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55032 /* 156591 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55033 /* 156595 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55034 /* 156598 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55035 /* 156603 */ GIR_RootConstrainSelectedInstOperands,
55036 /* 156604 */ // GIR_Coverage, 23515,
55037 /* 156604 */ GIR_EraseRootFromParent_Done,
55038 /* 156605 */ // Label 4316: @156605
55039 /* 156605 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4317*/ GIMT_Encode4(156668), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23503 //
55040 /* 156612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55041 /* 156616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
55042 /* 156620 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55043 /* 156623 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55044 /* 156627 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55045 /* 156634 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55046 /* 156638 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55047 /* 156640 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55048 /* 156647 */ // (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)
55049 /* 156647 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
55050 /* 156650 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55051 /* 156652 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55052 /* 156654 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55053 /* 156658 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55054 /* 156661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55055 /* 156666 */ GIR_RootConstrainSelectedInstOperands,
55056 /* 156667 */ // GIR_Coverage, 23503,
55057 /* 156667 */ GIR_EraseRootFromParent_Done,
55058 /* 156668 */ // Label 4317: @156668
55059 /* 156668 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4318*/ GIMT_Encode4(156724), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23501 //
55060 /* 156675 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55061 /* 156679 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55062 /* 156683 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55063 /* 156686 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55064 /* 156690 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55065 /* 156694 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55066 /* 156696 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55067 /* 156703 */ // (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)
55068 /* 156703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
55069 /* 156706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55070 /* 156708 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55071 /* 156710 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55072 /* 156714 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55073 /* 156717 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55074 /* 156722 */ GIR_RootConstrainSelectedInstOperands,
55075 /* 156723 */ // GIR_Coverage, 23501,
55076 /* 156723 */ GIR_EraseRootFromParent_Done,
55077 /* 156724 */ // Label 4318: @156724
55078 /* 156724 */ GIM_Reject,
55079 /* 156725 */ // Label 4314: @156725
55080 /* 156725 */ GIM_Try, /*On fail goto*//*Label 4319*/ GIMT_Encode4(156845),
55081 /* 156730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55082 /* 156734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55083 /* 156738 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4320*/ GIMT_Encode4(156791), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 23644 //
55084 /* 156745 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55085 /* 156749 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55086 /* 156753 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55087 /* 156756 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55088 /* 156760 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55089 /* 156764 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55090 /* 156766 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55091 /* 156773 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (VMULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55092 /* 156773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
55093 /* 156776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55094 /* 156778 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55095 /* 156780 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55096 /* 156784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55097 /* 156789 */ GIR_RootConstrainSelectedInstOperands,
55098 /* 156790 */ // GIR_Coverage, 23644,
55099 /* 156790 */ GIR_EraseRootFromParent_Done,
55100 /* 156791 */ // Label 4320: @156791
55101 /* 156791 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4321*/ GIMT_Encode4(156844), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 23648 //
55102 /* 156798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55103 /* 156802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55104 /* 156806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55105 /* 156809 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55106 /* 156813 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55107 /* 156817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55108 /* 156819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55109 /* 156826 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (MULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55110 /* 156826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
55111 /* 156829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55112 /* 156831 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55113 /* 156833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55114 /* 156837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55115 /* 156842 */ GIR_RootConstrainSelectedInstOperands,
55116 /* 156843 */ // GIR_Coverage, 23648,
55117 /* 156843 */ GIR_EraseRootFromParent_Done,
55118 /* 156844 */ // Label 4321: @156844
55119 /* 156844 */ GIM_Reject,
55120 /* 156845 */ // Label 4319: @156845
55121 /* 156845 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4322*/ GIMT_Encode4(156906), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24494 //
55122 /* 156852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55123 /* 156856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55124 /* 156860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55125 /* 156864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55126 /* 156867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55127 /* 156871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55128 /* 156875 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55129 /* 156879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55130 /* 156881 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55131 /* 156888 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1) => (VMULSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55132 /* 156888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
55133 /* 156891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55134 /* 156893 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55135 /* 156895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55136 /* 156899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55137 /* 156904 */ GIR_RootConstrainSelectedInstOperands,
55138 /* 156905 */ // GIR_Coverage, 24494,
55139 /* 156905 */ GIR_EraseRootFromParent_Done,
55140 /* 156906 */ // Label 4322: @156906
55141 /* 156906 */ GIM_Try, /*On fail goto*//*Label 4323*/ GIMT_Encode4(157151),
55142 /* 156911 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55143 /* 156915 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55144 /* 156919 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4324*/ GIMT_Encode4(156975), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 967 //
55145 /* 156926 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55146 /* 156930 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55147 /* 156934 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55148 /* 156941 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55149 /* 156945 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55150 /* 156947 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55151 /* 156954 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55152 /* 156954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
55153 /* 156957 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55154 /* 156959 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55155 /* 156961 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55156 /* 156965 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55157 /* 156968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55158 /* 156973 */ GIR_RootConstrainSelectedInstOperands,
55159 /* 156974 */ // GIR_Coverage, 967,
55160 /* 156974 */ GIR_EraseRootFromParent_Done,
55161 /* 156975 */ // Label 4324: @156975
55162 /* 156975 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4325*/ GIMT_Encode4(157031), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 969 //
55163 /* 156982 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55164 /* 156986 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55165 /* 156990 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55166 /* 156997 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55167 /* 157001 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55168 /* 157003 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55169 /* 157010 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55170 /* 157010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
55171 /* 157013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55172 /* 157015 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55173 /* 157017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55174 /* 157021 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55175 /* 157024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55176 /* 157029 */ GIR_RootConstrainSelectedInstOperands,
55177 /* 157030 */ // GIR_Coverage, 969,
55178 /* 157030 */ GIR_EraseRootFromParent_Done,
55179 /* 157031 */ // Label 4325: @157031
55180 /* 157031 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4326*/ GIMT_Encode4(157094), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 957 //
55181 /* 157038 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55182 /* 157042 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
55183 /* 157046 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55184 /* 157049 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55185 /* 157053 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55186 /* 157060 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55187 /* 157064 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55188 /* 157066 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55189 /* 157073 */ // (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)
55190 /* 157073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
55191 /* 157076 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55192 /* 157078 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55193 /* 157080 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55194 /* 157084 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55195 /* 157087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55196 /* 157092 */ GIR_RootConstrainSelectedInstOperands,
55197 /* 157093 */ // GIR_Coverage, 957,
55198 /* 157093 */ GIR_EraseRootFromParent_Done,
55199 /* 157094 */ // Label 4326: @157094
55200 /* 157094 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4327*/ GIMT_Encode4(157150), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 955 //
55201 /* 157101 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55202 /* 157105 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55203 /* 157109 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55204 /* 157112 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55205 /* 157116 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55206 /* 157120 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55207 /* 157122 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55208 /* 157129 */ // (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)
55209 /* 157129 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
55210 /* 157132 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55211 /* 157134 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55212 /* 157136 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55213 /* 157140 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55214 /* 157143 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55215 /* 157148 */ GIR_RootConstrainSelectedInstOperands,
55216 /* 157149 */ // GIR_Coverage, 955,
55217 /* 157149 */ GIR_EraseRootFromParent_Done,
55218 /* 157150 */ // Label 4327: @157150
55219 /* 157150 */ GIM_Reject,
55220 /* 157151 */ // Label 4323: @157151
55221 /* 157151 */ GIM_Try, /*On fail goto*//*Label 4328*/ GIMT_Encode4(157271),
55222 /* 157156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55223 /* 157160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55224 /* 157164 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4329*/ GIMT_Encode4(157217), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2186 //
55225 /* 157171 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55226 /* 157175 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55227 /* 157179 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55228 /* 157182 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55229 /* 157186 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55230 /* 157190 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55231 /* 157192 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55232 /* 157199 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55233 /* 157199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
55234 /* 157202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55235 /* 157204 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55236 /* 157206 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55237 /* 157210 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55238 /* 157215 */ GIR_RootConstrainSelectedInstOperands,
55239 /* 157216 */ // GIR_Coverage, 2186,
55240 /* 157216 */ GIR_EraseRootFromParent_Done,
55241 /* 157217 */ // Label 4329: @157217
55242 /* 157217 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4330*/ GIMT_Encode4(157270), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2194 //
55243 /* 157224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55244 /* 157228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55245 /* 157232 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55246 /* 157235 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55247 /* 157239 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55248 /* 157243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55249 /* 157245 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55250 /* 157252 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55251 /* 157252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
55252 /* 157255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55253 /* 157257 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55254 /* 157259 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55255 /* 157263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55256 /* 157268 */ GIR_RootConstrainSelectedInstOperands,
55257 /* 157269 */ // GIR_Coverage, 2194,
55258 /* 157269 */ GIR_EraseRootFromParent_Done,
55259 /* 157270 */ // Label 4330: @157270
55260 /* 157270 */ GIM_Reject,
55261 /* 157271 */ // Label 4328: @157271
55262 /* 157271 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4331*/ GIMT_Encode4(157332), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5994 //
55263 /* 157278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55264 /* 157282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55265 /* 157286 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55266 /* 157290 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55267 /* 157294 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55268 /* 157297 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55269 /* 157301 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55270 /* 157305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55271 /* 157307 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55272 /* 157314 */ // (fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55273 /* 157314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
55274 /* 157317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55275 /* 157319 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55276 /* 157321 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55277 /* 157325 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55278 /* 157330 */ GIR_RootConstrainSelectedInstOperands,
55279 /* 157331 */ // GIR_Coverage, 5994,
55280 /* 157331 */ GIR_EraseRootFromParent_Done,
55281 /* 157332 */ // Label 4331: @157332
55282 /* 157332 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4332*/ GIMT_Encode4(157368), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 877 //
55283 /* 157339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55284 /* 157343 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55285 /* 157347 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55286 /* 157351 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (MUL_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
55287 /* 157351 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64),
55288 /* 157356 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
55289 /* 157362 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
55290 /* 157366 */ GIR_RootConstrainSelectedInstOperands,
55291 /* 157367 */ // GIR_Coverage, 877,
55292 /* 157367 */ GIR_Done,
55293 /* 157368 */ // Label 4332: @157368
55294 /* 157368 */ GIM_Try, /*On fail goto*//*Label 4333*/ GIMT_Encode4(157422),
55295 /* 157373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55296 /* 157377 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55297 /* 157381 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55298 /* 157385 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4334*/ GIMT_Encode4(157403), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2184 //
55299 /* 157392 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VMULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
55300 /* 157392 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDrr),
55301 /* 157397 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55302 /* 157401 */ GIR_RootConstrainSelectedInstOperands,
55303 /* 157402 */ // GIR_Coverage, 2184,
55304 /* 157402 */ GIR_Done,
55305 /* 157403 */ // Label 4334: @157403
55306 /* 157403 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4335*/ GIMT_Encode4(157421), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2192 //
55307 /* 157410 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (MULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
55308 /* 157410 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSDrr),
55309 /* 157415 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55310 /* 157419 */ GIR_RootConstrainSelectedInstOperands,
55311 /* 157420 */ // GIR_Coverage, 2192,
55312 /* 157420 */ GIR_Done,
55313 /* 157421 */ // Label 4335: @157421
55314 /* 157421 */ GIM_Reject,
55315 /* 157422 */ // Label 4333: @157422
55316 /* 157422 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4336*/ GIMT_Encode4(157452), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5992 //
55317 /* 157429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55318 /* 157433 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55319 /* 157437 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55320 /* 157441 */ // (fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VMULSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
55321 /* 157441 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDZrr),
55322 /* 157446 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55323 /* 157450 */ GIR_RootConstrainSelectedInstOperands,
55324 /* 157451 */ // GIR_Coverage, 5992,
55325 /* 157451 */ GIR_Done,
55326 /* 157452 */ // Label 4336: @157452
55327 /* 157452 */ GIM_Reject,
55328 /* 157453 */ // Label 4305: @157453
55329 /* 157453 */ GIM_Reject,
55330 /* 157454 */ // Label 4259: @157454
55331 /* 157454 */ GIM_Try, /*On fail goto*//*Label 4337*/ GIMT_Encode4(157994),
55332 /* 157459 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
55333 /* 157462 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
55334 /* 157465 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55335 /* 157469 */ GIM_Try, /*On fail goto*//*Label 4338*/ GIMT_Encode4(157717),
55336 /* 157474 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55337 /* 157478 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4339*/ GIMT_Encode4(157534), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23517 //
55338 /* 157485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55339 /* 157489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55340 /* 157493 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55341 /* 157500 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55342 /* 157504 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55343 /* 157506 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55344 /* 157513 */ // (fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
55345 /* 157513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
55346 /* 157516 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55347 /* 157518 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55348 /* 157520 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55349 /* 157524 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55350 /* 157527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55351 /* 157532 */ GIR_RootConstrainSelectedInstOperands,
55352 /* 157533 */ // GIR_Coverage, 23517,
55353 /* 157533 */ GIR_EraseRootFromParent_Done,
55354 /* 157534 */ // Label 4339: @157534
55355 /* 157534 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4340*/ GIMT_Encode4(157590), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23519 //
55356 /* 157541 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55357 /* 157545 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55358 /* 157549 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55359 /* 157556 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55360 /* 157560 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55361 /* 157562 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55362 /* 157569 */ // (fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
55363 /* 157569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
55364 /* 157572 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55365 /* 157574 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55366 /* 157576 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55367 /* 157580 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55368 /* 157583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55369 /* 157588 */ GIR_RootConstrainSelectedInstOperands,
55370 /* 157589 */ // GIR_Coverage, 23519,
55371 /* 157589 */ GIR_EraseRootFromParent_Done,
55372 /* 157590 */ // Label 4340: @157590
55373 /* 157590 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4341*/ GIMT_Encode4(157653), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23505 //
55374 /* 157597 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55375 /* 157601 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
55376 /* 157605 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55377 /* 157608 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55378 /* 157612 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55379 /* 157619 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55380 /* 157623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55381 /* 157625 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55382 /* 157632 */ // (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)
55383 /* 157632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
55384 /* 157635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55385 /* 157637 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55386 /* 157639 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55387 /* 157643 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55388 /* 157646 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55389 /* 157651 */ GIR_RootConstrainSelectedInstOperands,
55390 /* 157652 */ // GIR_Coverage, 23505,
55391 /* 157652 */ GIR_EraseRootFromParent_Done,
55392 /* 157653 */ // Label 4341: @157653
55393 /* 157653 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4342*/ GIMT_Encode4(157716), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23507 //
55394 /* 157660 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55395 /* 157664 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
55396 /* 157668 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55397 /* 157671 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55398 /* 157675 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
55399 /* 157682 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55400 /* 157686 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55401 /* 157688 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55402 /* 157695 */ // (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)
55403 /* 157695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
55404 /* 157698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55405 /* 157700 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55406 /* 157702 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55407 /* 157706 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55408 /* 157709 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55409 /* 157714 */ GIR_RootConstrainSelectedInstOperands,
55410 /* 157715 */ // GIR_Coverage, 23507,
55411 /* 157715 */ GIR_EraseRootFromParent_Done,
55412 /* 157716 */ // Label 4342: @157716
55413 /* 157716 */ GIM_Reject,
55414 /* 157717 */ // Label 4338: @157717
55415 /* 157717 */ GIM_Try, /*On fail goto*//*Label 4343*/ GIMT_Encode4(157993),
55416 /* 157722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55417 /* 157726 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4344*/ GIMT_Encode4(157782), GIMT_Encode2(GIFBS_HasX87), // Rule ID 971 //
55418 /* 157733 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55419 /* 157737 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55420 /* 157741 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55421 /* 157748 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55422 /* 157752 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55423 /* 157754 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55424 /* 157761 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
55425 /* 157761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
55426 /* 157764 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55427 /* 157766 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55428 /* 157768 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55429 /* 157772 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55430 /* 157775 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55431 /* 157780 */ GIR_RootConstrainSelectedInstOperands,
55432 /* 157781 */ // GIR_Coverage, 971,
55433 /* 157781 */ GIR_EraseRootFromParent_Done,
55434 /* 157782 */ // Label 4344: @157782
55435 /* 157782 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4345*/ GIMT_Encode4(157838), GIMT_Encode2(GIFBS_HasX87), // Rule ID 973 //
55436 /* 157789 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55437 /* 157793 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55438 /* 157797 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55439 /* 157804 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55440 /* 157808 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55441 /* 157810 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55442 /* 157817 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
55443 /* 157817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
55444 /* 157820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55445 /* 157822 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55446 /* 157824 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55447 /* 157828 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55448 /* 157831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55449 /* 157836 */ GIR_RootConstrainSelectedInstOperands,
55450 /* 157837 */ // GIR_Coverage, 973,
55451 /* 157837 */ GIR_EraseRootFromParent_Done,
55452 /* 157838 */ // Label 4345: @157838
55453 /* 157838 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4346*/ GIMT_Encode4(157901), GIMT_Encode2(GIFBS_HasX87), // Rule ID 959 //
55454 /* 157845 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55455 /* 157849 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
55456 /* 157853 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55457 /* 157856 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55458 /* 157860 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55459 /* 157867 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55460 /* 157871 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55461 /* 157873 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55462 /* 157880 */ // (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)
55463 /* 157880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
55464 /* 157883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55465 /* 157885 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55466 /* 157887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55467 /* 157891 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55468 /* 157894 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55469 /* 157899 */ GIR_RootConstrainSelectedInstOperands,
55470 /* 157900 */ // GIR_Coverage, 959,
55471 /* 157900 */ GIR_EraseRootFromParent_Done,
55472 /* 157901 */ // Label 4346: @157901
55473 /* 157901 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4347*/ GIMT_Encode4(157964), GIMT_Encode2(GIFBS_HasX87), // Rule ID 961 //
55474 /* 157908 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55475 /* 157912 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
55476 /* 157916 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55477 /* 157919 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55478 /* 157923 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
55479 /* 157930 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55480 /* 157934 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55481 /* 157936 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55482 /* 157943 */ // (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)
55483 /* 157943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
55484 /* 157946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55485 /* 157948 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55486 /* 157950 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55487 /* 157954 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55488 /* 157957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55489 /* 157962 */ GIR_RootConstrainSelectedInstOperands,
55490 /* 157963 */ // GIR_Coverage, 961,
55491 /* 157963 */ GIR_EraseRootFromParent_Done,
55492 /* 157964 */ // Label 4347: @157964
55493 /* 157964 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4348*/ GIMT_Encode4(157992), GIMT_Encode2(GIFBS_HasX87), // Rule ID 879 //
55494 /* 157971 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55495 /* 157975 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (MUL_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
55496 /* 157975 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80),
55497 /* 157980 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
55498 /* 157986 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
55499 /* 157990 */ GIR_RootConstrainSelectedInstOperands,
55500 /* 157991 */ // GIR_Coverage, 879,
55501 /* 157991 */ GIR_Done,
55502 /* 157992 */ // Label 4348: @157992
55503 /* 157992 */ GIM_Reject,
55504 /* 157993 */ // Label 4343: @157993
55505 /* 157993 */ GIM_Reject,
55506 /* 157994 */ // Label 4337: @157994
55507 /* 157994 */ GIM_Reject,
55508 /* 157995 */ // Label 4260: @157995
55509 /* 157995 */ GIM_Try, /*On fail goto*//*Label 4349*/ GIMT_Encode4(158153),
55510 /* 158000 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
55511 /* 158003 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
55512 /* 158006 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55513 /* 158010 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4350*/ GIMT_Encode4(158067), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 24632 //
55514 /* 158017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55515 /* 158021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55516 /* 158025 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55517 /* 158028 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55518 /* 158032 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55519 /* 158036 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55520 /* 158040 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55521 /* 158042 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55522 /* 158049 */ // (fmul:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1) => (VMULPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55523 /* 158049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
55524 /* 158052 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55525 /* 158054 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55526 /* 158056 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55527 /* 158060 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55528 /* 158065 */ GIR_RootConstrainSelectedInstOperands,
55529 /* 158066 */ // GIR_Coverage, 24632,
55530 /* 158066 */ GIR_EraseRootFromParent_Done,
55531 /* 158067 */ // Label 4350: @158067
55532 /* 158067 */ GIM_Try, /*On fail goto*//*Label 4351*/ GIMT_Encode4(158152),
55533 /* 158072 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55534 /* 158076 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4352*/ GIMT_Encode4(158129), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6463 //
55535 /* 158083 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55536 /* 158087 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55537 /* 158091 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55538 /* 158094 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55539 /* 158098 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55540 /* 158102 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55541 /* 158104 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55542 /* 158111 */ // (fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55543 /* 158111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
55544 /* 158114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55545 /* 158116 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55546 /* 158118 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55547 /* 158122 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55548 /* 158127 */ GIR_RootConstrainSelectedInstOperands,
55549 /* 158128 */ // GIR_Coverage, 6463,
55550 /* 158128 */ GIR_EraseRootFromParent_Done,
55551 /* 158129 */ // Label 4352: @158129
55552 /* 158129 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4353*/ GIMT_Encode4(158151), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6459 //
55553 /* 158136 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55554 /* 158140 */ // (fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VMULPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
55555 /* 158140 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rr),
55556 /* 158145 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55557 /* 158149 */ GIR_RootConstrainSelectedInstOperands,
55558 /* 158150 */ // GIR_Coverage, 6459,
55559 /* 158150 */ GIR_Done,
55560 /* 158151 */ // Label 4353: @158151
55561 /* 158151 */ GIM_Reject,
55562 /* 158152 */ // Label 4351: @158152
55563 /* 158152 */ GIM_Reject,
55564 /* 158153 */ // Label 4349: @158153
55565 /* 158153 */ GIM_Reject,
55566 /* 158154 */ // Label 4261: @158154
55567 /* 158154 */ GIM_Try, /*On fail goto*//*Label 4354*/ GIMT_Encode4(158312),
55568 /* 158159 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
55569 /* 158162 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
55570 /* 158165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55571 /* 158169 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4355*/ GIMT_Encode4(158226), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 24640 //
55572 /* 158176 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55573 /* 158180 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55574 /* 158184 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55575 /* 158187 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55576 /* 158191 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55577 /* 158195 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55578 /* 158199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55579 /* 158201 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55580 /* 158208 */ // (fmul:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1) => (VMULPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55581 /* 158208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
55582 /* 158211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55583 /* 158213 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55584 /* 158215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55585 /* 158219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55586 /* 158224 */ GIR_RootConstrainSelectedInstOperands,
55587 /* 158225 */ // GIR_Coverage, 24640,
55588 /* 158225 */ GIR_EraseRootFromParent_Done,
55589 /* 158226 */ // Label 4355: @158226
55590 /* 158226 */ GIM_Try, /*On fail goto*//*Label 4356*/ GIMT_Encode4(158311),
55591 /* 158231 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55592 /* 158235 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4357*/ GIMT_Encode4(158288), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6475 //
55593 /* 158242 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55594 /* 158246 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55595 /* 158250 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55596 /* 158253 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55597 /* 158257 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55598 /* 158261 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55599 /* 158263 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55600 /* 158270 */ // (fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55601 /* 158270 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
55602 /* 158273 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55603 /* 158275 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55604 /* 158277 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55605 /* 158281 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55606 /* 158286 */ GIR_RootConstrainSelectedInstOperands,
55607 /* 158287 */ // GIR_Coverage, 6475,
55608 /* 158287 */ GIR_EraseRootFromParent_Done,
55609 /* 158288 */ // Label 4357: @158288
55610 /* 158288 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4358*/ GIMT_Encode4(158310), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6471 //
55611 /* 158295 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55612 /* 158299 */ // (fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VMULPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
55613 /* 158299 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rr),
55614 /* 158304 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55615 /* 158308 */ GIR_RootConstrainSelectedInstOperands,
55616 /* 158309 */ // GIR_Coverage, 6471,
55617 /* 158309 */ GIR_Done,
55618 /* 158310 */ // Label 4358: @158310
55619 /* 158310 */ GIM_Reject,
55620 /* 158311 */ // Label 4356: @158311
55621 /* 158311 */ GIM_Reject,
55622 /* 158312 */ // Label 4354: @158312
55623 /* 158312 */ GIM_Reject,
55624 /* 158313 */ // Label 4262: @158313
55625 /* 158313 */ GIM_Try, /*On fail goto*//*Label 4359*/ GIMT_Encode4(158471),
55626 /* 158318 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
55627 /* 158321 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
55628 /* 158324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55629 /* 158328 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4360*/ GIMT_Encode4(158385), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 24624 //
55630 /* 158335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55631 /* 158339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55632 /* 158343 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55633 /* 158346 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55634 /* 158350 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55635 /* 158354 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55636 /* 158358 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55637 /* 158360 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55638 /* 158367 */ // (fmul:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1) => (VMULPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55639 /* 158367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
55640 /* 158370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55641 /* 158372 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55642 /* 158374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55643 /* 158378 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55644 /* 158383 */ GIR_RootConstrainSelectedInstOperands,
55645 /* 158384 */ // GIR_Coverage, 24624,
55646 /* 158384 */ GIR_EraseRootFromParent_Done,
55647 /* 158385 */ // Label 4360: @158385
55648 /* 158385 */ GIM_Try, /*On fail goto*//*Label 4361*/ GIMT_Encode4(158470),
55649 /* 158390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55650 /* 158394 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4362*/ GIMT_Encode4(158447), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6451 //
55651 /* 158401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55652 /* 158405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55653 /* 158409 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55654 /* 158412 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55655 /* 158416 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55656 /* 158420 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55657 /* 158422 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55658 /* 158429 */ // (fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55659 /* 158429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
55660 /* 158432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55661 /* 158434 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55662 /* 158436 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55663 /* 158440 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55664 /* 158445 */ GIR_RootConstrainSelectedInstOperands,
55665 /* 158446 */ // GIR_Coverage, 6451,
55666 /* 158446 */ GIR_EraseRootFromParent_Done,
55667 /* 158447 */ // Label 4362: @158447
55668 /* 158447 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4363*/ GIMT_Encode4(158469), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6447 //
55669 /* 158454 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55670 /* 158458 */ // (fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VMULPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
55671 /* 158458 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZrr),
55672 /* 158463 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55673 /* 158467 */ GIR_RootConstrainSelectedInstOperands,
55674 /* 158468 */ // GIR_Coverage, 6447,
55675 /* 158468 */ GIR_Done,
55676 /* 158469 */ // Label 4363: @158469
55677 /* 158469 */ GIM_Reject,
55678 /* 158470 */ // Label 4361: @158470
55679 /* 158470 */ GIM_Reject,
55680 /* 158471 */ // Label 4359: @158471
55681 /* 158471 */ GIM_Reject,
55682 /* 158472 */ // Label 4263: @158472
55683 /* 158472 */ GIM_Try, /*On fail goto*//*Label 4364*/ GIMT_Encode4(158812),
55684 /* 158477 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
55685 /* 158480 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
55686 /* 158483 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4365*/ GIMT_Encode4(158544), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23630 //
55687 /* 158490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55688 /* 158494 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55689 /* 158498 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55690 /* 158502 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55691 /* 158505 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55692 /* 158509 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55693 /* 158513 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55694 /* 158517 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55695 /* 158519 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55696 /* 158526 */ // (fmul:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1) => (VMULPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55697 /* 158526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
55698 /* 158529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55699 /* 158531 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55700 /* 158533 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55701 /* 158537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55702 /* 158542 */ GIR_RootConstrainSelectedInstOperands,
55703 /* 158543 */ // GIR_Coverage, 23630,
55704 /* 158543 */ GIR_EraseRootFromParent_Done,
55705 /* 158544 */ // Label 4365: @158544
55706 /* 158544 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4366*/ GIMT_Encode4(158605), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24592 //
55707 /* 158551 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55708 /* 158555 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55709 /* 158559 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55710 /* 158563 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55711 /* 158566 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55712 /* 158570 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55713 /* 158574 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55714 /* 158578 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55715 /* 158580 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55716 /* 158587 */ // (fmul:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1) => (VMULPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55717 /* 158587 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
55718 /* 158590 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55719 /* 158592 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55720 /* 158594 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55721 /* 158598 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55722 /* 158603 */ GIR_RootConstrainSelectedInstOperands,
55723 /* 158604 */ // GIR_Coverage, 24592,
55724 /* 158604 */ GIR_EraseRootFromParent_Done,
55725 /* 158605 */ // Label 4366: @158605
55726 /* 158605 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4367*/ GIMT_Encode4(158666), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2158 //
55727 /* 158612 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55728 /* 158616 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55729 /* 158620 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55730 /* 158624 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55731 /* 158628 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55732 /* 158631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55733 /* 158635 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55734 /* 158639 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55735 /* 158641 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55736 /* 158648 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55737 /* 158648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
55738 /* 158651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55739 /* 158653 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55740 /* 158655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55741 /* 158659 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55742 /* 158664 */ GIR_RootConstrainSelectedInstOperands,
55743 /* 158665 */ // GIR_Coverage, 2158,
55744 /* 158665 */ GIR_EraseRootFromParent_Done,
55745 /* 158666 */ // Label 4367: @158666
55746 /* 158666 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4368*/ GIMT_Encode4(158727), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6403 //
55747 /* 158673 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55748 /* 158677 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55749 /* 158681 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55750 /* 158685 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55751 /* 158689 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55752 /* 158692 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55753 /* 158696 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55754 /* 158700 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55755 /* 158702 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55756 /* 158709 */ // (fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55757 /* 158709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
55758 /* 158712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55759 /* 158714 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55760 /* 158716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55761 /* 158720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55762 /* 158725 */ GIR_RootConstrainSelectedInstOperands,
55763 /* 158726 */ // GIR_Coverage, 6403,
55764 /* 158726 */ GIR_EraseRootFromParent_Done,
55765 /* 158727 */ // Label 4368: @158727
55766 /* 158727 */ GIM_Try, /*On fail goto*//*Label 4369*/ GIMT_Encode4(158781),
55767 /* 158732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55768 /* 158736 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55769 /* 158740 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55770 /* 158744 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4370*/ GIMT_Encode4(158762), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2156 //
55771 /* 158751 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
55772 /* 158751 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSrr),
55773 /* 158756 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55774 /* 158760 */ GIR_RootConstrainSelectedInstOperands,
55775 /* 158761 */ // GIR_Coverage, 2156,
55776 /* 158761 */ GIR_Done,
55777 /* 158762 */ // Label 4370: @158762
55778 /* 158762 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4371*/ GIMT_Encode4(158780), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2172 //
55779 /* 158769 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (MULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
55780 /* 158769 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPSrr),
55781 /* 158774 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55782 /* 158778 */ GIR_RootConstrainSelectedInstOperands,
55783 /* 158779 */ // GIR_Coverage, 2172,
55784 /* 158779 */ GIR_Done,
55785 /* 158780 */ // Label 4371: @158780
55786 /* 158780 */ GIM_Reject,
55787 /* 158781 */ // Label 4369: @158781
55788 /* 158781 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4372*/ GIMT_Encode4(158811), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6399 //
55789 /* 158788 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55790 /* 158792 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55791 /* 158796 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55792 /* 158800 */ // (fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VMULPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
55793 /* 158800 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rr),
55794 /* 158805 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55795 /* 158809 */ GIR_RootConstrainSelectedInstOperands,
55796 /* 158810 */ // GIR_Coverage, 6399,
55797 /* 158810 */ GIR_Done,
55798 /* 158811 */ // Label 4372: @158811
55799 /* 158811 */ GIM_Reject,
55800 /* 158812 */ // Label 4364: @158812
55801 /* 158812 */ GIM_Reject,
55802 /* 158813 */ // Label 4264: @158813
55803 /* 158813 */ GIM_Try, /*On fail goto*//*Label 4373*/ GIMT_Encode4(159129),
55804 /* 158818 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
55805 /* 158821 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
55806 /* 158824 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4374*/ GIMT_Encode4(158885), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23634 //
55807 /* 158831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55808 /* 158835 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55809 /* 158839 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55810 /* 158843 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55811 /* 158846 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55812 /* 158850 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55813 /* 158854 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55814 /* 158858 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55815 /* 158860 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55816 /* 158867 */ // (fmul:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1) => (VMULPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55817 /* 158867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
55818 /* 158870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55819 /* 158872 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55820 /* 158874 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55821 /* 158878 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55822 /* 158883 */ GIR_RootConstrainSelectedInstOperands,
55823 /* 158884 */ // GIR_Coverage, 23634,
55824 /* 158884 */ GIR_EraseRootFromParent_Done,
55825 /* 158885 */ // Label 4374: @158885
55826 /* 158885 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4375*/ GIMT_Encode4(158946), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24600 //
55827 /* 158892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55828 /* 158896 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55829 /* 158900 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55830 /* 158904 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55831 /* 158907 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55832 /* 158911 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55833 /* 158915 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55834 /* 158919 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55835 /* 158921 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55836 /* 158928 */ // (fmul:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1) => (VMULPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55837 /* 158928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
55838 /* 158931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55839 /* 158933 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55840 /* 158935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55841 /* 158939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55842 /* 158944 */ GIR_RootConstrainSelectedInstOperands,
55843 /* 158945 */ // GIR_Coverage, 24600,
55844 /* 158945 */ GIR_EraseRootFromParent_Done,
55845 /* 158946 */ // Label 4375: @158946
55846 /* 158946 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4376*/ GIMT_Encode4(159007), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2166 //
55847 /* 158953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55848 /* 158957 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55849 /* 158961 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55850 /* 158965 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55851 /* 158969 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55852 /* 158972 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55853 /* 158976 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55854 /* 158980 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55855 /* 158982 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55856 /* 158989 */ // (fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55857 /* 158989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
55858 /* 158992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55859 /* 158994 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55860 /* 158996 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55861 /* 159000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55862 /* 159005 */ GIR_RootConstrainSelectedInstOperands,
55863 /* 159006 */ // GIR_Coverage, 2166,
55864 /* 159006 */ GIR_EraseRootFromParent_Done,
55865 /* 159007 */ // Label 4376: @159007
55866 /* 159007 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4377*/ GIMT_Encode4(159068), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6415 //
55867 /* 159014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55868 /* 159018 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55869 /* 159022 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55870 /* 159026 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55871 /* 159030 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55872 /* 159033 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55873 /* 159037 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55874 /* 159041 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55875 /* 159043 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55876 /* 159050 */ // (fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55877 /* 159050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
55878 /* 159053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55879 /* 159055 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55880 /* 159057 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55881 /* 159061 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55882 /* 159066 */ GIR_RootConstrainSelectedInstOperands,
55883 /* 159067 */ // GIR_Coverage, 6415,
55884 /* 159067 */ GIR_EraseRootFromParent_Done,
55885 /* 159068 */ // Label 4377: @159068
55886 /* 159068 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4378*/ GIMT_Encode4(159098), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2164 //
55887 /* 159075 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55888 /* 159079 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55889 /* 159083 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55890 /* 159087 */ // (fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMULPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
55891 /* 159087 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSYrr),
55892 /* 159092 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55893 /* 159096 */ GIR_RootConstrainSelectedInstOperands,
55894 /* 159097 */ // GIR_Coverage, 2164,
55895 /* 159097 */ GIR_Done,
55896 /* 159098 */ // Label 4378: @159098
55897 /* 159098 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4379*/ GIMT_Encode4(159128), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6411 //
55898 /* 159105 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55899 /* 159109 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55900 /* 159113 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55901 /* 159117 */ // (fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VMULPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
55902 /* 159117 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rr),
55903 /* 159122 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55904 /* 159126 */ GIR_RootConstrainSelectedInstOperands,
55905 /* 159127 */ // GIR_Coverage, 6411,
55906 /* 159127 */ GIR_Done,
55907 /* 159128 */ // Label 4379: @159128
55908 /* 159128 */ GIM_Reject,
55909 /* 159129 */ // Label 4373: @159129
55910 /* 159129 */ GIM_Reject,
55911 /* 159130 */ // Label 4265: @159130
55912 /* 159130 */ GIM_Try, /*On fail goto*//*Label 4380*/ GIMT_Encode4(159288),
55913 /* 159135 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
55914 /* 159138 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
55915 /* 159141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55916 /* 159145 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4381*/ GIMT_Encode4(159202), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24576 //
55917 /* 159152 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55918 /* 159156 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55919 /* 159160 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55920 /* 159163 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55921 /* 159167 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55922 /* 159171 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55923 /* 159175 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55924 /* 159177 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55925 /* 159184 */ // (fmul:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1) => (VMULPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55926 /* 159184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
55927 /* 159187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55928 /* 159189 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55929 /* 159191 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55930 /* 159195 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55931 /* 159200 */ GIR_RootConstrainSelectedInstOperands,
55932 /* 159201 */ // GIR_Coverage, 24576,
55933 /* 159201 */ GIR_EraseRootFromParent_Done,
55934 /* 159202 */ // Label 4381: @159202
55935 /* 159202 */ GIM_Try, /*On fail goto*//*Label 4382*/ GIMT_Encode4(159287),
55936 /* 159207 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55937 /* 159211 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4383*/ GIMT_Encode4(159264), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6379 //
55938 /* 159218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55939 /* 159222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55940 /* 159226 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55941 /* 159229 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55942 /* 159233 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55943 /* 159237 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55944 /* 159239 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55945 /* 159246 */ // (fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55946 /* 159246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
55947 /* 159249 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55948 /* 159251 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55949 /* 159253 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55950 /* 159257 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55951 /* 159262 */ GIR_RootConstrainSelectedInstOperands,
55952 /* 159263 */ // GIR_Coverage, 6379,
55953 /* 159263 */ GIR_EraseRootFromParent_Done,
55954 /* 159264 */ // Label 4383: @159264
55955 /* 159264 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4384*/ GIMT_Encode4(159286), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6375 //
55956 /* 159271 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55957 /* 159275 */ // (fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VMULPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
55958 /* 159275 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZrr),
55959 /* 159280 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55960 /* 159284 */ GIR_RootConstrainSelectedInstOperands,
55961 /* 159285 */ // GIR_Coverage, 6375,
55962 /* 159285 */ GIR_Done,
55963 /* 159286 */ // Label 4384: @159286
55964 /* 159286 */ GIM_Reject,
55965 /* 159287 */ // Label 4382: @159287
55966 /* 159287 */ GIM_Reject,
55967 /* 159288 */ // Label 4380: @159288
55968 /* 159288 */ GIM_Reject,
55969 /* 159289 */ // Label 4266: @159289
55970 /* 159289 */ GIM_Try, /*On fail goto*//*Label 4385*/ GIMT_Encode4(159629),
55971 /* 159294 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
55972 /* 159297 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
55973 /* 159300 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4386*/ GIMT_Encode4(159361), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23632 //
55974 /* 159307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55975 /* 159311 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55976 /* 159315 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55977 /* 159319 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55978 /* 159322 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55979 /* 159326 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55980 /* 159330 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55981 /* 159334 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55982 /* 159336 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55983 /* 159343 */ // (fmul:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1) => (VMULPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55984 /* 159343 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
55985 /* 159346 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55986 /* 159348 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55987 /* 159350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55988 /* 159354 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55989 /* 159359 */ GIR_RootConstrainSelectedInstOperands,
55990 /* 159360 */ // GIR_Coverage, 23632,
55991 /* 159360 */ GIR_EraseRootFromParent_Done,
55992 /* 159361 */ // Label 4386: @159361
55993 /* 159361 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4387*/ GIMT_Encode4(159422), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24608 //
55994 /* 159368 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55995 /* 159372 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55996 /* 159376 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55997 /* 159380 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55998 /* 159383 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55999 /* 159387 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56000 /* 159391 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56001 /* 159395 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56002 /* 159397 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56003 /* 159404 */ // (fmul:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1) => (VMULPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56004 /* 159404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
56005 /* 159407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56006 /* 159409 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56007 /* 159411 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56008 /* 159415 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56009 /* 159420 */ GIR_RootConstrainSelectedInstOperands,
56010 /* 159421 */ // GIR_Coverage, 24608,
56011 /* 159421 */ GIR_EraseRootFromParent_Done,
56012 /* 159422 */ // Label 4387: @159422
56013 /* 159422 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4388*/ GIMT_Encode4(159483), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2162 //
56014 /* 159429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56015 /* 159433 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56016 /* 159437 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56017 /* 159441 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56018 /* 159445 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56019 /* 159448 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56020 /* 159452 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56021 /* 159456 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56022 /* 159458 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56023 /* 159465 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56024 /* 159465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
56025 /* 159468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56026 /* 159470 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56027 /* 159472 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56028 /* 159476 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56029 /* 159481 */ GIR_RootConstrainSelectedInstOperands,
56030 /* 159482 */ // GIR_Coverage, 2162,
56031 /* 159482 */ GIR_EraseRootFromParent_Done,
56032 /* 159483 */ // Label 4388: @159483
56033 /* 159483 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4389*/ GIMT_Encode4(159544), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6427 //
56034 /* 159490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56035 /* 159494 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56036 /* 159498 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56037 /* 159502 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56038 /* 159506 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56039 /* 159509 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56040 /* 159513 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56041 /* 159517 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56042 /* 159519 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56043 /* 159526 */ // (fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56044 /* 159526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
56045 /* 159529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56046 /* 159531 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56047 /* 159533 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56048 /* 159537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56049 /* 159542 */ GIR_RootConstrainSelectedInstOperands,
56050 /* 159543 */ // GIR_Coverage, 6427,
56051 /* 159543 */ GIR_EraseRootFromParent_Done,
56052 /* 159544 */ // Label 4389: @159544
56053 /* 159544 */ GIM_Try, /*On fail goto*//*Label 4390*/ GIMT_Encode4(159598),
56054 /* 159549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56055 /* 159553 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56056 /* 159557 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56057 /* 159561 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4391*/ GIMT_Encode4(159579), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2160 //
56058 /* 159568 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
56059 /* 159568 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDrr),
56060 /* 159573 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56061 /* 159577 */ GIR_RootConstrainSelectedInstOperands,
56062 /* 159578 */ // GIR_Coverage, 2160,
56063 /* 159578 */ GIR_Done,
56064 /* 159579 */ // Label 4391: @159579
56065 /* 159579 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4392*/ GIMT_Encode4(159597), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2176 //
56066 /* 159586 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (MULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
56067 /* 159586 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPDrr),
56068 /* 159591 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56069 /* 159595 */ GIR_RootConstrainSelectedInstOperands,
56070 /* 159596 */ // GIR_Coverage, 2176,
56071 /* 159596 */ GIR_Done,
56072 /* 159597 */ // Label 4392: @159597
56073 /* 159597 */ GIM_Reject,
56074 /* 159598 */ // Label 4390: @159598
56075 /* 159598 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4393*/ GIMT_Encode4(159628), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6423 //
56076 /* 159605 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56077 /* 159609 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56078 /* 159613 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56079 /* 159617 */ // (fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VMULPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
56080 /* 159617 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rr),
56081 /* 159622 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56082 /* 159626 */ GIR_RootConstrainSelectedInstOperands,
56083 /* 159627 */ // GIR_Coverage, 6423,
56084 /* 159627 */ GIR_Done,
56085 /* 159628 */ // Label 4393: @159628
56086 /* 159628 */ GIM_Reject,
56087 /* 159629 */ // Label 4385: @159629
56088 /* 159629 */ GIM_Reject,
56089 /* 159630 */ // Label 4267: @159630
56090 /* 159630 */ GIM_Try, /*On fail goto*//*Label 4394*/ GIMT_Encode4(159946),
56091 /* 159635 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
56092 /* 159638 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
56093 /* 159641 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4395*/ GIMT_Encode4(159702), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23636 //
56094 /* 159648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56095 /* 159652 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56096 /* 159656 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56097 /* 159660 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56098 /* 159663 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56099 /* 159667 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56100 /* 159671 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56101 /* 159675 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56102 /* 159677 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56103 /* 159684 */ // (fmul:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1) => (VMULPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56104 /* 159684 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
56105 /* 159687 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56106 /* 159689 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56107 /* 159691 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56108 /* 159695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56109 /* 159700 */ GIR_RootConstrainSelectedInstOperands,
56110 /* 159701 */ // GIR_Coverage, 23636,
56111 /* 159701 */ GIR_EraseRootFromParent_Done,
56112 /* 159702 */ // Label 4395: @159702
56113 /* 159702 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4396*/ GIMT_Encode4(159763), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24616 //
56114 /* 159709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56115 /* 159713 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56116 /* 159717 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56117 /* 159721 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56118 /* 159724 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56119 /* 159728 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56120 /* 159732 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56121 /* 159736 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56122 /* 159738 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56123 /* 159745 */ // (fmul:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1) => (VMULPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56124 /* 159745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
56125 /* 159748 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56126 /* 159750 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56127 /* 159752 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56128 /* 159756 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56129 /* 159761 */ GIR_RootConstrainSelectedInstOperands,
56130 /* 159762 */ // GIR_Coverage, 24616,
56131 /* 159762 */ GIR_EraseRootFromParent_Done,
56132 /* 159763 */ // Label 4396: @159763
56133 /* 159763 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4397*/ GIMT_Encode4(159824), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2170 //
56134 /* 159770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56135 /* 159774 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56136 /* 159778 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56137 /* 159782 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56138 /* 159786 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56139 /* 159789 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56140 /* 159793 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56141 /* 159797 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56142 /* 159799 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56143 /* 159806 */ // (fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56144 /* 159806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
56145 /* 159809 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56146 /* 159811 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56147 /* 159813 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56148 /* 159817 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56149 /* 159822 */ GIR_RootConstrainSelectedInstOperands,
56150 /* 159823 */ // GIR_Coverage, 2170,
56151 /* 159823 */ GIR_EraseRootFromParent_Done,
56152 /* 159824 */ // Label 4397: @159824
56153 /* 159824 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4398*/ GIMT_Encode4(159885), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6439 //
56154 /* 159831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56155 /* 159835 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56156 /* 159839 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56157 /* 159843 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56158 /* 159847 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56159 /* 159850 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56160 /* 159854 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56161 /* 159858 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56162 /* 159860 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56163 /* 159867 */ // (fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56164 /* 159867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
56165 /* 159870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56166 /* 159872 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56167 /* 159874 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56168 /* 159878 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56169 /* 159883 */ GIR_RootConstrainSelectedInstOperands,
56170 /* 159884 */ // GIR_Coverage, 6439,
56171 /* 159884 */ GIR_EraseRootFromParent_Done,
56172 /* 159885 */ // Label 4398: @159885
56173 /* 159885 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4399*/ GIMT_Encode4(159915), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2168 //
56174 /* 159892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56175 /* 159896 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56176 /* 159900 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56177 /* 159904 */ // (fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMULPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
56178 /* 159904 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDYrr),
56179 /* 159909 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56180 /* 159913 */ GIR_RootConstrainSelectedInstOperands,
56181 /* 159914 */ // GIR_Coverage, 2168,
56182 /* 159914 */ GIR_Done,
56183 /* 159915 */ // Label 4399: @159915
56184 /* 159915 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4400*/ GIMT_Encode4(159945), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6435 //
56185 /* 159922 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56186 /* 159926 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56187 /* 159930 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56188 /* 159934 */ // (fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VMULPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
56189 /* 159934 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rr),
56190 /* 159939 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56191 /* 159943 */ GIR_RootConstrainSelectedInstOperands,
56192 /* 159944 */ // GIR_Coverage, 6435,
56193 /* 159944 */ GIR_Done,
56194 /* 159945 */ // Label 4400: @159945
56195 /* 159945 */ GIM_Reject,
56196 /* 159946 */ // Label 4394: @159946
56197 /* 159946 */ GIM_Reject,
56198 /* 159947 */ // Label 4268: @159947
56199 /* 159947 */ GIM_Try, /*On fail goto*//*Label 4401*/ GIMT_Encode4(160105),
56200 /* 159952 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
56201 /* 159955 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
56202 /* 159958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56203 /* 159962 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4402*/ GIMT_Encode4(160019), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24584 //
56204 /* 159969 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56205 /* 159973 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56206 /* 159977 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56207 /* 159980 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56208 /* 159984 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56209 /* 159988 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56210 /* 159992 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56211 /* 159994 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56212 /* 160001 */ // (fmul:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1) => (VMULPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56213 /* 160001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
56214 /* 160004 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56215 /* 160006 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56216 /* 160008 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56217 /* 160012 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56218 /* 160017 */ GIR_RootConstrainSelectedInstOperands,
56219 /* 160018 */ // GIR_Coverage, 24584,
56220 /* 160018 */ GIR_EraseRootFromParent_Done,
56221 /* 160019 */ // Label 4402: @160019
56222 /* 160019 */ GIM_Try, /*On fail goto*//*Label 4403*/ GIMT_Encode4(160104),
56223 /* 160024 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56224 /* 160028 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4404*/ GIMT_Encode4(160081), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6391 //
56225 /* 160035 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56226 /* 160039 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56227 /* 160043 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56228 /* 160046 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56229 /* 160050 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56230 /* 160054 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56231 /* 160056 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56232 /* 160063 */ // (fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56233 /* 160063 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
56234 /* 160066 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56235 /* 160068 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56236 /* 160070 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56237 /* 160074 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56238 /* 160079 */ GIR_RootConstrainSelectedInstOperands,
56239 /* 160080 */ // GIR_Coverage, 6391,
56240 /* 160080 */ GIR_EraseRootFromParent_Done,
56241 /* 160081 */ // Label 4404: @160081
56242 /* 160081 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4405*/ GIMT_Encode4(160103), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6387 //
56243 /* 160088 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56244 /* 160092 */ // (fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VMULPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
56245 /* 160092 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZrr),
56246 /* 160097 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56247 /* 160101 */ GIR_RootConstrainSelectedInstOperands,
56248 /* 160102 */ // GIR_Coverage, 6387,
56249 /* 160102 */ GIR_Done,
56250 /* 160103 */ // Label 4405: @160103
56251 /* 160103 */ GIM_Reject,
56252 /* 160104 */ // Label 4403: @160104
56253 /* 160104 */ GIM_Reject,
56254 /* 160105 */ // Label 4401: @160105
56255 /* 160105 */ GIM_Reject,
56256 /* 160106 */ // Label 4269: @160106
56257 /* 160106 */ GIM_Reject,
56258 /* 160107 */ // Label 47: @160107
56259 /* 160107 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4418*/ GIMT_Encode4(165886),
56260 /* 160118 */ /*GILLT_s16*//*Label 4406*/ GIMT_Encode4(160210),
56261 /* 160122 */ /*GILLT_s32*//*Label 4407*/ GIMT_Encode4(160451),
56262 /* 160126 */ /*GILLT_s64*//*Label 4408*/ GIMT_Encode4(161156), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
56263 /* 160174 */ /*GILLT_v8s16*//*Label 4409*/ GIMT_Encode4(161861),
56264 /* 160178 */ /*GILLT_v16s16*//*Label 4410*/ GIMT_Encode4(162102),
56265 /* 160182 */ /*GILLT_v32s16*//*Label 4411*/ GIMT_Encode4(162343),
56266 /* 160186 */ /*GILLT_v4s32*//*Label 4412*/ GIMT_Encode4(162584),
56267 /* 160190 */ /*GILLT_v8s32*//*Label 4413*/ GIMT_Encode4(163289),
56268 /* 160194 */ /*GILLT_v16s32*//*Label 4414*/ GIMT_Encode4(163994),
56269 /* 160198 */ /*GILLT_v2s64*//*Label 4415*/ GIMT_Encode4(164235),
56270 /* 160202 */ /*GILLT_v4s64*//*Label 4416*/ GIMT_Encode4(164940),
56271 /* 160206 */ /*GILLT_v8s64*//*Label 4417*/ GIMT_Encode4(165645),
56272 /* 160210 */ // Label 4406: @160210
56273 /* 160210 */ GIM_Try, /*On fail goto*//*Label 4419*/ GIMT_Encode4(160450),
56274 /* 160215 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
56275 /* 160218 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
56276 /* 160221 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
56277 /* 160224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56278 /* 160228 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4420*/ GIMT_Encode4(160291), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10159 //
56279 /* 160235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56280 /* 160239 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56281 /* 160243 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56282 /* 160246 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56283 /* 160250 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56284 /* 160254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56285 /* 160258 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56286 /* 160262 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56287 /* 160264 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56288 /* 160271 */ // (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)
56289 /* 160271 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SHZm),
56290 /* 160274 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56291 /* 160276 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56292 /* 160278 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
56293 /* 160280 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56294 /* 160284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56295 /* 160289 */ GIR_RootConstrainSelectedInstOperands,
56296 /* 160290 */ // GIR_Coverage, 10159,
56297 /* 160290 */ GIR_EraseRootFromParent_Done,
56298 /* 160291 */ // Label 4420: @160291
56299 /* 160291 */ GIM_Try, /*On fail goto*//*Label 4421*/ GIMT_Encode4(160449),
56300 /* 160296 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56301 /* 160300 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4422*/ GIMT_Encode4(160359), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10157 //
56302 /* 160307 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56303 /* 160311 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56304 /* 160315 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56305 /* 160318 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56306 /* 160322 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56307 /* 160326 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56308 /* 160330 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56309 /* 160332 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56310 /* 160339 */ // (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)
56311 /* 160339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SHZm),
56312 /* 160342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56313 /* 160344 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
56314 /* 160346 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56315 /* 160348 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56316 /* 160352 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56317 /* 160357 */ GIR_RootConstrainSelectedInstOperands,
56318 /* 160358 */ // GIR_Coverage, 10157,
56319 /* 160358 */ GIR_EraseRootFromParent_Done,
56320 /* 160359 */ // Label 4422: @160359
56321 /* 160359 */ GIM_Try, /*On fail goto*//*Label 4423*/ GIMT_Encode4(160448),
56322 /* 160364 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56323 /* 160368 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4424*/ GIMT_Encode4(160423), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10154 //
56324 /* 160375 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
56325 /* 160379 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56326 /* 160383 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56327 /* 160386 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56328 /* 160390 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56329 /* 160394 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56330 /* 160396 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56331 /* 160403 */ // (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)
56332 /* 160403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZm),
56333 /* 160406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56334 /* 160408 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56335 /* 160410 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56336 /* 160412 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56337 /* 160416 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56338 /* 160421 */ GIR_RootConstrainSelectedInstOperands,
56339 /* 160422 */ // GIR_Coverage, 10154,
56340 /* 160422 */ GIR_EraseRootFromParent_Done,
56341 /* 160423 */ // Label 4424: @160423
56342 /* 160423 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4425*/ GIMT_Encode4(160447), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10152 //
56343 /* 160430 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56344 /* 160434 */ // (fma:{ *:[f16] } FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src3) => (VFMADD213SHZr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src3)
56345 /* 160434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZr),
56346 /* 160437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56347 /* 160439 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56348 /* 160441 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56349 /* 160443 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56350 /* 160445 */ GIR_RootConstrainSelectedInstOperands,
56351 /* 160446 */ // GIR_Coverage, 10152,
56352 /* 160446 */ GIR_EraseRootFromParent_Done,
56353 /* 160447 */ // Label 4425: @160447
56354 /* 160447 */ GIM_Reject,
56355 /* 160448 */ // Label 4423: @160448
56356 /* 160448 */ GIM_Reject,
56357 /* 160449 */ // Label 4421: @160449
56358 /* 160449 */ GIM_Reject,
56359 /* 160450 */ // Label 4419: @160450
56360 /* 160450 */ GIM_Reject,
56361 /* 160451 */ // Label 4407: @160451
56362 /* 160451 */ GIM_Try, /*On fail goto*//*Label 4426*/ GIMT_Encode4(161155),
56363 /* 160456 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
56364 /* 160459 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
56365 /* 160462 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
56366 /* 160465 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4427*/ GIMT_Encode4(160532), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1280 //
56367 /* 160472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56368 /* 160476 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56369 /* 160480 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56370 /* 160484 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56371 /* 160487 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56372 /* 160491 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56373 /* 160495 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56374 /* 160499 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56375 /* 160503 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56376 /* 160505 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56377 /* 160512 */ // (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)
56378 /* 160512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSm),
56379 /* 160515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56380 /* 160517 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56381 /* 160519 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
56382 /* 160521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56383 /* 160525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56384 /* 160530 */ GIR_RootConstrainSelectedInstOperands,
56385 /* 160531 */ // GIR_Coverage, 1280,
56386 /* 160531 */ GIR_EraseRootFromParent_Done,
56387 /* 160532 */ // Label 4427: @160532
56388 /* 160532 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4428*/ GIMT_Encode4(160599), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10141 //
56389 /* 160539 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56390 /* 160543 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56391 /* 160547 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56392 /* 160551 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56393 /* 160554 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56394 /* 160558 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56395 /* 160562 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56396 /* 160566 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56397 /* 160570 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56398 /* 160572 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56399 /* 160579 */ // (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)
56400 /* 160579 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSZm),
56401 /* 160582 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56402 /* 160584 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56403 /* 160586 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
56404 /* 160588 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56405 /* 160592 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56406 /* 160597 */ GIR_RootConstrainSelectedInstOperands,
56407 /* 160598 */ // GIR_Coverage, 10141,
56408 /* 160598 */ GIR_EraseRootFromParent_Done,
56409 /* 160599 */ // Label 4428: @160599
56410 /* 160599 */ GIM_Try, /*On fail goto*//*Label 4429*/ GIMT_Encode4(160796),
56411 /* 160604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56412 /* 160608 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4430*/ GIMT_Encode4(160671), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 23521 //
56413 /* 160615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56414 /* 160619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56415 /* 160623 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56416 /* 160626 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56417 /* 160630 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56418 /* 160634 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56419 /* 160638 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56420 /* 160642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56421 /* 160644 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56422 /* 160651 */ // (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)
56423 /* 160651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
56424 /* 160654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56425 /* 160656 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56426 /* 160658 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56427 /* 160662 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56428 /* 160664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56429 /* 160669 */ GIR_RootConstrainSelectedInstOperands,
56430 /* 160670 */ // GIR_Coverage, 23521,
56431 /* 160670 */ GIR_EraseRootFromParent_Done,
56432 /* 160671 */ // Label 4430: @160671
56433 /* 160671 */ GIM_Try, /*On fail goto*//*Label 4431*/ GIMT_Encode4(160795),
56434 /* 160676 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56435 /* 160680 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56436 /* 160684 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4432*/ GIMT_Encode4(160739), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1278 //
56437 /* 160691 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56438 /* 160695 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56439 /* 160699 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56440 /* 160702 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56441 /* 160706 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56442 /* 160710 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56443 /* 160712 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56444 /* 160719 */ // (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)
56445 /* 160719 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSm),
56446 /* 160722 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56447 /* 160724 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
56448 /* 160726 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56449 /* 160728 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56450 /* 160732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56451 /* 160737 */ GIR_RootConstrainSelectedInstOperands,
56452 /* 160738 */ // GIR_Coverage, 1278,
56453 /* 160738 */ GIR_EraseRootFromParent_Done,
56454 /* 160739 */ // Label 4432: @160739
56455 /* 160739 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4433*/ GIMT_Encode4(160794), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1342 //
56456 /* 160746 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56457 /* 160750 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56458 /* 160754 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56459 /* 160757 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56460 /* 160761 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56461 /* 160765 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56462 /* 160767 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56463 /* 160774 */ // (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)
56464 /* 160774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
56465 /* 160777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56466 /* 160779 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56467 /* 160781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56468 /* 160785 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56469 /* 160787 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56470 /* 160792 */ GIR_RootConstrainSelectedInstOperands,
56471 /* 160793 */ // GIR_Coverage, 1342,
56472 /* 160793 */ GIR_EraseRootFromParent_Done,
56473 /* 160794 */ // Label 4433: @160794
56474 /* 160794 */ GIM_Reject,
56475 /* 160795 */ // Label 4431: @160795
56476 /* 160795 */ GIM_Reject,
56477 /* 160796 */ // Label 4429: @160796
56478 /* 160796 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4434*/ GIMT_Encode4(160863), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10139 //
56479 /* 160803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56480 /* 160807 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56481 /* 160811 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56482 /* 160815 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56483 /* 160819 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56484 /* 160822 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56485 /* 160826 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56486 /* 160830 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56487 /* 160834 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56488 /* 160836 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56489 /* 160843 */ // (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)
56490 /* 160843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSZm),
56491 /* 160846 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56492 /* 160848 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
56493 /* 160850 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56494 /* 160852 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56495 /* 160856 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56496 /* 160861 */ GIR_RootConstrainSelectedInstOperands,
56497 /* 160862 */ // GIR_Coverage, 10139,
56498 /* 160862 */ GIR_EraseRootFromParent_Done,
56499 /* 160863 */ // Label 4434: @160863
56500 /* 160863 */ GIM_Try, /*On fail goto*//*Label 4435*/ GIMT_Encode4(160991),
56501 /* 160868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56502 /* 160872 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56503 /* 160876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56504 /* 160880 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4436*/ GIMT_Encode4(160935), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1276 //
56505 /* 160887 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
56506 /* 160891 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56507 /* 160895 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56508 /* 160898 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56509 /* 160902 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56510 /* 160906 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56511 /* 160908 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56512 /* 160915 */ // (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)
56513 /* 160915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSm),
56514 /* 160918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56515 /* 160920 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56516 /* 160922 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56517 /* 160924 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56518 /* 160928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56519 /* 160933 */ GIR_RootConstrainSelectedInstOperands,
56520 /* 160934 */ // GIR_Coverage, 1276,
56521 /* 160934 */ GIR_EraseRootFromParent_Done,
56522 /* 160935 */ // Label 4436: @160935
56523 /* 160935 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4437*/ GIMT_Encode4(160990), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1340 //
56524 /* 160942 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
56525 /* 160946 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56526 /* 160950 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56527 /* 160953 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56528 /* 160957 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56529 /* 160961 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56530 /* 160963 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56531 /* 160970 */ // (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)
56532 /* 160970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rm),
56533 /* 160973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56534 /* 160975 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56535 /* 160977 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
56536 /* 160979 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56537 /* 160983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56538 /* 160988 */ GIR_RootConstrainSelectedInstOperands,
56539 /* 160989 */ // GIR_Coverage, 1340,
56540 /* 160989 */ GIR_EraseRootFromParent_Done,
56541 /* 160990 */ // Label 4437: @160990
56542 /* 160990 */ GIM_Reject,
56543 /* 160991 */ // Label 4435: @160991
56544 /* 160991 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4438*/ GIMT_Encode4(161058), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10136 //
56545 /* 160998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56546 /* 161002 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56547 /* 161006 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56548 /* 161010 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
56549 /* 161014 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56550 /* 161018 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56551 /* 161021 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56552 /* 161025 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56553 /* 161029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56554 /* 161031 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56555 /* 161038 */ // (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)
56556 /* 161038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZm),
56557 /* 161041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56558 /* 161043 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56559 /* 161045 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56560 /* 161047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56561 /* 161051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56562 /* 161056 */ GIR_RootConstrainSelectedInstOperands,
56563 /* 161057 */ // GIR_Coverage, 10136,
56564 /* 161057 */ GIR_EraseRootFromParent_Done,
56565 /* 161058 */ // Label 4438: @161058
56566 /* 161058 */ GIM_Try, /*On fail goto*//*Label 4439*/ GIMT_Encode4(161118),
56567 /* 161063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56568 /* 161067 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56569 /* 161071 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56570 /* 161075 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56571 /* 161079 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4440*/ GIMT_Encode4(161099), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1274 //
56572 /* 161086 */ // (fma:{ *:[f32] } FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src3) => (VFMADD213SSr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
56573 /* 161086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSr),
56574 /* 161089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56575 /* 161091 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56576 /* 161093 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56577 /* 161095 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56578 /* 161097 */ GIR_RootConstrainSelectedInstOperands,
56579 /* 161098 */ // GIR_Coverage, 1274,
56580 /* 161098 */ GIR_EraseRootFromParent_Done,
56581 /* 161099 */ // Label 4440: @161099
56582 /* 161099 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4441*/ GIMT_Encode4(161117), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1338 //
56583 /* 161106 */ // (fma:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3) => (VFMADDSS4rr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
56584 /* 161106 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rr),
56585 /* 161111 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56586 /* 161115 */ GIR_RootConstrainSelectedInstOperands,
56587 /* 161116 */ // GIR_Coverage, 1338,
56588 /* 161116 */ GIR_Done,
56589 /* 161117 */ // Label 4441: @161117
56590 /* 161117 */ GIM_Reject,
56591 /* 161118 */ // Label 4439: @161118
56592 /* 161118 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4442*/ GIMT_Encode4(161154), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10134 //
56593 /* 161125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56594 /* 161129 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56595 /* 161133 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56596 /* 161137 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56597 /* 161141 */ // (fma:{ *:[f32] } FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src3) => (VFMADD213SSZr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src3)
56598 /* 161141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZr),
56599 /* 161144 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56600 /* 161146 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56601 /* 161148 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56602 /* 161150 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56603 /* 161152 */ GIR_RootConstrainSelectedInstOperands,
56604 /* 161153 */ // GIR_Coverage, 10134,
56605 /* 161153 */ GIR_EraseRootFromParent_Done,
56606 /* 161154 */ // Label 4442: @161154
56607 /* 161154 */ GIM_Reject,
56608 /* 161155 */ // Label 4426: @161155
56609 /* 161155 */ GIM_Reject,
56610 /* 161156 */ // Label 4408: @161156
56611 /* 161156 */ GIM_Try, /*On fail goto*//*Label 4443*/ GIMT_Encode4(161860),
56612 /* 161161 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
56613 /* 161164 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
56614 /* 161167 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
56615 /* 161170 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4444*/ GIMT_Encode4(161237), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1288 //
56616 /* 161177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56617 /* 161181 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56618 /* 161185 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56619 /* 161189 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56620 /* 161192 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56621 /* 161196 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56622 /* 161200 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56623 /* 161204 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56624 /* 161208 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56625 /* 161210 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56626 /* 161217 */ // (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)
56627 /* 161217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDm),
56628 /* 161220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56629 /* 161222 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56630 /* 161224 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
56631 /* 161226 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56632 /* 161230 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56633 /* 161235 */ GIR_RootConstrainSelectedInstOperands,
56634 /* 161236 */ // GIR_Coverage, 1288,
56635 /* 161236 */ GIR_EraseRootFromParent_Done,
56636 /* 161237 */ // Label 4444: @161237
56637 /* 161237 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4445*/ GIMT_Encode4(161304), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10150 //
56638 /* 161244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56639 /* 161248 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56640 /* 161252 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56641 /* 161256 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56642 /* 161259 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56643 /* 161263 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56644 /* 161267 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56645 /* 161271 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56646 /* 161275 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56647 /* 161277 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56648 /* 161284 */ // (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)
56649 /* 161284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDZm),
56650 /* 161287 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56651 /* 161289 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56652 /* 161291 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
56653 /* 161293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56654 /* 161297 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56655 /* 161302 */ GIR_RootConstrainSelectedInstOperands,
56656 /* 161303 */ // GIR_Coverage, 10150,
56657 /* 161303 */ GIR_EraseRootFromParent_Done,
56658 /* 161304 */ // Label 4445: @161304
56659 /* 161304 */ GIM_Try, /*On fail goto*//*Label 4446*/ GIMT_Encode4(161501),
56660 /* 161309 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56661 /* 161313 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4447*/ GIMT_Encode4(161376), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 23549 //
56662 /* 161320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56663 /* 161324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56664 /* 161328 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56665 /* 161331 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56666 /* 161335 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56667 /* 161339 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56668 /* 161343 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56669 /* 161347 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56670 /* 161349 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56671 /* 161356 */ // (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)
56672 /* 161356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
56673 /* 161359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56674 /* 161361 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56675 /* 161363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56676 /* 161367 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56677 /* 161369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56678 /* 161374 */ GIR_RootConstrainSelectedInstOperands,
56679 /* 161375 */ // GIR_Coverage, 23549,
56680 /* 161375 */ GIR_EraseRootFromParent_Done,
56681 /* 161376 */ // Label 4447: @161376
56682 /* 161376 */ GIM_Try, /*On fail goto*//*Label 4448*/ GIMT_Encode4(161500),
56683 /* 161381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56684 /* 161385 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56685 /* 161389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4449*/ GIMT_Encode4(161444), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1286 //
56686 /* 161396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56687 /* 161400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56688 /* 161404 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56689 /* 161407 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56690 /* 161411 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56691 /* 161415 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56692 /* 161417 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56693 /* 161424 */ // (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)
56694 /* 161424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDm),
56695 /* 161427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56696 /* 161429 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
56697 /* 161431 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56698 /* 161433 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56699 /* 161437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56700 /* 161442 */ GIR_RootConstrainSelectedInstOperands,
56701 /* 161443 */ // GIR_Coverage, 1286,
56702 /* 161443 */ GIR_EraseRootFromParent_Done,
56703 /* 161444 */ // Label 4449: @161444
56704 /* 161444 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4450*/ GIMT_Encode4(161499), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1426 //
56705 /* 161451 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56706 /* 161455 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56707 /* 161459 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56708 /* 161462 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56709 /* 161466 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56710 /* 161470 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56711 /* 161472 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56712 /* 161479 */ // (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)
56713 /* 161479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
56714 /* 161482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56715 /* 161484 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56716 /* 161486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56717 /* 161490 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56718 /* 161492 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56719 /* 161497 */ GIR_RootConstrainSelectedInstOperands,
56720 /* 161498 */ // GIR_Coverage, 1426,
56721 /* 161498 */ GIR_EraseRootFromParent_Done,
56722 /* 161499 */ // Label 4450: @161499
56723 /* 161499 */ GIM_Reject,
56724 /* 161500 */ // Label 4448: @161500
56725 /* 161500 */ GIM_Reject,
56726 /* 161501 */ // Label 4446: @161501
56727 /* 161501 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4451*/ GIMT_Encode4(161568), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10148 //
56728 /* 161508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56729 /* 161512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56730 /* 161516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56731 /* 161520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56732 /* 161524 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56733 /* 161527 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56734 /* 161531 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56735 /* 161535 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56736 /* 161539 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56737 /* 161541 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56738 /* 161548 */ // (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)
56739 /* 161548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDZm),
56740 /* 161551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56741 /* 161553 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
56742 /* 161555 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56743 /* 161557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56744 /* 161561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56745 /* 161566 */ GIR_RootConstrainSelectedInstOperands,
56746 /* 161567 */ // GIR_Coverage, 10148,
56747 /* 161567 */ GIR_EraseRootFromParent_Done,
56748 /* 161568 */ // Label 4451: @161568
56749 /* 161568 */ GIM_Try, /*On fail goto*//*Label 4452*/ GIMT_Encode4(161696),
56750 /* 161573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56751 /* 161577 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56752 /* 161581 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56753 /* 161585 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4453*/ GIMT_Encode4(161640), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1284 //
56754 /* 161592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
56755 /* 161596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56756 /* 161600 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56757 /* 161603 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56758 /* 161607 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56759 /* 161611 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56760 /* 161613 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56761 /* 161620 */ // (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)
56762 /* 161620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDm),
56763 /* 161623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56764 /* 161625 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56765 /* 161627 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56766 /* 161629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56767 /* 161633 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56768 /* 161638 */ GIR_RootConstrainSelectedInstOperands,
56769 /* 161639 */ // GIR_Coverage, 1284,
56770 /* 161639 */ GIR_EraseRootFromParent_Done,
56771 /* 161640 */ // Label 4453: @161640
56772 /* 161640 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4454*/ GIMT_Encode4(161695), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1424 //
56773 /* 161647 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
56774 /* 161651 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56775 /* 161655 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56776 /* 161658 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56777 /* 161662 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56778 /* 161666 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56779 /* 161668 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56780 /* 161675 */ // (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)
56781 /* 161675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rm),
56782 /* 161678 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56783 /* 161680 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56784 /* 161682 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
56785 /* 161684 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56786 /* 161688 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56787 /* 161693 */ GIR_RootConstrainSelectedInstOperands,
56788 /* 161694 */ // GIR_Coverage, 1424,
56789 /* 161694 */ GIR_EraseRootFromParent_Done,
56790 /* 161695 */ // Label 4454: @161695
56791 /* 161695 */ GIM_Reject,
56792 /* 161696 */ // Label 4452: @161696
56793 /* 161696 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4455*/ GIMT_Encode4(161763), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10145 //
56794 /* 161703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56795 /* 161707 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56796 /* 161711 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56797 /* 161715 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
56798 /* 161719 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56799 /* 161723 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56800 /* 161726 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56801 /* 161730 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56802 /* 161734 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56803 /* 161736 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56804 /* 161743 */ // (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)
56805 /* 161743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZm),
56806 /* 161746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56807 /* 161748 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56808 /* 161750 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56809 /* 161752 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56810 /* 161756 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56811 /* 161761 */ GIR_RootConstrainSelectedInstOperands,
56812 /* 161762 */ // GIR_Coverage, 10145,
56813 /* 161762 */ GIR_EraseRootFromParent_Done,
56814 /* 161763 */ // Label 4455: @161763
56815 /* 161763 */ GIM_Try, /*On fail goto*//*Label 4456*/ GIMT_Encode4(161823),
56816 /* 161768 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56817 /* 161772 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56818 /* 161776 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56819 /* 161780 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56820 /* 161784 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4457*/ GIMT_Encode4(161804), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1282 //
56821 /* 161791 */ // (fma:{ *:[f64] } FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src3) => (VFMADD213SDr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
56822 /* 161791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDr),
56823 /* 161794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56824 /* 161796 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56825 /* 161798 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56826 /* 161800 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56827 /* 161802 */ GIR_RootConstrainSelectedInstOperands,
56828 /* 161803 */ // GIR_Coverage, 1282,
56829 /* 161803 */ GIR_EraseRootFromParent_Done,
56830 /* 161804 */ // Label 4457: @161804
56831 /* 161804 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4458*/ GIMT_Encode4(161822), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1422 //
56832 /* 161811 */ // (fma:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3) => (VFMADDSD4rr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
56833 /* 161811 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rr),
56834 /* 161816 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56835 /* 161820 */ GIR_RootConstrainSelectedInstOperands,
56836 /* 161821 */ // GIR_Coverage, 1422,
56837 /* 161821 */ GIR_Done,
56838 /* 161822 */ // Label 4458: @161822
56839 /* 161822 */ GIM_Reject,
56840 /* 161823 */ // Label 4456: @161823
56841 /* 161823 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4459*/ GIMT_Encode4(161859), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10143 //
56842 /* 161830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56843 /* 161834 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56844 /* 161838 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56845 /* 161842 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56846 /* 161846 */ // (fma:{ *:[f64] } FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src3) => (VFMADD213SDZr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src3)
56847 /* 161846 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZr),
56848 /* 161849 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56849 /* 161851 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56850 /* 161853 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56851 /* 161855 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56852 /* 161857 */ GIR_RootConstrainSelectedInstOperands,
56853 /* 161858 */ // GIR_Coverage, 10143,
56854 /* 161858 */ GIR_EraseRootFromParent_Done,
56855 /* 161859 */ // Label 4459: @161859
56856 /* 161859 */ GIM_Reject,
56857 /* 161860 */ // Label 4443: @161860
56858 /* 161860 */ GIM_Reject,
56859 /* 161861 */ // Label 4409: @161861
56860 /* 161861 */ GIM_Try, /*On fail goto*//*Label 4460*/ GIMT_Encode4(162101),
56861 /* 161866 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
56862 /* 161869 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
56863 /* 161872 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
56864 /* 161875 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56865 /* 161879 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4461*/ GIMT_Encode4(161942), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 9618 //
56866 /* 161886 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56867 /* 161890 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56868 /* 161894 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56869 /* 161897 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56870 /* 161901 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56871 /* 161905 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56872 /* 161909 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56873 /* 161913 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56874 /* 161915 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56875 /* 161922 */ // (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)
56876 /* 161922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ128m),
56877 /* 161925 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56878 /* 161927 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56879 /* 161929 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
56880 /* 161931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56881 /* 161935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56882 /* 161940 */ GIR_RootConstrainSelectedInstOperands,
56883 /* 161941 */ // GIR_Coverage, 9618,
56884 /* 161941 */ GIR_EraseRootFromParent_Done,
56885 /* 161942 */ // Label 4461: @161942
56886 /* 161942 */ GIM_Try, /*On fail goto*//*Label 4462*/ GIMT_Encode4(162100),
56887 /* 161947 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56888 /* 161951 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4463*/ GIMT_Encode4(162010), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 9078 //
56889 /* 161958 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56890 /* 161962 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56891 /* 161966 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56892 /* 161969 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56893 /* 161973 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56894 /* 161977 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56895 /* 161981 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56896 /* 161983 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56897 /* 161990 */ // (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)
56898 /* 161990 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ128m),
56899 /* 161993 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56900 /* 161995 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
56901 /* 161997 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56902 /* 161999 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56903 /* 162003 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56904 /* 162008 */ GIR_RootConstrainSelectedInstOperands,
56905 /* 162009 */ // GIR_Coverage, 9078,
56906 /* 162009 */ GIR_EraseRootFromParent_Done,
56907 /* 162010 */ // Label 4463: @162010
56908 /* 162010 */ GIM_Try, /*On fail goto*//*Label 4464*/ GIMT_Encode4(162099),
56909 /* 162015 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56910 /* 162019 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4465*/ GIMT_Encode4(162074), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 8437 //
56911 /* 162026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
56912 /* 162030 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56913 /* 162034 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56914 /* 162037 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56915 /* 162041 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56916 /* 162045 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56917 /* 162047 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56918 /* 162054 */ // (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)
56919 /* 162054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128m),
56920 /* 162057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56921 /* 162059 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56922 /* 162061 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56923 /* 162063 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56924 /* 162067 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56925 /* 162072 */ GIR_RootConstrainSelectedInstOperands,
56926 /* 162073 */ // GIR_Coverage, 8437,
56927 /* 162073 */ GIR_EraseRootFromParent_Done,
56928 /* 162074 */ // Label 4465: @162074
56929 /* 162074 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4466*/ GIMT_Encode4(162098), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 8433 //
56930 /* 162081 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56931 /* 162085 */ // (fma:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src3) => (VFMADD213PHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src3)
56932 /* 162085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128r),
56933 /* 162088 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56934 /* 162090 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56935 /* 162092 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56936 /* 162094 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
56937 /* 162096 */ GIR_RootConstrainSelectedInstOperands,
56938 /* 162097 */ // GIR_Coverage, 8433,
56939 /* 162097 */ GIR_EraseRootFromParent_Done,
56940 /* 162098 */ // Label 4466: @162098
56941 /* 162098 */ GIM_Reject,
56942 /* 162099 */ // Label 4464: @162099
56943 /* 162099 */ GIM_Reject,
56944 /* 162100 */ // Label 4462: @162100
56945 /* 162100 */ GIM_Reject,
56946 /* 162101 */ // Label 4460: @162101
56947 /* 162101 */ GIM_Reject,
56948 /* 162102 */ // Label 4410: @162102
56949 /* 162102 */ GIM_Try, /*On fail goto*//*Label 4467*/ GIMT_Encode4(162342),
56950 /* 162107 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
56951 /* 162110 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
56952 /* 162113 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
56953 /* 162116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56954 /* 162120 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4468*/ GIMT_Encode4(162183), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 9608 //
56955 /* 162127 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56956 /* 162131 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56957 /* 162135 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56958 /* 162138 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56959 /* 162142 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56960 /* 162146 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56961 /* 162150 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56962 /* 162154 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56963 /* 162156 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56964 /* 162163 */ // (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)
56965 /* 162163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ256m),
56966 /* 162166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56967 /* 162168 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56968 /* 162170 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
56969 /* 162172 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56970 /* 162176 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56971 /* 162181 */ GIR_RootConstrainSelectedInstOperands,
56972 /* 162182 */ // GIR_Coverage, 9608,
56973 /* 162182 */ GIR_EraseRootFromParent_Done,
56974 /* 162183 */ // Label 4468: @162183
56975 /* 162183 */ GIM_Try, /*On fail goto*//*Label 4469*/ GIMT_Encode4(162341),
56976 /* 162188 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56977 /* 162192 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4470*/ GIMT_Encode4(162251), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 9068 //
56978 /* 162199 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56979 /* 162203 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56980 /* 162207 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56981 /* 162210 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56982 /* 162214 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56983 /* 162218 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56984 /* 162222 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56985 /* 162224 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56986 /* 162231 */ // (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)
56987 /* 162231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ256m),
56988 /* 162234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56989 /* 162236 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
56990 /* 162238 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
56991 /* 162240 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
56992 /* 162244 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56993 /* 162249 */ GIR_RootConstrainSelectedInstOperands,
56994 /* 162250 */ // GIR_Coverage, 9068,
56995 /* 162250 */ GIR_EraseRootFromParent_Done,
56996 /* 162251 */ // Label 4470: @162251
56997 /* 162251 */ GIM_Try, /*On fail goto*//*Label 4471*/ GIMT_Encode4(162340),
56998 /* 162256 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56999 /* 162260 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4472*/ GIMT_Encode4(162315), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 8425 //
57000 /* 162267 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57001 /* 162271 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57002 /* 162275 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57003 /* 162278 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57004 /* 162282 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57005 /* 162286 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57006 /* 162288 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57007 /* 162295 */ // (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)
57008 /* 162295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256m),
57009 /* 162298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57010 /* 162300 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57011 /* 162302 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57012 /* 162304 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57013 /* 162308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57014 /* 162313 */ GIR_RootConstrainSelectedInstOperands,
57015 /* 162314 */ // GIR_Coverage, 8425,
57016 /* 162314 */ GIR_EraseRootFromParent_Done,
57017 /* 162315 */ // Label 4472: @162315
57018 /* 162315 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4473*/ GIMT_Encode4(162339), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 8421 //
57019 /* 162322 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57020 /* 162326 */ // (fma:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src3) => (VFMADD213PHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src3)
57021 /* 162326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256r),
57022 /* 162329 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57023 /* 162331 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57024 /* 162333 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57025 /* 162335 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57026 /* 162337 */ GIR_RootConstrainSelectedInstOperands,
57027 /* 162338 */ // GIR_Coverage, 8421,
57028 /* 162338 */ GIR_EraseRootFromParent_Done,
57029 /* 162339 */ // Label 4473: @162339
57030 /* 162339 */ GIM_Reject,
57031 /* 162340 */ // Label 4471: @162340
57032 /* 162340 */ GIM_Reject,
57033 /* 162341 */ // Label 4469: @162341
57034 /* 162341 */ GIM_Reject,
57035 /* 162342 */ // Label 4467: @162342
57036 /* 162342 */ GIM_Reject,
57037 /* 162343 */ // Label 4411: @162343
57038 /* 162343 */ GIM_Try, /*On fail goto*//*Label 4474*/ GIMT_Encode4(162583),
57039 /* 162348 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
57040 /* 162351 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
57041 /* 162354 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
57042 /* 162357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57043 /* 162361 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4475*/ GIMT_Encode4(162424), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 9596 //
57044 /* 162368 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57045 /* 162372 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57046 /* 162376 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57047 /* 162379 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57048 /* 162383 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57049 /* 162387 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57050 /* 162391 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57051 /* 162395 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57052 /* 162397 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57053 /* 162404 */ // (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)
57054 /* 162404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZm),
57055 /* 162407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57056 /* 162409 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57057 /* 162411 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57058 /* 162413 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57059 /* 162417 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57060 /* 162422 */ GIR_RootConstrainSelectedInstOperands,
57061 /* 162423 */ // GIR_Coverage, 9596,
57062 /* 162423 */ GIR_EraseRootFromParent_Done,
57063 /* 162424 */ // Label 4475: @162424
57064 /* 162424 */ GIM_Try, /*On fail goto*//*Label 4476*/ GIMT_Encode4(162582),
57065 /* 162429 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57066 /* 162433 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4477*/ GIMT_Encode4(162492), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 9056 //
57067 /* 162440 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57068 /* 162444 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57069 /* 162448 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57070 /* 162451 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57071 /* 162455 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57072 /* 162459 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57073 /* 162463 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57074 /* 162465 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57075 /* 162472 */ // (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)
57076 /* 162472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZm),
57077 /* 162475 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57078 /* 162477 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57079 /* 162479 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57080 /* 162481 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57081 /* 162485 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57082 /* 162490 */ GIR_RootConstrainSelectedInstOperands,
57083 /* 162491 */ // GIR_Coverage, 9056,
57084 /* 162491 */ GIR_EraseRootFromParent_Done,
57085 /* 162492 */ // Label 4477: @162492
57086 /* 162492 */ GIM_Try, /*On fail goto*//*Label 4478*/ GIMT_Encode4(162581),
57087 /* 162497 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57088 /* 162501 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4479*/ GIMT_Encode4(162556), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 8410 //
57089 /* 162508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57090 /* 162512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57091 /* 162516 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57092 /* 162519 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57093 /* 162523 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57094 /* 162527 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57095 /* 162529 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57096 /* 162536 */ // (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)
57097 /* 162536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZm),
57098 /* 162539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57099 /* 162541 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57100 /* 162543 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57101 /* 162545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57102 /* 162549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57103 /* 162554 */ GIR_RootConstrainSelectedInstOperands,
57104 /* 162555 */ // GIR_Coverage, 8410,
57105 /* 162555 */ GIR_EraseRootFromParent_Done,
57106 /* 162556 */ // Label 4479: @162556
57107 /* 162556 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4480*/ GIMT_Encode4(162580), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 8406 //
57108 /* 162563 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57109 /* 162567 */ // (fma:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src3) => (VFMADD213PHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src3)
57110 /* 162567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZr),
57111 /* 162570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57112 /* 162572 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57113 /* 162574 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57114 /* 162576 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57115 /* 162578 */ GIR_RootConstrainSelectedInstOperands,
57116 /* 162579 */ // GIR_Coverage, 8406,
57117 /* 162579 */ GIR_EraseRootFromParent_Done,
57118 /* 162580 */ // Label 4480: @162580
57119 /* 162580 */ GIM_Reject,
57120 /* 162581 */ // Label 4478: @162581
57121 /* 162581 */ GIM_Reject,
57122 /* 162582 */ // Label 4476: @162582
57123 /* 162582 */ GIM_Reject,
57124 /* 162583 */ // Label 4474: @162583
57125 /* 162583 */ GIM_Reject,
57126 /* 162584 */ // Label 4412: @162584
57127 /* 162584 */ GIM_Try, /*On fail goto*//*Label 4481*/ GIMT_Encode4(163288),
57128 /* 162589 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
57129 /* 162592 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
57130 /* 162595 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
57131 /* 162598 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4482*/ GIMT_Encode4(162665), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1120 //
57132 /* 162605 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57133 /* 162609 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57134 /* 162613 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57135 /* 162617 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57136 /* 162620 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57137 /* 162624 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57138 /* 162628 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57139 /* 162632 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57140 /* 162636 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57141 /* 162638 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57142 /* 162645 */ // (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)
57143 /* 162645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSm),
57144 /* 162648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57145 /* 162650 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57146 /* 162652 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57147 /* 162654 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57148 /* 162658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57149 /* 162663 */ GIR_RootConstrainSelectedInstOperands,
57150 /* 162664 */ // GIR_Coverage, 1120,
57151 /* 162664 */ GIR_EraseRootFromParent_Done,
57152 /* 162665 */ // Label 4482: @162665
57153 /* 162665 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4483*/ GIMT_Encode4(162732), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9650 //
57154 /* 162672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57155 /* 162676 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57156 /* 162680 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57157 /* 162684 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57158 /* 162687 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57159 /* 162691 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57160 /* 162695 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57161 /* 162699 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57162 /* 162703 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57163 /* 162705 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57164 /* 162712 */ // (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)
57165 /* 162712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ128m),
57166 /* 162715 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57167 /* 162717 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57168 /* 162719 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57169 /* 162721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57170 /* 162725 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57171 /* 162730 */ GIR_RootConstrainSelectedInstOperands,
57172 /* 162731 */ // GIR_Coverage, 9650,
57173 /* 162731 */ GIR_EraseRootFromParent_Done,
57174 /* 162732 */ // Label 4483: @162732
57175 /* 162732 */ GIM_Try, /*On fail goto*//*Label 4484*/ GIMT_Encode4(162929),
57176 /* 162737 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57177 /* 162741 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4485*/ GIMT_Encode4(162804), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 23529 //
57178 /* 162748 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57179 /* 162752 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57180 /* 162756 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57181 /* 162759 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57182 /* 162763 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57183 /* 162767 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57184 /* 162771 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57185 /* 162775 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57186 /* 162777 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57187 /* 162784 */ // (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)
57188 /* 162784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
57189 /* 162787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57190 /* 162789 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57191 /* 162791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57192 /* 162795 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57193 /* 162797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57194 /* 162802 */ GIR_RootConstrainSelectedInstOperands,
57195 /* 162803 */ // GIR_Coverage, 23529,
57196 /* 162803 */ GIR_EraseRootFromParent_Done,
57197 /* 162804 */ // Label 4485: @162804
57198 /* 162804 */ GIM_Try, /*On fail goto*//*Label 4486*/ GIMT_Encode4(162928),
57199 /* 162809 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57200 /* 162813 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57201 /* 162817 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4487*/ GIMT_Encode4(162872), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1118 //
57202 /* 162824 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57203 /* 162828 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57204 /* 162832 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57205 /* 162835 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57206 /* 162839 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57207 /* 162843 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57208 /* 162845 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57209 /* 162852 */ // (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)
57210 /* 162852 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSm),
57211 /* 162855 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57212 /* 162857 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57213 /* 162859 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57214 /* 162861 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57215 /* 162865 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57216 /* 162870 */ GIR_RootConstrainSelectedInstOperands,
57217 /* 162871 */ // GIR_Coverage, 1118,
57218 /* 162871 */ GIR_EraseRootFromParent_Done,
57219 /* 162872 */ // Label 4487: @162872
57220 /* 162872 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4488*/ GIMT_Encode4(162927), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1366 //
57221 /* 162879 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57222 /* 162883 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57223 /* 162887 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57224 /* 162890 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57225 /* 162894 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57226 /* 162898 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57227 /* 162900 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57228 /* 162907 */ // (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)
57229 /* 162907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
57230 /* 162910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57231 /* 162912 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57232 /* 162914 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57233 /* 162918 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57234 /* 162920 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57235 /* 162925 */ GIR_RootConstrainSelectedInstOperands,
57236 /* 162926 */ // GIR_Coverage, 1366,
57237 /* 162926 */ GIR_EraseRootFromParent_Done,
57238 /* 162927 */ // Label 4488: @162927
57239 /* 162927 */ GIM_Reject,
57240 /* 162928 */ // Label 4486: @162928
57241 /* 162928 */ GIM_Reject,
57242 /* 162929 */ // Label 4484: @162929
57243 /* 162929 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4489*/ GIMT_Encode4(162996), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9110 //
57244 /* 162936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57245 /* 162940 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57246 /* 162944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57247 /* 162948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57248 /* 162952 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57249 /* 162955 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57250 /* 162959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57251 /* 162963 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57252 /* 162967 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57253 /* 162969 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57254 /* 162976 */ // (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)
57255 /* 162976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ128m),
57256 /* 162979 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57257 /* 162981 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57258 /* 162983 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57259 /* 162985 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57260 /* 162989 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57261 /* 162994 */ GIR_RootConstrainSelectedInstOperands,
57262 /* 162995 */ // GIR_Coverage, 9110,
57263 /* 162995 */ GIR_EraseRootFromParent_Done,
57264 /* 162996 */ // Label 4489: @162996
57265 /* 162996 */ GIM_Try, /*On fail goto*//*Label 4490*/ GIMT_Encode4(163124),
57266 /* 163001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57267 /* 163005 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57268 /* 163009 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57269 /* 163013 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4491*/ GIMT_Encode4(163068), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1116 //
57270 /* 163020 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57271 /* 163024 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57272 /* 163028 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57273 /* 163031 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57274 /* 163035 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57275 /* 163039 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57276 /* 163041 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57277 /* 163048 */ // (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)
57278 /* 163048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSm),
57279 /* 163051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57280 /* 163053 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57281 /* 163055 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57282 /* 163057 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57283 /* 163061 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57284 /* 163066 */ GIR_RootConstrainSelectedInstOperands,
57285 /* 163067 */ // GIR_Coverage, 1116,
57286 /* 163067 */ GIR_EraseRootFromParent_Done,
57287 /* 163068 */ // Label 4491: @163068
57288 /* 163068 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4492*/ GIMT_Encode4(163123), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1364 //
57289 /* 163075 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57290 /* 163079 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57291 /* 163083 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57292 /* 163086 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57293 /* 163090 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57294 /* 163094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57295 /* 163096 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57296 /* 163103 */ // (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)
57297 /* 163103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rm),
57298 /* 163106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57299 /* 163108 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57300 /* 163110 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
57301 /* 163112 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57302 /* 163116 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57303 /* 163121 */ GIR_RootConstrainSelectedInstOperands,
57304 /* 163122 */ // GIR_Coverage, 1364,
57305 /* 163122 */ GIR_EraseRootFromParent_Done,
57306 /* 163123 */ // Label 4492: @163123
57307 /* 163123 */ GIM_Reject,
57308 /* 163124 */ // Label 4490: @163124
57309 /* 163124 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4493*/ GIMT_Encode4(163191), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8476 //
57310 /* 163131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57311 /* 163135 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57312 /* 163139 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57313 /* 163143 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57314 /* 163147 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57315 /* 163151 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57316 /* 163154 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57317 /* 163158 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57318 /* 163162 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57319 /* 163164 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57320 /* 163171 */ // (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)
57321 /* 163171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128m),
57322 /* 163174 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57323 /* 163176 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57324 /* 163178 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57325 /* 163180 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57326 /* 163184 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57327 /* 163189 */ GIR_RootConstrainSelectedInstOperands,
57328 /* 163190 */ // GIR_Coverage, 8476,
57329 /* 163190 */ GIR_EraseRootFromParent_Done,
57330 /* 163191 */ // Label 4493: @163191
57331 /* 163191 */ GIM_Try, /*On fail goto*//*Label 4494*/ GIMT_Encode4(163251),
57332 /* 163196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57333 /* 163200 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57334 /* 163204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57335 /* 163208 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57336 /* 163212 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4495*/ GIMT_Encode4(163232), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1114 //
57337 /* 163219 */ // (fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src3) => (VFMADD213PSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
57338 /* 163219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSr),
57339 /* 163222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57340 /* 163224 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57341 /* 163226 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57342 /* 163228 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57343 /* 163230 */ GIR_RootConstrainSelectedInstOperands,
57344 /* 163231 */ // GIR_Coverage, 1114,
57345 /* 163231 */ GIR_EraseRootFromParent_Done,
57346 /* 163232 */ // Label 4495: @163232
57347 /* 163232 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4496*/ GIMT_Encode4(163250), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1362 //
57348 /* 163239 */ // (fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3) => (VFMADDPS4rr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
57349 /* 163239 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rr),
57350 /* 163244 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57351 /* 163248 */ GIR_RootConstrainSelectedInstOperands,
57352 /* 163249 */ // GIR_Coverage, 1362,
57353 /* 163249 */ GIR_Done,
57354 /* 163250 */ // Label 4496: @163250
57355 /* 163250 */ GIM_Reject,
57356 /* 163251 */ // Label 4494: @163251
57357 /* 163251 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4497*/ GIMT_Encode4(163287), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8472 //
57358 /* 163258 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57359 /* 163262 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57360 /* 163266 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57361 /* 163270 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57362 /* 163274 */ // (fma:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src3) => (VFMADD213PSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src3)
57363 /* 163274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128r),
57364 /* 163277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57365 /* 163279 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57366 /* 163281 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57367 /* 163283 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57368 /* 163285 */ GIR_RootConstrainSelectedInstOperands,
57369 /* 163286 */ // GIR_Coverage, 8472,
57370 /* 163286 */ GIR_EraseRootFromParent_Done,
57371 /* 163287 */ // Label 4497: @163287
57372 /* 163287 */ GIM_Reject,
57373 /* 163288 */ // Label 4481: @163288
57374 /* 163288 */ GIM_Reject,
57375 /* 163289 */ // Label 4413: @163289
57376 /* 163289 */ GIM_Try, /*On fail goto*//*Label 4498*/ GIMT_Encode4(163993),
57377 /* 163294 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
57378 /* 163297 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
57379 /* 163300 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
57380 /* 163303 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4499*/ GIMT_Encode4(163370), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1128 //
57381 /* 163310 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57382 /* 163314 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57383 /* 163318 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57384 /* 163322 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57385 /* 163325 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57386 /* 163329 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57387 /* 163333 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57388 /* 163337 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57389 /* 163341 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57390 /* 163343 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57391 /* 163350 */ // (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)
57392 /* 163350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSYm),
57393 /* 163353 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57394 /* 163355 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57395 /* 163357 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57396 /* 163359 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57397 /* 163363 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57398 /* 163368 */ GIR_RootConstrainSelectedInstOperands,
57399 /* 163369 */ // GIR_Coverage, 1128,
57400 /* 163369 */ GIR_EraseRootFromParent_Done,
57401 /* 163370 */ // Label 4499: @163370
57402 /* 163370 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4500*/ GIMT_Encode4(163437), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9640 //
57403 /* 163377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57404 /* 163381 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57405 /* 163385 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57406 /* 163389 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57407 /* 163392 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57408 /* 163396 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57409 /* 163400 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57410 /* 163404 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57411 /* 163408 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57412 /* 163410 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57413 /* 163417 */ // (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)
57414 /* 163417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ256m),
57415 /* 163420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57416 /* 163422 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57417 /* 163424 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57418 /* 163426 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57419 /* 163430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57420 /* 163435 */ GIR_RootConstrainSelectedInstOperands,
57421 /* 163436 */ // GIR_Coverage, 9640,
57422 /* 163436 */ GIR_EraseRootFromParent_Done,
57423 /* 163437 */ // Label 4500: @163437
57424 /* 163437 */ GIM_Try, /*On fail goto*//*Label 4501*/ GIMT_Encode4(163634),
57425 /* 163442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57426 /* 163446 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4502*/ GIMT_Encode4(163509), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 23531 //
57427 /* 163453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57428 /* 163457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57429 /* 163461 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57430 /* 163464 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57431 /* 163468 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57432 /* 163472 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57433 /* 163476 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57434 /* 163480 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57435 /* 163482 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57436 /* 163489 */ // (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)
57437 /* 163489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
57438 /* 163492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57439 /* 163494 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57440 /* 163496 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57441 /* 163500 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57442 /* 163502 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57443 /* 163507 */ GIR_RootConstrainSelectedInstOperands,
57444 /* 163508 */ // GIR_Coverage, 23531,
57445 /* 163508 */ GIR_EraseRootFromParent_Done,
57446 /* 163509 */ // Label 4502: @163509
57447 /* 163509 */ GIM_Try, /*On fail goto*//*Label 4503*/ GIMT_Encode4(163633),
57448 /* 163514 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57449 /* 163518 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57450 /* 163522 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4504*/ GIMT_Encode4(163577), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1126 //
57451 /* 163529 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57452 /* 163533 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57453 /* 163537 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57454 /* 163540 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57455 /* 163544 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57456 /* 163548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57457 /* 163550 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57458 /* 163557 */ // (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)
57459 /* 163557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSYm),
57460 /* 163560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57461 /* 163562 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57462 /* 163564 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57463 /* 163566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57464 /* 163570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57465 /* 163575 */ GIR_RootConstrainSelectedInstOperands,
57466 /* 163576 */ // GIR_Coverage, 1126,
57467 /* 163576 */ GIR_EraseRootFromParent_Done,
57468 /* 163577 */ // Label 4504: @163577
57469 /* 163577 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4505*/ GIMT_Encode4(163632), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1372 //
57470 /* 163584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57471 /* 163588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57472 /* 163592 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57473 /* 163595 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57474 /* 163599 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57475 /* 163603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57476 /* 163605 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57477 /* 163612 */ // (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)
57478 /* 163612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
57479 /* 163615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57480 /* 163617 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57481 /* 163619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57482 /* 163623 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57483 /* 163625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57484 /* 163630 */ GIR_RootConstrainSelectedInstOperands,
57485 /* 163631 */ // GIR_Coverage, 1372,
57486 /* 163631 */ GIR_EraseRootFromParent_Done,
57487 /* 163632 */ // Label 4505: @163632
57488 /* 163632 */ GIM_Reject,
57489 /* 163633 */ // Label 4503: @163633
57490 /* 163633 */ GIM_Reject,
57491 /* 163634 */ // Label 4501: @163634
57492 /* 163634 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4506*/ GIMT_Encode4(163701), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9100 //
57493 /* 163641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57494 /* 163645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57495 /* 163649 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57496 /* 163653 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57497 /* 163657 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57498 /* 163660 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57499 /* 163664 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57500 /* 163668 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57501 /* 163672 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57502 /* 163674 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57503 /* 163681 */ // (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)
57504 /* 163681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ256m),
57505 /* 163684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57506 /* 163686 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57507 /* 163688 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57508 /* 163690 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57509 /* 163694 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57510 /* 163699 */ GIR_RootConstrainSelectedInstOperands,
57511 /* 163700 */ // GIR_Coverage, 9100,
57512 /* 163700 */ GIR_EraseRootFromParent_Done,
57513 /* 163701 */ // Label 4506: @163701
57514 /* 163701 */ GIM_Try, /*On fail goto*//*Label 4507*/ GIMT_Encode4(163829),
57515 /* 163706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57516 /* 163710 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57517 /* 163714 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57518 /* 163718 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4508*/ GIMT_Encode4(163773), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1124 //
57519 /* 163725 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57520 /* 163729 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57521 /* 163733 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57522 /* 163736 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57523 /* 163740 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57524 /* 163744 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57525 /* 163746 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57526 /* 163753 */ // (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)
57527 /* 163753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYm),
57528 /* 163756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57529 /* 163758 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57530 /* 163760 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57531 /* 163762 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57532 /* 163766 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57533 /* 163771 */ GIR_RootConstrainSelectedInstOperands,
57534 /* 163772 */ // GIR_Coverage, 1124,
57535 /* 163772 */ GIR_EraseRootFromParent_Done,
57536 /* 163773 */ // Label 4508: @163773
57537 /* 163773 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4509*/ GIMT_Encode4(163828), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1370 //
57538 /* 163780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57539 /* 163784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57540 /* 163788 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57541 /* 163791 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57542 /* 163795 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57543 /* 163799 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57544 /* 163801 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57545 /* 163808 */ // (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)
57546 /* 163808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrm),
57547 /* 163811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57548 /* 163813 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57549 /* 163815 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
57550 /* 163817 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57551 /* 163821 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57552 /* 163826 */ GIR_RootConstrainSelectedInstOperands,
57553 /* 163827 */ // GIR_Coverage, 1370,
57554 /* 163827 */ GIR_EraseRootFromParent_Done,
57555 /* 163828 */ // Label 4509: @163828
57556 /* 163828 */ GIM_Reject,
57557 /* 163829 */ // Label 4507: @163829
57558 /* 163829 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4510*/ GIMT_Encode4(163896), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8464 //
57559 /* 163836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57560 /* 163840 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57561 /* 163844 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57562 /* 163848 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57563 /* 163852 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57564 /* 163856 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57565 /* 163859 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57566 /* 163863 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57567 /* 163867 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57568 /* 163869 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57569 /* 163876 */ // (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)
57570 /* 163876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256m),
57571 /* 163879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57572 /* 163881 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57573 /* 163883 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57574 /* 163885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57575 /* 163889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57576 /* 163894 */ GIR_RootConstrainSelectedInstOperands,
57577 /* 163895 */ // GIR_Coverage, 8464,
57578 /* 163895 */ GIR_EraseRootFromParent_Done,
57579 /* 163896 */ // Label 4510: @163896
57580 /* 163896 */ GIM_Try, /*On fail goto*//*Label 4511*/ GIMT_Encode4(163956),
57581 /* 163901 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57582 /* 163905 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57583 /* 163909 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57584 /* 163913 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57585 /* 163917 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4512*/ GIMT_Encode4(163937), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1122 //
57586 /* 163924 */ // (fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src3) => (VFMADD213PSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
57587 /* 163924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYr),
57588 /* 163927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57589 /* 163929 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57590 /* 163931 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57591 /* 163933 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57592 /* 163935 */ GIR_RootConstrainSelectedInstOperands,
57593 /* 163936 */ // GIR_Coverage, 1122,
57594 /* 163936 */ GIR_EraseRootFromParent_Done,
57595 /* 163937 */ // Label 4512: @163937
57596 /* 163937 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4513*/ GIMT_Encode4(163955), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1368 //
57597 /* 163944 */ // (fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3) => (VFMADDPS4Yrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
57598 /* 163944 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrr),
57599 /* 163949 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57600 /* 163953 */ GIR_RootConstrainSelectedInstOperands,
57601 /* 163954 */ // GIR_Coverage, 1368,
57602 /* 163954 */ GIR_Done,
57603 /* 163955 */ // Label 4513: @163955
57604 /* 163955 */ GIM_Reject,
57605 /* 163956 */ // Label 4511: @163956
57606 /* 163956 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4514*/ GIMT_Encode4(163992), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8460 //
57607 /* 163963 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57608 /* 163967 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57609 /* 163971 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57610 /* 163975 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57611 /* 163979 */ // (fma:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src3) => (VFMADD213PSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src3)
57612 /* 163979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256r),
57613 /* 163982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57614 /* 163984 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57615 /* 163986 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57616 /* 163988 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57617 /* 163990 */ GIR_RootConstrainSelectedInstOperands,
57618 /* 163991 */ // GIR_Coverage, 8460,
57619 /* 163991 */ GIR_EraseRootFromParent_Done,
57620 /* 163992 */ // Label 4514: @163992
57621 /* 163992 */ GIM_Reject,
57622 /* 163993 */ // Label 4498: @163993
57623 /* 163993 */ GIM_Reject,
57624 /* 163994 */ // Label 4414: @163994
57625 /* 163994 */ GIM_Try, /*On fail goto*//*Label 4515*/ GIMT_Encode4(164234),
57626 /* 163999 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
57627 /* 164002 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
57628 /* 164005 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
57629 /* 164008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57630 /* 164012 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4516*/ GIMT_Encode4(164075), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 9628 //
57631 /* 164019 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57632 /* 164023 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57633 /* 164027 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57634 /* 164030 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57635 /* 164034 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57636 /* 164038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57637 /* 164042 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57638 /* 164046 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57639 /* 164048 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57640 /* 164055 */ // (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)
57641 /* 164055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZm),
57642 /* 164058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57643 /* 164060 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57644 /* 164062 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57645 /* 164064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57646 /* 164068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57647 /* 164073 */ GIR_RootConstrainSelectedInstOperands,
57648 /* 164074 */ // GIR_Coverage, 9628,
57649 /* 164074 */ GIR_EraseRootFromParent_Done,
57650 /* 164075 */ // Label 4516: @164075
57651 /* 164075 */ GIM_Try, /*On fail goto*//*Label 4517*/ GIMT_Encode4(164233),
57652 /* 164080 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57653 /* 164084 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4518*/ GIMT_Encode4(164143), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 9088 //
57654 /* 164091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57655 /* 164095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57656 /* 164099 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57657 /* 164102 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57658 /* 164106 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57659 /* 164110 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57660 /* 164114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57661 /* 164116 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57662 /* 164123 */ // (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)
57663 /* 164123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZm),
57664 /* 164126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57665 /* 164128 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57666 /* 164130 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57667 /* 164132 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57668 /* 164136 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57669 /* 164141 */ GIR_RootConstrainSelectedInstOperands,
57670 /* 164142 */ // GIR_Coverage, 9088,
57671 /* 164142 */ GIR_EraseRootFromParent_Done,
57672 /* 164143 */ // Label 4518: @164143
57673 /* 164143 */ GIM_Try, /*On fail goto*//*Label 4519*/ GIMT_Encode4(164232),
57674 /* 164148 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57675 /* 164152 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4520*/ GIMT_Encode4(164207), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8449 //
57676 /* 164159 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57677 /* 164163 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57678 /* 164167 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57679 /* 164170 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57680 /* 164174 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57681 /* 164178 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57682 /* 164180 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57683 /* 164187 */ // (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)
57684 /* 164187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZm),
57685 /* 164190 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57686 /* 164192 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57687 /* 164194 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57688 /* 164196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57689 /* 164200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57690 /* 164205 */ GIR_RootConstrainSelectedInstOperands,
57691 /* 164206 */ // GIR_Coverage, 8449,
57692 /* 164206 */ GIR_EraseRootFromParent_Done,
57693 /* 164207 */ // Label 4520: @164207
57694 /* 164207 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4521*/ GIMT_Encode4(164231), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8445 //
57695 /* 164214 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57696 /* 164218 */ // (fma:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src3) => (VFMADD213PSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src3)
57697 /* 164218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZr),
57698 /* 164221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57699 /* 164223 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57700 /* 164225 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57701 /* 164227 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57702 /* 164229 */ GIR_RootConstrainSelectedInstOperands,
57703 /* 164230 */ // GIR_Coverage, 8445,
57704 /* 164230 */ GIR_EraseRootFromParent_Done,
57705 /* 164231 */ // Label 4521: @164231
57706 /* 164231 */ GIM_Reject,
57707 /* 164232 */ // Label 4519: @164232
57708 /* 164232 */ GIM_Reject,
57709 /* 164233 */ // Label 4517: @164233
57710 /* 164233 */ GIM_Reject,
57711 /* 164234 */ // Label 4515: @164234
57712 /* 164234 */ GIM_Reject,
57713 /* 164235 */ // Label 4415: @164235
57714 /* 164235 */ GIM_Try, /*On fail goto*//*Label 4522*/ GIMT_Encode4(164939),
57715 /* 164240 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
57716 /* 164243 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
57717 /* 164246 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
57718 /* 164249 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4523*/ GIMT_Encode4(164316), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1168 //
57719 /* 164256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57720 /* 164260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57721 /* 164264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57722 /* 164268 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57723 /* 164271 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57724 /* 164275 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57725 /* 164279 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57726 /* 164283 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57727 /* 164287 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57728 /* 164289 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57729 /* 164296 */ // (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)
57730 /* 164296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDm),
57731 /* 164299 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57732 /* 164301 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57733 /* 164303 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57734 /* 164305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57735 /* 164309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57736 /* 164314 */ GIR_RootConstrainSelectedInstOperands,
57737 /* 164315 */ // GIR_Coverage, 1168,
57738 /* 164315 */ GIR_EraseRootFromParent_Done,
57739 /* 164316 */ // Label 4523: @164316
57740 /* 164316 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4524*/ GIMT_Encode4(164383), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9682 //
57741 /* 164323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57742 /* 164327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57743 /* 164331 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57744 /* 164335 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57745 /* 164338 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57746 /* 164342 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57747 /* 164346 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57748 /* 164350 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57749 /* 164354 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57750 /* 164356 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57751 /* 164363 */ // (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)
57752 /* 164363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ128m),
57753 /* 164366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57754 /* 164368 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57755 /* 164370 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57756 /* 164372 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57757 /* 164376 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57758 /* 164381 */ GIR_RootConstrainSelectedInstOperands,
57759 /* 164382 */ // GIR_Coverage, 9682,
57760 /* 164382 */ GIR_EraseRootFromParent_Done,
57761 /* 164383 */ // Label 4524: @164383
57762 /* 164383 */ GIM_Try, /*On fail goto*//*Label 4525*/ GIMT_Encode4(164580),
57763 /* 164388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57764 /* 164392 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4526*/ GIMT_Encode4(164455), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 23557 //
57765 /* 164399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57766 /* 164403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57767 /* 164407 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57768 /* 164410 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57769 /* 164414 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57770 /* 164418 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57771 /* 164422 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57772 /* 164426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57773 /* 164428 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57774 /* 164435 */ // (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)
57775 /* 164435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
57776 /* 164438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57777 /* 164440 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57778 /* 164442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57779 /* 164446 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57780 /* 164448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57781 /* 164453 */ GIR_RootConstrainSelectedInstOperands,
57782 /* 164454 */ // GIR_Coverage, 23557,
57783 /* 164454 */ GIR_EraseRootFromParent_Done,
57784 /* 164455 */ // Label 4526: @164455
57785 /* 164455 */ GIM_Try, /*On fail goto*//*Label 4527*/ GIMT_Encode4(164579),
57786 /* 164460 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57787 /* 164464 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57788 /* 164468 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4528*/ GIMT_Encode4(164523), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1166 //
57789 /* 164475 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57790 /* 164479 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57791 /* 164483 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57792 /* 164486 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57793 /* 164490 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57794 /* 164494 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57795 /* 164496 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57796 /* 164503 */ // (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)
57797 /* 164503 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDm),
57798 /* 164506 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57799 /* 164508 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57800 /* 164510 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57801 /* 164512 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57802 /* 164516 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57803 /* 164521 */ GIR_RootConstrainSelectedInstOperands,
57804 /* 164522 */ // GIR_Coverage, 1166,
57805 /* 164522 */ GIR_EraseRootFromParent_Done,
57806 /* 164523 */ // Label 4528: @164523
57807 /* 164523 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4529*/ GIMT_Encode4(164578), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1450 //
57808 /* 164530 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57809 /* 164534 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57810 /* 164538 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57811 /* 164541 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57812 /* 164545 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57813 /* 164549 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57814 /* 164551 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57815 /* 164558 */ // (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)
57816 /* 164558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
57817 /* 164561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57818 /* 164563 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57819 /* 164565 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57820 /* 164569 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57821 /* 164571 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57822 /* 164576 */ GIR_RootConstrainSelectedInstOperands,
57823 /* 164577 */ // GIR_Coverage, 1450,
57824 /* 164577 */ GIR_EraseRootFromParent_Done,
57825 /* 164578 */ // Label 4529: @164578
57826 /* 164578 */ GIM_Reject,
57827 /* 164579 */ // Label 4527: @164579
57828 /* 164579 */ GIM_Reject,
57829 /* 164580 */ // Label 4525: @164580
57830 /* 164580 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4530*/ GIMT_Encode4(164647), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9142 //
57831 /* 164587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57832 /* 164591 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57833 /* 164595 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57834 /* 164599 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57835 /* 164603 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57836 /* 164606 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57837 /* 164610 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57838 /* 164614 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57839 /* 164618 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57840 /* 164620 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57841 /* 164627 */ // (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)
57842 /* 164627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ128m),
57843 /* 164630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57844 /* 164632 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57845 /* 164634 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57846 /* 164636 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57847 /* 164640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57848 /* 164645 */ GIR_RootConstrainSelectedInstOperands,
57849 /* 164646 */ // GIR_Coverage, 9142,
57850 /* 164646 */ GIR_EraseRootFromParent_Done,
57851 /* 164647 */ // Label 4530: @164647
57852 /* 164647 */ GIM_Try, /*On fail goto*//*Label 4531*/ GIMT_Encode4(164775),
57853 /* 164652 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57854 /* 164656 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57855 /* 164660 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57856 /* 164664 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4532*/ GIMT_Encode4(164719), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1164 //
57857 /* 164671 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57858 /* 164675 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57859 /* 164679 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57860 /* 164682 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57861 /* 164686 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57862 /* 164690 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57863 /* 164692 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57864 /* 164699 */ // (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)
57865 /* 164699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDm),
57866 /* 164702 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57867 /* 164704 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57868 /* 164706 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57869 /* 164708 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57870 /* 164712 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57871 /* 164717 */ GIR_RootConstrainSelectedInstOperands,
57872 /* 164718 */ // GIR_Coverage, 1164,
57873 /* 164718 */ GIR_EraseRootFromParent_Done,
57874 /* 164719 */ // Label 4532: @164719
57875 /* 164719 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4533*/ GIMT_Encode4(164774), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1448 //
57876 /* 164726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57877 /* 164730 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57878 /* 164734 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57879 /* 164737 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57880 /* 164741 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57881 /* 164745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57882 /* 164747 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57883 /* 164754 */ // (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)
57884 /* 164754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rm),
57885 /* 164757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57886 /* 164759 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57887 /* 164761 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
57888 /* 164763 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57889 /* 164767 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57890 /* 164772 */ GIR_RootConstrainSelectedInstOperands,
57891 /* 164773 */ // GIR_Coverage, 1448,
57892 /* 164773 */ GIR_EraseRootFromParent_Done,
57893 /* 164774 */ // Label 4533: @164774
57894 /* 164774 */ GIM_Reject,
57895 /* 164775 */ // Label 4531: @164775
57896 /* 164775 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4534*/ GIMT_Encode4(164842), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8515 //
57897 /* 164782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57898 /* 164786 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57899 /* 164790 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57900 /* 164794 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57901 /* 164798 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57902 /* 164802 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57903 /* 164805 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57904 /* 164809 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57905 /* 164813 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57906 /* 164815 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57907 /* 164822 */ // (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)
57908 /* 164822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128m),
57909 /* 164825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57910 /* 164827 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57911 /* 164829 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57912 /* 164831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57913 /* 164835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57914 /* 164840 */ GIR_RootConstrainSelectedInstOperands,
57915 /* 164841 */ // GIR_Coverage, 8515,
57916 /* 164841 */ GIR_EraseRootFromParent_Done,
57917 /* 164842 */ // Label 4534: @164842
57918 /* 164842 */ GIM_Try, /*On fail goto*//*Label 4535*/ GIMT_Encode4(164902),
57919 /* 164847 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57920 /* 164851 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57921 /* 164855 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57922 /* 164859 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57923 /* 164863 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4536*/ GIMT_Encode4(164883), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1162 //
57924 /* 164870 */ // (fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src3) => (VFMADD213PDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
57925 /* 164870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDr),
57926 /* 164873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57927 /* 164875 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57928 /* 164877 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57929 /* 164879 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57930 /* 164881 */ GIR_RootConstrainSelectedInstOperands,
57931 /* 164882 */ // GIR_Coverage, 1162,
57932 /* 164882 */ GIR_EraseRootFromParent_Done,
57933 /* 164883 */ // Label 4536: @164883
57934 /* 164883 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4537*/ GIMT_Encode4(164901), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1446 //
57935 /* 164890 */ // (fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3) => (VFMADDPD4rr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
57936 /* 164890 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rr),
57937 /* 164895 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57938 /* 164899 */ GIR_RootConstrainSelectedInstOperands,
57939 /* 164900 */ // GIR_Coverage, 1446,
57940 /* 164900 */ GIR_Done,
57941 /* 164901 */ // Label 4537: @164901
57942 /* 164901 */ GIM_Reject,
57943 /* 164902 */ // Label 4535: @164902
57944 /* 164902 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4538*/ GIMT_Encode4(164938), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8511 //
57945 /* 164909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57946 /* 164913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57947 /* 164917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57948 /* 164921 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57949 /* 164925 */ // (fma:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src3) => (VFMADD213PDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src3)
57950 /* 164925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128r),
57951 /* 164928 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57952 /* 164930 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57953 /* 164932 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57954 /* 164934 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57955 /* 164936 */ GIR_RootConstrainSelectedInstOperands,
57956 /* 164937 */ // GIR_Coverage, 8511,
57957 /* 164937 */ GIR_EraseRootFromParent_Done,
57958 /* 164938 */ // Label 4538: @164938
57959 /* 164938 */ GIM_Reject,
57960 /* 164939 */ // Label 4522: @164939
57961 /* 164939 */ GIM_Reject,
57962 /* 164940 */ // Label 4416: @164940
57963 /* 164940 */ GIM_Try, /*On fail goto*//*Label 4539*/ GIMT_Encode4(165644),
57964 /* 164945 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
57965 /* 164948 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
57966 /* 164951 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
57967 /* 164954 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4540*/ GIMT_Encode4(165021), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1176 //
57968 /* 164961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57969 /* 164965 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57970 /* 164969 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57971 /* 164973 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57972 /* 164976 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57973 /* 164980 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57974 /* 164984 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57975 /* 164988 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57976 /* 164992 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57977 /* 164994 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57978 /* 165001 */ // (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)
57979 /* 165001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDYm),
57980 /* 165004 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57981 /* 165006 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57982 /* 165008 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57983 /* 165010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57984 /* 165014 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57985 /* 165019 */ GIR_RootConstrainSelectedInstOperands,
57986 /* 165020 */ // GIR_Coverage, 1176,
57987 /* 165020 */ GIR_EraseRootFromParent_Done,
57988 /* 165021 */ // Label 4540: @165021
57989 /* 165021 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4541*/ GIMT_Encode4(165088), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9672 //
57990 /* 165028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57991 /* 165032 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57992 /* 165036 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57993 /* 165040 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57994 /* 165043 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57995 /* 165047 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57996 /* 165051 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57997 /* 165055 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57998 /* 165059 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57999 /* 165061 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58000 /* 165068 */ // (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)
58001 /* 165068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ256m),
58002 /* 165071 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58003 /* 165073 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58004 /* 165075 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58005 /* 165077 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58006 /* 165081 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58007 /* 165086 */ GIR_RootConstrainSelectedInstOperands,
58008 /* 165087 */ // GIR_Coverage, 9672,
58009 /* 165087 */ GIR_EraseRootFromParent_Done,
58010 /* 165088 */ // Label 4541: @165088
58011 /* 165088 */ GIM_Try, /*On fail goto*//*Label 4542*/ GIMT_Encode4(165285),
58012 /* 165093 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58013 /* 165097 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4543*/ GIMT_Encode4(165160), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 23559 //
58014 /* 165104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58015 /* 165108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58016 /* 165112 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58017 /* 165115 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58018 /* 165119 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58019 /* 165123 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58020 /* 165127 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58021 /* 165131 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58022 /* 165133 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58023 /* 165140 */ // (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)
58024 /* 165140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
58025 /* 165143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58026 /* 165145 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58027 /* 165147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58028 /* 165151 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58029 /* 165153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58030 /* 165158 */ GIR_RootConstrainSelectedInstOperands,
58031 /* 165159 */ // GIR_Coverage, 23559,
58032 /* 165159 */ GIR_EraseRootFromParent_Done,
58033 /* 165160 */ // Label 4543: @165160
58034 /* 165160 */ GIM_Try, /*On fail goto*//*Label 4544*/ GIMT_Encode4(165284),
58035 /* 165165 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58036 /* 165169 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58037 /* 165173 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4545*/ GIMT_Encode4(165228), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1174 //
58038 /* 165180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58039 /* 165184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58040 /* 165188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58041 /* 165191 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58042 /* 165195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58043 /* 165199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58044 /* 165201 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58045 /* 165208 */ // (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)
58046 /* 165208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDYm),
58047 /* 165211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58048 /* 165213 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58049 /* 165215 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58050 /* 165217 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58051 /* 165221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58052 /* 165226 */ GIR_RootConstrainSelectedInstOperands,
58053 /* 165227 */ // GIR_Coverage, 1174,
58054 /* 165227 */ GIR_EraseRootFromParent_Done,
58055 /* 165228 */ // Label 4545: @165228
58056 /* 165228 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4546*/ GIMT_Encode4(165283), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1456 //
58057 /* 165235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58058 /* 165239 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58059 /* 165243 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58060 /* 165246 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58061 /* 165250 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58062 /* 165254 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58063 /* 165256 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58064 /* 165263 */ // (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)
58065 /* 165263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
58066 /* 165266 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58067 /* 165268 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58068 /* 165270 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58069 /* 165274 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58070 /* 165276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58071 /* 165281 */ GIR_RootConstrainSelectedInstOperands,
58072 /* 165282 */ // GIR_Coverage, 1456,
58073 /* 165282 */ GIR_EraseRootFromParent_Done,
58074 /* 165283 */ // Label 4546: @165283
58075 /* 165283 */ GIM_Reject,
58076 /* 165284 */ // Label 4544: @165284
58077 /* 165284 */ GIM_Reject,
58078 /* 165285 */ // Label 4542: @165285
58079 /* 165285 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4547*/ GIMT_Encode4(165352), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9132 //
58080 /* 165292 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58081 /* 165296 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58082 /* 165300 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58083 /* 165304 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58084 /* 165308 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58085 /* 165311 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58086 /* 165315 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58087 /* 165319 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58088 /* 165323 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58089 /* 165325 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58090 /* 165332 */ // (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)
58091 /* 165332 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ256m),
58092 /* 165335 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58093 /* 165337 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58094 /* 165339 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58095 /* 165341 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58096 /* 165345 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58097 /* 165350 */ GIR_RootConstrainSelectedInstOperands,
58098 /* 165351 */ // GIR_Coverage, 9132,
58099 /* 165351 */ GIR_EraseRootFromParent_Done,
58100 /* 165352 */ // Label 4547: @165352
58101 /* 165352 */ GIM_Try, /*On fail goto*//*Label 4548*/ GIMT_Encode4(165480),
58102 /* 165357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58103 /* 165361 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58104 /* 165365 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58105 /* 165369 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4549*/ GIMT_Encode4(165424), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1172 //
58106 /* 165376 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58107 /* 165380 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58108 /* 165384 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58109 /* 165387 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58110 /* 165391 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58111 /* 165395 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58112 /* 165397 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58113 /* 165404 */ // (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)
58114 /* 165404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYm),
58115 /* 165407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58116 /* 165409 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58117 /* 165411 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58118 /* 165413 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58119 /* 165417 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58120 /* 165422 */ GIR_RootConstrainSelectedInstOperands,
58121 /* 165423 */ // GIR_Coverage, 1172,
58122 /* 165423 */ GIR_EraseRootFromParent_Done,
58123 /* 165424 */ // Label 4549: @165424
58124 /* 165424 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4550*/ GIMT_Encode4(165479), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1454 //
58125 /* 165431 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58126 /* 165435 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58127 /* 165439 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58128 /* 165442 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58129 /* 165446 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58130 /* 165450 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58131 /* 165452 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58132 /* 165459 */ // (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)
58133 /* 165459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrm),
58134 /* 165462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58135 /* 165464 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58136 /* 165466 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
58137 /* 165468 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58138 /* 165472 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58139 /* 165477 */ GIR_RootConstrainSelectedInstOperands,
58140 /* 165478 */ // GIR_Coverage, 1454,
58141 /* 165478 */ GIR_EraseRootFromParent_Done,
58142 /* 165479 */ // Label 4550: @165479
58143 /* 165479 */ GIM_Reject,
58144 /* 165480 */ // Label 4548: @165480
58145 /* 165480 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4551*/ GIMT_Encode4(165547), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8503 //
58146 /* 165487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58147 /* 165491 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58148 /* 165495 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58149 /* 165499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58150 /* 165503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58151 /* 165507 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58152 /* 165510 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58153 /* 165514 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58154 /* 165518 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58155 /* 165520 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58156 /* 165527 */ // (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)
58157 /* 165527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256m),
58158 /* 165530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58159 /* 165532 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58160 /* 165534 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58161 /* 165536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58162 /* 165540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58163 /* 165545 */ GIR_RootConstrainSelectedInstOperands,
58164 /* 165546 */ // GIR_Coverage, 8503,
58165 /* 165546 */ GIR_EraseRootFromParent_Done,
58166 /* 165547 */ // Label 4551: @165547
58167 /* 165547 */ GIM_Try, /*On fail goto*//*Label 4552*/ GIMT_Encode4(165607),
58168 /* 165552 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58169 /* 165556 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58170 /* 165560 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58171 /* 165564 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58172 /* 165568 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4553*/ GIMT_Encode4(165588), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1170 //
58173 /* 165575 */ // (fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src3) => (VFMADD213PDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
58174 /* 165575 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYr),
58175 /* 165578 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58176 /* 165580 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58177 /* 165582 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58178 /* 165584 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58179 /* 165586 */ GIR_RootConstrainSelectedInstOperands,
58180 /* 165587 */ // GIR_Coverage, 1170,
58181 /* 165587 */ GIR_EraseRootFromParent_Done,
58182 /* 165588 */ // Label 4553: @165588
58183 /* 165588 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4554*/ GIMT_Encode4(165606), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1452 //
58184 /* 165595 */ // (fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3) => (VFMADDPD4Yrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
58185 /* 165595 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrr),
58186 /* 165600 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58187 /* 165604 */ GIR_RootConstrainSelectedInstOperands,
58188 /* 165605 */ // GIR_Coverage, 1452,
58189 /* 165605 */ GIR_Done,
58190 /* 165606 */ // Label 4554: @165606
58191 /* 165606 */ GIM_Reject,
58192 /* 165607 */ // Label 4552: @165607
58193 /* 165607 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4555*/ GIMT_Encode4(165643), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8499 //
58194 /* 165614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58195 /* 165618 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58196 /* 165622 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58197 /* 165626 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58198 /* 165630 */ // (fma:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src3) => (VFMADD213PDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src3)
58199 /* 165630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256r),
58200 /* 165633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58201 /* 165635 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58202 /* 165637 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58203 /* 165639 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58204 /* 165641 */ GIR_RootConstrainSelectedInstOperands,
58205 /* 165642 */ // GIR_Coverage, 8499,
58206 /* 165642 */ GIR_EraseRootFromParent_Done,
58207 /* 165643 */ // Label 4555: @165643
58208 /* 165643 */ GIM_Reject,
58209 /* 165644 */ // Label 4539: @165644
58210 /* 165644 */ GIM_Reject,
58211 /* 165645 */ // Label 4417: @165645
58212 /* 165645 */ GIM_Try, /*On fail goto*//*Label 4556*/ GIMT_Encode4(165885),
58213 /* 165650 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
58214 /* 165653 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
58215 /* 165656 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
58216 /* 165659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58217 /* 165663 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4557*/ GIMT_Encode4(165726), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 9660 //
58218 /* 165670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58219 /* 165674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58220 /* 165678 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58221 /* 165681 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58222 /* 165685 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58223 /* 165689 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58224 /* 165693 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58225 /* 165697 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58226 /* 165699 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58227 /* 165706 */ // (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)
58228 /* 165706 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZm),
58229 /* 165709 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58230 /* 165711 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58231 /* 165713 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58232 /* 165715 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58233 /* 165719 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58234 /* 165724 */ GIR_RootConstrainSelectedInstOperands,
58235 /* 165725 */ // GIR_Coverage, 9660,
58236 /* 165725 */ GIR_EraseRootFromParent_Done,
58237 /* 165726 */ // Label 4557: @165726
58238 /* 165726 */ GIM_Try, /*On fail goto*//*Label 4558*/ GIMT_Encode4(165884),
58239 /* 165731 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58240 /* 165735 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4559*/ GIMT_Encode4(165794), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 9120 //
58241 /* 165742 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58242 /* 165746 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58243 /* 165750 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58244 /* 165753 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58245 /* 165757 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58246 /* 165761 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58247 /* 165765 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58248 /* 165767 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58249 /* 165774 */ // (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)
58250 /* 165774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZm),
58251 /* 165777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58252 /* 165779 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58253 /* 165781 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58254 /* 165783 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58255 /* 165787 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58256 /* 165792 */ GIR_RootConstrainSelectedInstOperands,
58257 /* 165793 */ // GIR_Coverage, 9120,
58258 /* 165793 */ GIR_EraseRootFromParent_Done,
58259 /* 165794 */ // Label 4559: @165794
58260 /* 165794 */ GIM_Try, /*On fail goto*//*Label 4560*/ GIMT_Encode4(165883),
58261 /* 165799 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58262 /* 165803 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4561*/ GIMT_Encode4(165858), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8488 //
58263 /* 165810 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58264 /* 165814 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58265 /* 165818 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58266 /* 165821 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58267 /* 165825 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58268 /* 165829 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58269 /* 165831 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58270 /* 165838 */ // (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)
58271 /* 165838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZm),
58272 /* 165841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58273 /* 165843 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58274 /* 165845 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58275 /* 165847 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58276 /* 165851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58277 /* 165856 */ GIR_RootConstrainSelectedInstOperands,
58278 /* 165857 */ // GIR_Coverage, 8488,
58279 /* 165857 */ GIR_EraseRootFromParent_Done,
58280 /* 165858 */ // Label 4561: @165858
58281 /* 165858 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4562*/ GIMT_Encode4(165882), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8484 //
58282 /* 165865 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58283 /* 165869 */ // (fma:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src3) => (VFMADD213PDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src3)
58284 /* 165869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZr),
58285 /* 165872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58286 /* 165874 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58287 /* 165876 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58288 /* 165878 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58289 /* 165880 */ GIR_RootConstrainSelectedInstOperands,
58290 /* 165881 */ // GIR_Coverage, 8484,
58291 /* 165881 */ GIR_EraseRootFromParent_Done,
58292 /* 165882 */ // Label 4562: @165882
58293 /* 165882 */ GIM_Reject,
58294 /* 165883 */ // Label 4560: @165883
58295 /* 165883 */ GIM_Reject,
58296 /* 165884 */ // Label 4558: @165884
58297 /* 165884 */ GIM_Reject,
58298 /* 165885 */ // Label 4556: @165885
58299 /* 165885 */ GIM_Reject,
58300 /* 165886 */ // Label 4418: @165886
58301 /* 165886 */ GIM_Reject,
58302 /* 165887 */ // Label 48: @165887
58303 /* 165887 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4576*/ GIMT_Encode4(169903),
58304 /* 165898 */ /*GILLT_s16*//*Label 4563*/ GIMT_Encode4(165990),
58305 /* 165902 */ /*GILLT_s32*//*Label 4564*/ GIMT_Encode4(166086),
58306 /* 165906 */ /*GILLT_s64*//*Label 4565*/ GIMT_Encode4(167007),
58307 /* 165910 */ /*GILLT_s80*//*Label 4566*/ GIMT_Encode4(168054), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
58308 /* 165954 */ /*GILLT_v8s16*//*Label 4567*/ GIMT_Encode4(168595),
58309 /* 165958 */ /*GILLT_v16s16*//*Label 4568*/ GIMT_Encode4(168691),
58310 /* 165962 */ /*GILLT_v32s16*//*Label 4569*/ GIMT_Encode4(168787),
58311 /* 165966 */ /*GILLT_v4s32*//*Label 4570*/ GIMT_Encode4(168883),
58312 /* 165970 */ /*GILLT_v8s32*//*Label 4571*/ GIMT_Encode4(169102),
58313 /* 165974 */ /*GILLT_v16s32*//*Label 4572*/ GIMT_Encode4(169297),
58314 /* 165978 */ /*GILLT_v2s64*//*Label 4573*/ GIMT_Encode4(169393),
58315 /* 165982 */ /*GILLT_v4s64*//*Label 4574*/ GIMT_Encode4(169612),
58316 /* 165986 */ /*GILLT_v8s64*//*Label 4575*/ GIMT_Encode4(169807),
58317 /* 165990 */ // Label 4563: @165990
58318 /* 165990 */ GIM_Try, /*On fail goto*//*Label 4577*/ GIMT_Encode4(166085),
58319 /* 165995 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
58320 /* 165998 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
58321 /* 166001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58322 /* 166005 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58323 /* 166009 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4578*/ GIMT_Encode4(166062), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6127 //
58324 /* 166016 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58325 /* 166020 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58326 /* 166024 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58327 /* 166027 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58328 /* 166031 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58329 /* 166035 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58330 /* 166037 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58331 /* 166044 */ // (fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
58332 /* 166044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrm),
58333 /* 166047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58334 /* 166049 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58335 /* 166051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58336 /* 166055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58337 /* 166060 */ GIR_RootConstrainSelectedInstOperands,
58338 /* 166061 */ // GIR_Coverage, 6127,
58339 /* 166061 */ GIR_EraseRootFromParent_Done,
58340 /* 166062 */ // Label 4578: @166062
58341 /* 166062 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4579*/ GIMT_Encode4(166084), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6125 //
58342 /* 166069 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58343 /* 166073 */ // (fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VDIVSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
58344 /* 166073 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrr),
58345 /* 166078 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58346 /* 166082 */ GIR_RootConstrainSelectedInstOperands,
58347 /* 166083 */ // GIR_Coverage, 6125,
58348 /* 166083 */ GIR_Done,
58349 /* 166084 */ // Label 4579: @166084
58350 /* 166084 */ GIM_Reject,
58351 /* 166085 */ // Label 4577: @166085
58352 /* 166085 */ GIM_Reject,
58353 /* 166086 */ // Label 4564: @166086
58354 /* 166086 */ GIM_Try, /*On fail goto*//*Label 4580*/ GIMT_Encode4(167006),
58355 /* 166091 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
58356 /* 166094 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
58357 /* 166097 */ GIM_Try, /*On fail goto*//*Label 4581*/ GIMT_Encode4(166257),
58358 /* 166102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58359 /* 166106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58360 /* 166110 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4582*/ GIMT_Encode4(166183), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22685 //
58361 /* 166117 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58362 /* 166121 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
58363 /* 166125 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
58364 /* 166129 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
58365 /* 166133 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
58366 /* 166137 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
58367 /* 166140 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
58368 /* 166144 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58369 /* 166151 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
58370 /* 166155 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
58371 /* 166157 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58372 /* 166164 */ // (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)
58373 /* 166164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
58374 /* 166167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58375 /* 166169 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58376 /* 166171 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58377 /* 166175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
58378 /* 166181 */ GIR_RootConstrainSelectedInstOperands,
58379 /* 166182 */ // GIR_Coverage, 22685,
58380 /* 166182 */ GIR_EraseRootFromParent_Done,
58381 /* 166183 */ // Label 4582: @166183
58382 /* 166183 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4583*/ GIMT_Encode4(166256), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22686 //
58383 /* 166190 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58384 /* 166194 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
58385 /* 166198 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
58386 /* 166202 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
58387 /* 166206 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
58388 /* 166210 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
58389 /* 166213 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
58390 /* 166217 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58391 /* 166224 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
58392 /* 166228 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
58393 /* 166230 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58394 /* 166237 */ // (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)
58395 /* 166237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
58396 /* 166240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58397 /* 166242 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58398 /* 166244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58399 /* 166248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
58400 /* 166254 */ GIR_RootConstrainSelectedInstOperands,
58401 /* 166255 */ // GIR_Coverage, 22686,
58402 /* 166255 */ GIR_EraseRootFromParent_Done,
58403 /* 166256 */ // Label 4583: @166256
58404 /* 166256 */ GIM_Reject,
58405 /* 166257 */ // Label 4581: @166257
58406 /* 166257 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4584*/ GIMT_Encode4(166338), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22687 //
58407 /* 166264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58408 /* 166268 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58409 /* 166272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58410 /* 166276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
58411 /* 166280 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
58412 /* 166284 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
58413 /* 166288 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
58414 /* 166292 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
58415 /* 166295 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
58416 /* 166299 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58417 /* 166306 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
58418 /* 166310 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
58419 /* 166312 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58420 /* 166319 */ // (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)
58421 /* 166319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
58422 /* 166322 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58423 /* 166324 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58424 /* 166326 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58425 /* 166330 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
58426 /* 166336 */ GIR_RootConstrainSelectedInstOperands,
58427 /* 166337 */ // GIR_Coverage, 22687,
58428 /* 166337 */ GIR_EraseRootFromParent_Done,
58429 /* 166338 */ // Label 4584: @166338
58430 /* 166338 */ GIM_Try, /*On fail goto*//*Label 4585*/ GIMT_Encode4(166704),
58431 /* 166343 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
58432 /* 166347 */ GIM_Try, /*On fail goto*//*Label 4586*/ GIMT_Encode4(166525),
58433 /* 166352 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
58434 /* 166356 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4587*/ GIMT_Encode4(166412), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1007 //
58435 /* 166363 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58436 /* 166367 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
58437 /* 166371 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
58438 /* 166378 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58439 /* 166382 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58440 /* 166384 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58441 /* 166391 */ // (fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58442 /* 166391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m32),
58443 /* 166394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58444 /* 166396 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58445 /* 166398 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58446 /* 166402 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58447 /* 166405 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58448 /* 166410 */ GIR_RootConstrainSelectedInstOperands,
58449 /* 166411 */ // GIR_Coverage, 1007,
58450 /* 166411 */ GIR_EraseRootFromParent_Done,
58451 /* 166412 */ // Label 4587: @166412
58452 /* 166412 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4588*/ GIMT_Encode4(166468), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1009 //
58453 /* 166419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58454 /* 166423 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
58455 /* 166427 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58456 /* 166434 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58457 /* 166438 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58458 /* 166440 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58459 /* 166447 */ // (fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58460 /* 166447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m32),
58461 /* 166450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58462 /* 166452 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58463 /* 166454 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58464 /* 166458 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58465 /* 166461 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58466 /* 166466 */ GIR_RootConstrainSelectedInstOperands,
58467 /* 166467 */ // GIR_Coverage, 1009,
58468 /* 166467 */ GIR_EraseRootFromParent_Done,
58469 /* 166468 */ // Label 4588: @166468
58470 /* 166468 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4589*/ GIMT_Encode4(166524), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 997 //
58471 /* 166475 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58472 /* 166479 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58473 /* 166483 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58474 /* 166486 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58475 /* 166490 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58476 /* 166494 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58477 /* 166496 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58478 /* 166503 */ // (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)
58479 /* 166503 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp32m),
58480 /* 166506 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58481 /* 166508 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58482 /* 166510 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58483 /* 166514 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58484 /* 166517 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58485 /* 166522 */ GIR_RootConstrainSelectedInstOperands,
58486 /* 166523 */ // GIR_Coverage, 997,
58487 /* 166523 */ GIR_EraseRootFromParent_Done,
58488 /* 166524 */ // Label 4589: @166524
58489 /* 166524 */ GIM_Reject,
58490 /* 166525 */ // Label 4586: @166525
58491 /* 166525 */ GIM_Try, /*On fail goto*//*Label 4590*/ GIMT_Encode4(166703),
58492 /* 166530 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
58493 /* 166534 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4591*/ GIMT_Encode4(166590), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 985 //
58494 /* 166541 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58495 /* 166545 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
58496 /* 166549 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
58497 /* 166556 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58498 /* 166560 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58499 /* 166562 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58500 /* 166569 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58501 /* 166569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m32),
58502 /* 166572 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58503 /* 166574 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58504 /* 166576 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58505 /* 166580 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58506 /* 166583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58507 /* 166588 */ GIR_RootConstrainSelectedInstOperands,
58508 /* 166589 */ // GIR_Coverage, 985,
58509 /* 166589 */ GIR_EraseRootFromParent_Done,
58510 /* 166590 */ // Label 4591: @166590
58511 /* 166590 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4592*/ GIMT_Encode4(166646), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 987 //
58512 /* 166597 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58513 /* 166601 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
58514 /* 166605 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58515 /* 166612 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58516 /* 166616 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58517 /* 166618 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58518 /* 166625 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58519 /* 166625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m32),
58520 /* 166628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58521 /* 166630 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58522 /* 166632 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58523 /* 166636 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58524 /* 166639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58525 /* 166644 */ GIR_RootConstrainSelectedInstOperands,
58526 /* 166645 */ // GIR_Coverage, 987,
58527 /* 166645 */ GIR_EraseRootFromParent_Done,
58528 /* 166646 */ // Label 4592: @166646
58529 /* 166646 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4593*/ GIMT_Encode4(166702), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 975 //
58530 /* 166653 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58531 /* 166657 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58532 /* 166661 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58533 /* 166664 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58534 /* 166668 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58535 /* 166672 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58536 /* 166674 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58537 /* 166681 */ // (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)
58538 /* 166681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32m),
58539 /* 166684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58540 /* 166686 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58541 /* 166688 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58542 /* 166692 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58543 /* 166695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58544 /* 166700 */ GIR_RootConstrainSelectedInstOperands,
58545 /* 166701 */ // GIR_Coverage, 975,
58546 /* 166701 */ GIR_EraseRootFromParent_Done,
58547 /* 166702 */ // Label 4593: @166702
58548 /* 166702 */ GIM_Reject,
58549 /* 166703 */ // Label 4590: @166703
58550 /* 166703 */ GIM_Reject,
58551 /* 166704 */ // Label 4585: @166704
58552 /* 166704 */ GIM_Try, /*On fail goto*//*Label 4594*/ GIMT_Encode4(166824),
58553 /* 166709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58554 /* 166713 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58555 /* 166717 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4595*/ GIMT_Encode4(166770), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2262 //
58556 /* 166724 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58557 /* 166728 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58558 /* 166732 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58559 /* 166735 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58560 /* 166739 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58561 /* 166743 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58562 /* 166745 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58563 /* 166752 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58564 /* 166752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
58565 /* 166755 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58566 /* 166757 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58567 /* 166759 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58568 /* 166763 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58569 /* 166768 */ GIR_RootConstrainSelectedInstOperands,
58570 /* 166769 */ // GIR_Coverage, 2262,
58571 /* 166769 */ GIR_EraseRootFromParent_Done,
58572 /* 166770 */ // Label 4595: @166770
58573 /* 166770 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4596*/ GIMT_Encode4(166823), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2270 //
58574 /* 166777 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58575 /* 166781 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58576 /* 166785 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58577 /* 166788 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58578 /* 166792 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58579 /* 166796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58580 /* 166798 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58581 /* 166805 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIVSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58582 /* 166805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
58583 /* 166808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58584 /* 166810 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58585 /* 166812 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58586 /* 166816 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58587 /* 166821 */ GIR_RootConstrainSelectedInstOperands,
58588 /* 166822 */ // GIR_Coverage, 2270,
58589 /* 166822 */ GIR_EraseRootFromParent_Done,
58590 /* 166823 */ // Label 4596: @166823
58591 /* 166823 */ GIM_Reject,
58592 /* 166824 */ // Label 4594: @166824
58593 /* 166824 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4597*/ GIMT_Encode4(166885), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6089 //
58594 /* 166831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58595 /* 166835 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58596 /* 166839 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58597 /* 166843 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58598 /* 166847 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58599 /* 166850 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58600 /* 166854 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58601 /* 166858 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58602 /* 166860 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58603 /* 166867 */ // (fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58604 /* 166867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
58605 /* 166870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58606 /* 166872 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58607 /* 166874 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58608 /* 166878 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58609 /* 166883 */ GIR_RootConstrainSelectedInstOperands,
58610 /* 166884 */ // GIR_Coverage, 6089,
58611 /* 166884 */ GIR_EraseRootFromParent_Done,
58612 /* 166885 */ // Label 4597: @166885
58613 /* 166885 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4598*/ GIMT_Encode4(166921), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 881 //
58614 /* 166892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
58615 /* 166896 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
58616 /* 166900 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
58617 /* 166904 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (DIV_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
58618 /* 166904 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32),
58619 /* 166909 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
58620 /* 166915 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
58621 /* 166919 */ GIR_RootConstrainSelectedInstOperands,
58622 /* 166920 */ // GIR_Coverage, 881,
58623 /* 166920 */ GIR_Done,
58624 /* 166921 */ // Label 4598: @166921
58625 /* 166921 */ GIM_Try, /*On fail goto*//*Label 4599*/ GIMT_Encode4(166975),
58626 /* 166926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58627 /* 166930 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58628 /* 166934 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58629 /* 166938 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4600*/ GIMT_Encode4(166956), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2260 //
58630 /* 166945 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VDIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
58631 /* 166945 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSrr),
58632 /* 166950 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58633 /* 166954 */ GIR_RootConstrainSelectedInstOperands,
58634 /* 166955 */ // GIR_Coverage, 2260,
58635 /* 166955 */ GIR_Done,
58636 /* 166956 */ // Label 4600: @166956
58637 /* 166956 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4601*/ GIMT_Encode4(166974), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2268 //
58638 /* 166963 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (DIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
58639 /* 166963 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSSrr),
58640 /* 166968 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58641 /* 166972 */ GIR_RootConstrainSelectedInstOperands,
58642 /* 166973 */ // GIR_Coverage, 2268,
58643 /* 166973 */ GIR_Done,
58644 /* 166974 */ // Label 4601: @166974
58645 /* 166974 */ GIM_Reject,
58646 /* 166975 */ // Label 4599: @166975
58647 /* 166975 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4602*/ GIMT_Encode4(167005), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6087 //
58648 /* 166982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58649 /* 166986 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58650 /* 166990 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58651 /* 166994 */ // (fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VDIVSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
58652 /* 166994 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrr),
58653 /* 166999 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58654 /* 167003 */ GIR_RootConstrainSelectedInstOperands,
58655 /* 167004 */ // GIR_Coverage, 6087,
58656 /* 167004 */ GIR_Done,
58657 /* 167005 */ // Label 4602: @167005
58658 /* 167005 */ GIM_Reject,
58659 /* 167006 */ // Label 4580: @167006
58660 /* 167006 */ GIM_Reject,
58661 /* 167007 */ // Label 4565: @167007
58662 /* 167007 */ GIM_Try, /*On fail goto*//*Label 4603*/ GIMT_Encode4(168053),
58663 /* 167012 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
58664 /* 167015 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
58665 /* 167018 */ GIM_Try, /*On fail goto*//*Label 4604*/ GIMT_Encode4(167178),
58666 /* 167023 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58667 /* 167027 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58668 /* 167031 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4605*/ GIMT_Encode4(167104), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 22688 //
58669 /* 167038 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58670 /* 167042 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
58671 /* 167046 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
58672 /* 167050 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
58673 /* 167054 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
58674 /* 167058 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
58675 /* 167061 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
58676 /* 167065 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
58677 /* 167072 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
58678 /* 167076 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
58679 /* 167078 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58680 /* 167085 */ // (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)
58681 /* 167085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
58682 /* 167088 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58683 /* 167090 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58684 /* 167092 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58685 /* 167096 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
58686 /* 167102 */ GIR_RootConstrainSelectedInstOperands,
58687 /* 167103 */ // GIR_Coverage, 22688,
58688 /* 167103 */ GIR_EraseRootFromParent_Done,
58689 /* 167104 */ // Label 4605: @167104
58690 /* 167104 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4606*/ GIMT_Encode4(167177), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 22689 //
58691 /* 167111 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58692 /* 167115 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
58693 /* 167119 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
58694 /* 167123 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
58695 /* 167127 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
58696 /* 167131 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
58697 /* 167134 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
58698 /* 167138 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
58699 /* 167145 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
58700 /* 167149 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
58701 /* 167151 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58702 /* 167158 */ // (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)
58703 /* 167158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
58704 /* 167161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58705 /* 167163 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58706 /* 167165 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58707 /* 167169 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
58708 /* 167175 */ GIR_RootConstrainSelectedInstOperands,
58709 /* 167176 */ // GIR_Coverage, 22689,
58710 /* 167176 */ GIR_EraseRootFromParent_Done,
58711 /* 167177 */ // Label 4606: @167177
58712 /* 167177 */ GIM_Reject,
58713 /* 167178 */ // Label 4604: @167178
58714 /* 167178 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4607*/ GIMT_Encode4(167259), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 22690 //
58715 /* 167185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58716 /* 167189 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58717 /* 167193 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58718 /* 167197 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
58719 /* 167201 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
58720 /* 167205 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
58721 /* 167209 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
58722 /* 167213 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
58723 /* 167216 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
58724 /* 167220 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
58725 /* 167227 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
58726 /* 167231 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
58727 /* 167233 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58728 /* 167240 */ // (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)
58729 /* 167240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
58730 /* 167243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58731 /* 167245 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58732 /* 167247 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58733 /* 167251 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
58734 /* 167257 */ GIR_RootConstrainSelectedInstOperands,
58735 /* 167258 */ // GIR_Coverage, 22690,
58736 /* 167258 */ GIR_EraseRootFromParent_Done,
58737 /* 167259 */ // Label 4607: @167259
58738 /* 167259 */ GIM_Try, /*On fail goto*//*Label 4608*/ GIMT_Encode4(167751),
58739 /* 167264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
58740 /* 167268 */ GIM_Try, /*On fail goto*//*Label 4609*/ GIMT_Encode4(167509),
58741 /* 167273 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
58742 /* 167277 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4610*/ GIMT_Encode4(167333), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1011 //
58743 /* 167284 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58744 /* 167288 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
58745 /* 167292 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
58746 /* 167299 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58747 /* 167303 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58748 /* 167305 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58749 /* 167312 */ // (fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58750 /* 167312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m64),
58751 /* 167315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58752 /* 167317 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58753 /* 167319 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58754 /* 167323 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58755 /* 167326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58756 /* 167331 */ GIR_RootConstrainSelectedInstOperands,
58757 /* 167332 */ // GIR_Coverage, 1011,
58758 /* 167332 */ GIR_EraseRootFromParent_Done,
58759 /* 167333 */ // Label 4610: @167333
58760 /* 167333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4611*/ GIMT_Encode4(167389), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1013 //
58761 /* 167340 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58762 /* 167344 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
58763 /* 167348 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58764 /* 167355 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58765 /* 167359 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58766 /* 167361 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58767 /* 167368 */ // (fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58768 /* 167368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m64),
58769 /* 167371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58770 /* 167373 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58771 /* 167375 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58772 /* 167379 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58773 /* 167382 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58774 /* 167387 */ GIR_RootConstrainSelectedInstOperands,
58775 /* 167388 */ // GIR_Coverage, 1013,
58776 /* 167388 */ GIR_EraseRootFromParent_Done,
58777 /* 167389 */ // Label 4611: @167389
58778 /* 167389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4612*/ GIMT_Encode4(167452), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1001 //
58779 /* 167396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58780 /* 167400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
58781 /* 167404 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58782 /* 167407 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58783 /* 167411 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58784 /* 167418 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58785 /* 167422 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58786 /* 167424 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58787 /* 167431 */ // (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)
58788 /* 167431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m32),
58789 /* 167434 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58790 /* 167436 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58791 /* 167438 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58792 /* 167442 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58793 /* 167445 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58794 /* 167450 */ GIR_RootConstrainSelectedInstOperands,
58795 /* 167451 */ // GIR_Coverage, 1001,
58796 /* 167451 */ GIR_EraseRootFromParent_Done,
58797 /* 167452 */ // Label 4612: @167452
58798 /* 167452 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4613*/ GIMT_Encode4(167508), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 999 //
58799 /* 167459 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58800 /* 167463 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58801 /* 167467 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58802 /* 167470 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58803 /* 167474 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58804 /* 167478 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58805 /* 167480 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58806 /* 167487 */ // (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)
58807 /* 167487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m),
58808 /* 167490 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58809 /* 167492 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58810 /* 167494 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58811 /* 167498 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58812 /* 167501 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58813 /* 167506 */ GIR_RootConstrainSelectedInstOperands,
58814 /* 167507 */ // GIR_Coverage, 999,
58815 /* 167507 */ GIR_EraseRootFromParent_Done,
58816 /* 167508 */ // Label 4613: @167508
58817 /* 167508 */ GIM_Reject,
58818 /* 167509 */ // Label 4609: @167509
58819 /* 167509 */ GIM_Try, /*On fail goto*//*Label 4614*/ GIMT_Encode4(167750),
58820 /* 167514 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
58821 /* 167518 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4615*/ GIMT_Encode4(167574), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 989 //
58822 /* 167525 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58823 /* 167529 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
58824 /* 167533 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
58825 /* 167540 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58826 /* 167544 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58827 /* 167546 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58828 /* 167553 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58829 /* 167553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m64),
58830 /* 167556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58831 /* 167558 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58832 /* 167560 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58833 /* 167564 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58834 /* 167567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58835 /* 167572 */ GIR_RootConstrainSelectedInstOperands,
58836 /* 167573 */ // GIR_Coverage, 989,
58837 /* 167573 */ GIR_EraseRootFromParent_Done,
58838 /* 167574 */ // Label 4615: @167574
58839 /* 167574 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4616*/ GIMT_Encode4(167630), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 991 //
58840 /* 167581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58841 /* 167585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
58842 /* 167589 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58843 /* 167596 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58844 /* 167600 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58845 /* 167602 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58846 /* 167609 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58847 /* 167609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m64),
58848 /* 167612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58849 /* 167614 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58850 /* 167616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58851 /* 167620 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58852 /* 167623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58853 /* 167628 */ GIR_RootConstrainSelectedInstOperands,
58854 /* 167629 */ // GIR_Coverage, 991,
58855 /* 167629 */ GIR_EraseRootFromParent_Done,
58856 /* 167630 */ // Label 4616: @167630
58857 /* 167630 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4617*/ GIMT_Encode4(167693), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 979 //
58858 /* 167637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58859 /* 167641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
58860 /* 167645 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58861 /* 167648 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58862 /* 167652 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
58863 /* 167659 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58864 /* 167663 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58865 /* 167665 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58866 /* 167672 */ // (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)
58867 /* 167672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m32),
58868 /* 167675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58869 /* 167677 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58870 /* 167679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58871 /* 167683 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58872 /* 167686 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58873 /* 167691 */ GIR_RootConstrainSelectedInstOperands,
58874 /* 167692 */ // GIR_Coverage, 979,
58875 /* 167692 */ GIR_EraseRootFromParent_Done,
58876 /* 167693 */ // Label 4617: @167693
58877 /* 167693 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4618*/ GIMT_Encode4(167749), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 977 //
58878 /* 167700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58879 /* 167704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58880 /* 167708 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58881 /* 167711 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58882 /* 167715 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58883 /* 167719 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58884 /* 167721 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58885 /* 167728 */ // (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)
58886 /* 167728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m),
58887 /* 167731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58888 /* 167733 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58889 /* 167735 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58890 /* 167739 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58891 /* 167742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58892 /* 167747 */ GIR_RootConstrainSelectedInstOperands,
58893 /* 167748 */ // GIR_Coverage, 977,
58894 /* 167748 */ GIR_EraseRootFromParent_Done,
58895 /* 167749 */ // Label 4618: @167749
58896 /* 167749 */ GIM_Reject,
58897 /* 167750 */ // Label 4614: @167750
58898 /* 167750 */ GIM_Reject,
58899 /* 167751 */ // Label 4608: @167751
58900 /* 167751 */ GIM_Try, /*On fail goto*//*Label 4619*/ GIMT_Encode4(167871),
58901 /* 167756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58902 /* 167760 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58903 /* 167764 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4620*/ GIMT_Encode4(167817), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2266 //
58904 /* 167771 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58905 /* 167775 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58906 /* 167779 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58907 /* 167782 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58908 /* 167786 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58909 /* 167790 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58910 /* 167792 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58911 /* 167799 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58912 /* 167799 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
58913 /* 167802 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58914 /* 167804 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58915 /* 167806 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58916 /* 167810 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58917 /* 167815 */ GIR_RootConstrainSelectedInstOperands,
58918 /* 167816 */ // GIR_Coverage, 2266,
58919 /* 167816 */ GIR_EraseRootFromParent_Done,
58920 /* 167817 */ // Label 4620: @167817
58921 /* 167817 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4621*/ GIMT_Encode4(167870), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2274 //
58922 /* 167824 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58923 /* 167828 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58924 /* 167832 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58925 /* 167835 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58926 /* 167839 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58927 /* 167843 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58928 /* 167845 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58929 /* 167852 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIVSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58930 /* 167852 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
58931 /* 167855 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58932 /* 167857 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58933 /* 167859 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58934 /* 167863 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58935 /* 167868 */ GIR_RootConstrainSelectedInstOperands,
58936 /* 167869 */ // GIR_Coverage, 2274,
58937 /* 167869 */ GIR_EraseRootFromParent_Done,
58938 /* 167870 */ // Label 4621: @167870
58939 /* 167870 */ GIM_Reject,
58940 /* 167871 */ // Label 4619: @167871
58941 /* 167871 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4622*/ GIMT_Encode4(167932), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6108 //
58942 /* 167878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58943 /* 167882 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58944 /* 167886 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58945 /* 167890 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58946 /* 167894 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58947 /* 167897 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58948 /* 167901 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58949 /* 167905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58950 /* 167907 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58951 /* 167914 */ // (fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58952 /* 167914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
58953 /* 167917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58954 /* 167919 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58955 /* 167921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58956 /* 167925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58957 /* 167930 */ GIR_RootConstrainSelectedInstOperands,
58958 /* 167931 */ // GIR_Coverage, 6108,
58959 /* 167931 */ GIR_EraseRootFromParent_Done,
58960 /* 167932 */ // Label 4622: @167932
58961 /* 167932 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4623*/ GIMT_Encode4(167968), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 883 //
58962 /* 167939 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
58963 /* 167943 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
58964 /* 167947 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
58965 /* 167951 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (DIV_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
58966 /* 167951 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64),
58967 /* 167956 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
58968 /* 167962 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
58969 /* 167966 */ GIR_RootConstrainSelectedInstOperands,
58970 /* 167967 */ // GIR_Coverage, 883,
58971 /* 167967 */ GIR_Done,
58972 /* 167968 */ // Label 4623: @167968
58973 /* 167968 */ GIM_Try, /*On fail goto*//*Label 4624*/ GIMT_Encode4(168022),
58974 /* 167973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58975 /* 167977 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58976 /* 167981 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58977 /* 167985 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4625*/ GIMT_Encode4(168003), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2264 //
58978 /* 167992 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VDIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
58979 /* 167992 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDrr),
58980 /* 167997 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58981 /* 168001 */ GIR_RootConstrainSelectedInstOperands,
58982 /* 168002 */ // GIR_Coverage, 2264,
58983 /* 168002 */ GIR_Done,
58984 /* 168003 */ // Label 4625: @168003
58985 /* 168003 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4626*/ GIMT_Encode4(168021), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2272 //
58986 /* 168010 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (DIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
58987 /* 168010 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSDrr),
58988 /* 168015 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58989 /* 168019 */ GIR_RootConstrainSelectedInstOperands,
58990 /* 168020 */ // GIR_Coverage, 2272,
58991 /* 168020 */ GIR_Done,
58992 /* 168021 */ // Label 4626: @168021
58993 /* 168021 */ GIM_Reject,
58994 /* 168022 */ // Label 4624: @168022
58995 /* 168022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4627*/ GIMT_Encode4(168052), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6106 //
58996 /* 168029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58997 /* 168033 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58998 /* 168037 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58999 /* 168041 */ // (fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VDIVSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
59000 /* 168041 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrr),
59001 /* 168046 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59002 /* 168050 */ GIR_RootConstrainSelectedInstOperands,
59003 /* 168051 */ // GIR_Coverage, 6106,
59004 /* 168051 */ GIR_Done,
59005 /* 168052 */ // Label 4627: @168052
59006 /* 168052 */ GIM_Reject,
59007 /* 168053 */ // Label 4603: @168053
59008 /* 168053 */ GIM_Reject,
59009 /* 168054 */ // Label 4566: @168054
59010 /* 168054 */ GIM_Try, /*On fail goto*//*Label 4628*/ GIMT_Encode4(168594),
59011 /* 168059 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
59012 /* 168062 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
59013 /* 168065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
59014 /* 168069 */ GIM_Try, /*On fail goto*//*Label 4629*/ GIMT_Encode4(168317),
59015 /* 168074 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
59016 /* 168078 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4630*/ GIMT_Encode4(168134), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1015 //
59017 /* 168085 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59018 /* 168089 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
59019 /* 168093 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
59020 /* 168100 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59021 /* 168104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59022 /* 168106 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59023 /* 168113 */ // (fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
59024 /* 168113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m80),
59025 /* 168116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59026 /* 168118 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59027 /* 168120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59028 /* 168124 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59029 /* 168127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59030 /* 168132 */ GIR_RootConstrainSelectedInstOperands,
59031 /* 168133 */ // GIR_Coverage, 1015,
59032 /* 168133 */ GIR_EraseRootFromParent_Done,
59033 /* 168134 */ // Label 4630: @168134
59034 /* 168134 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4631*/ GIMT_Encode4(168190), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1017 //
59035 /* 168141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59036 /* 168145 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
59037 /* 168149 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
59038 /* 168156 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59039 /* 168160 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59040 /* 168162 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59041 /* 168169 */ // (fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
59042 /* 168169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m80),
59043 /* 168172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59044 /* 168174 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59045 /* 168176 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59046 /* 168180 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59047 /* 168183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59048 /* 168188 */ GIR_RootConstrainSelectedInstOperands,
59049 /* 168189 */ // GIR_Coverage, 1017,
59050 /* 168189 */ GIR_EraseRootFromParent_Done,
59051 /* 168190 */ // Label 4631: @168190
59052 /* 168190 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4632*/ GIMT_Encode4(168253), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1003 //
59053 /* 168197 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59054 /* 168201 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
59055 /* 168205 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59056 /* 168208 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59057 /* 168212 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
59058 /* 168219 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59059 /* 168223 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59060 /* 168225 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59061 /* 168232 */ // (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)
59062 /* 168232 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m32),
59063 /* 168235 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59064 /* 168237 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59065 /* 168239 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59066 /* 168243 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59067 /* 168246 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59068 /* 168251 */ GIR_RootConstrainSelectedInstOperands,
59069 /* 168252 */ // GIR_Coverage, 1003,
59070 /* 168252 */ GIR_EraseRootFromParent_Done,
59071 /* 168253 */ // Label 4632: @168253
59072 /* 168253 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4633*/ GIMT_Encode4(168316), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1005 //
59073 /* 168260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59074 /* 168264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
59075 /* 168268 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59076 /* 168271 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59077 /* 168275 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
59078 /* 168282 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59079 /* 168286 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59080 /* 168288 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59081 /* 168295 */ // (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)
59082 /* 168295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m64),
59083 /* 168298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59084 /* 168300 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59085 /* 168302 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59086 /* 168306 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59087 /* 168309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59088 /* 168314 */ GIR_RootConstrainSelectedInstOperands,
59089 /* 168315 */ // GIR_Coverage, 1005,
59090 /* 168315 */ GIR_EraseRootFromParent_Done,
59091 /* 168316 */ // Label 4633: @168316
59092 /* 168316 */ GIM_Reject,
59093 /* 168317 */ // Label 4629: @168317
59094 /* 168317 */ GIM_Try, /*On fail goto*//*Label 4634*/ GIMT_Encode4(168593),
59095 /* 168322 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
59096 /* 168326 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4635*/ GIMT_Encode4(168382), GIMT_Encode2(GIFBS_HasX87), // Rule ID 993 //
59097 /* 168333 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59098 /* 168337 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
59099 /* 168341 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
59100 /* 168348 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59101 /* 168352 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59102 /* 168354 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59103 /* 168361 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
59104 /* 168361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m80),
59105 /* 168364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59106 /* 168366 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59107 /* 168368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59108 /* 168372 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59109 /* 168375 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59110 /* 168380 */ GIR_RootConstrainSelectedInstOperands,
59111 /* 168381 */ // GIR_Coverage, 993,
59112 /* 168381 */ GIR_EraseRootFromParent_Done,
59113 /* 168382 */ // Label 4635: @168382
59114 /* 168382 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4636*/ GIMT_Encode4(168438), GIMT_Encode2(GIFBS_HasX87), // Rule ID 995 //
59115 /* 168389 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59116 /* 168393 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
59117 /* 168397 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
59118 /* 168404 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59119 /* 168408 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59120 /* 168410 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59121 /* 168417 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
59122 /* 168417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m80),
59123 /* 168420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59124 /* 168422 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59125 /* 168424 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59126 /* 168428 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59127 /* 168431 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59128 /* 168436 */ GIR_RootConstrainSelectedInstOperands,
59129 /* 168437 */ // GIR_Coverage, 995,
59130 /* 168437 */ GIR_EraseRootFromParent_Done,
59131 /* 168438 */ // Label 4636: @168438
59132 /* 168438 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4637*/ GIMT_Encode4(168501), GIMT_Encode2(GIFBS_HasX87), // Rule ID 981 //
59133 /* 168445 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59134 /* 168449 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
59135 /* 168453 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59136 /* 168456 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59137 /* 168460 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
59138 /* 168467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59139 /* 168471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59140 /* 168473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59141 /* 168480 */ // (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)
59142 /* 168480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m32),
59143 /* 168483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59144 /* 168485 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59145 /* 168487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59146 /* 168491 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59147 /* 168494 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59148 /* 168499 */ GIR_RootConstrainSelectedInstOperands,
59149 /* 168500 */ // GIR_Coverage, 981,
59150 /* 168500 */ GIR_EraseRootFromParent_Done,
59151 /* 168501 */ // Label 4637: @168501
59152 /* 168501 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4638*/ GIMT_Encode4(168564), GIMT_Encode2(GIFBS_HasX87), // Rule ID 983 //
59153 /* 168508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59154 /* 168512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
59155 /* 168516 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59156 /* 168519 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59157 /* 168523 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
59158 /* 168530 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59159 /* 168534 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59160 /* 168536 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59161 /* 168543 */ // (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)
59162 /* 168543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m64),
59163 /* 168546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59164 /* 168548 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59165 /* 168550 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59166 /* 168554 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59167 /* 168557 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59168 /* 168562 */ GIR_RootConstrainSelectedInstOperands,
59169 /* 168563 */ // GIR_Coverage, 983,
59170 /* 168563 */ GIR_EraseRootFromParent_Done,
59171 /* 168564 */ // Label 4638: @168564
59172 /* 168564 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4639*/ GIMT_Encode4(168592), GIMT_Encode2(GIFBS_HasX87), // Rule ID 885 //
59173 /* 168571 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
59174 /* 168575 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (DIV_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
59175 /* 168575 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80),
59176 /* 168580 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
59177 /* 168586 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
59178 /* 168590 */ GIR_RootConstrainSelectedInstOperands,
59179 /* 168591 */ // GIR_Coverage, 885,
59180 /* 168591 */ GIR_Done,
59181 /* 168592 */ // Label 4639: @168592
59182 /* 168592 */ GIM_Reject,
59183 /* 168593 */ // Label 4634: @168593
59184 /* 168593 */ GIM_Reject,
59185 /* 168594 */ // Label 4628: @168594
59186 /* 168594 */ GIM_Reject,
59187 /* 168595 */ // Label 4567: @168595
59188 /* 168595 */ GIM_Try, /*On fail goto*//*Label 4640*/ GIMT_Encode4(168690),
59189 /* 168600 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
59190 /* 168603 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
59191 /* 168606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59192 /* 168610 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59193 /* 168614 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4641*/ GIMT_Encode4(168667), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6697 //
59194 /* 168621 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59195 /* 168625 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59196 /* 168629 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59197 /* 168632 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59198 /* 168636 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59199 /* 168640 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59200 /* 168642 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59201 /* 168649 */ // (fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
59202 /* 168649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rm),
59203 /* 168652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59204 /* 168654 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59205 /* 168656 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59206 /* 168660 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59207 /* 168665 */ GIR_RootConstrainSelectedInstOperands,
59208 /* 168666 */ // GIR_Coverage, 6697,
59209 /* 168666 */ GIR_EraseRootFromParent_Done,
59210 /* 168667 */ // Label 4641: @168667
59211 /* 168667 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4642*/ GIMT_Encode4(168689), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6693 //
59212 /* 168674 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59213 /* 168678 */ // (fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VDIVPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
59214 /* 168678 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rr),
59215 /* 168683 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59216 /* 168687 */ GIR_RootConstrainSelectedInstOperands,
59217 /* 168688 */ // GIR_Coverage, 6693,
59218 /* 168688 */ GIR_Done,
59219 /* 168689 */ // Label 4642: @168689
59220 /* 168689 */ GIM_Reject,
59221 /* 168690 */ // Label 4640: @168690
59222 /* 168690 */ GIM_Reject,
59223 /* 168691 */ // Label 4568: @168691
59224 /* 168691 */ GIM_Try, /*On fail goto*//*Label 4643*/ GIMT_Encode4(168786),
59225 /* 168696 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
59226 /* 168699 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
59227 /* 168702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59228 /* 168706 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59229 /* 168710 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4644*/ GIMT_Encode4(168763), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6709 //
59230 /* 168717 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59231 /* 168721 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59232 /* 168725 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59233 /* 168728 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59234 /* 168732 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59235 /* 168736 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59236 /* 168738 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59237 /* 168745 */ // (fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
59238 /* 168745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rm),
59239 /* 168748 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59240 /* 168750 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59241 /* 168752 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59242 /* 168756 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59243 /* 168761 */ GIR_RootConstrainSelectedInstOperands,
59244 /* 168762 */ // GIR_Coverage, 6709,
59245 /* 168762 */ GIR_EraseRootFromParent_Done,
59246 /* 168763 */ // Label 4644: @168763
59247 /* 168763 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4645*/ GIMT_Encode4(168785), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6705 //
59248 /* 168770 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59249 /* 168774 */ // (fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VDIVPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
59250 /* 168774 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rr),
59251 /* 168779 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59252 /* 168783 */ GIR_RootConstrainSelectedInstOperands,
59253 /* 168784 */ // GIR_Coverage, 6705,
59254 /* 168784 */ GIR_Done,
59255 /* 168785 */ // Label 4645: @168785
59256 /* 168785 */ GIM_Reject,
59257 /* 168786 */ // Label 4643: @168786
59258 /* 168786 */ GIM_Reject,
59259 /* 168787 */ // Label 4569: @168787
59260 /* 168787 */ GIM_Try, /*On fail goto*//*Label 4646*/ GIMT_Encode4(168882),
59261 /* 168792 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
59262 /* 168795 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
59263 /* 168798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59264 /* 168802 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59265 /* 168806 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4647*/ GIMT_Encode4(168859), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6685 //
59266 /* 168813 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59267 /* 168817 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59268 /* 168821 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59269 /* 168824 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59270 /* 168828 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59271 /* 168832 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59272 /* 168834 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59273 /* 168841 */ // (fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
59274 /* 168841 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrm),
59275 /* 168844 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59276 /* 168846 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59277 /* 168848 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59278 /* 168852 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59279 /* 168857 */ GIR_RootConstrainSelectedInstOperands,
59280 /* 168858 */ // GIR_Coverage, 6685,
59281 /* 168858 */ GIR_EraseRootFromParent_Done,
59282 /* 168859 */ // Label 4647: @168859
59283 /* 168859 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4648*/ GIMT_Encode4(168881), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6681 //
59284 /* 168866 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59285 /* 168870 */ // (fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VDIVPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
59286 /* 168870 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrr),
59287 /* 168875 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59288 /* 168879 */ GIR_RootConstrainSelectedInstOperands,
59289 /* 168880 */ // GIR_Coverage, 6681,
59290 /* 168880 */ GIR_Done,
59291 /* 168881 */ // Label 4648: @168881
59292 /* 168881 */ GIM_Reject,
59293 /* 168882 */ // Label 4646: @168882
59294 /* 168882 */ GIM_Reject,
59295 /* 168883 */ // Label 4570: @168883
59296 /* 168883 */ GIM_Try, /*On fail goto*//*Label 4649*/ GIMT_Encode4(169101),
59297 /* 168888 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
59298 /* 168891 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
59299 /* 168894 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4650*/ GIMT_Encode4(168955), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2238 //
59300 /* 168901 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59301 /* 168905 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59302 /* 168909 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59303 /* 168913 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59304 /* 168917 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59305 /* 168920 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59306 /* 168924 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59307 /* 168928 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59308 /* 168930 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59309 /* 168937 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59310 /* 168937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSrm),
59311 /* 168940 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59312 /* 168942 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59313 /* 168944 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59314 /* 168948 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59315 /* 168953 */ GIR_RootConstrainSelectedInstOperands,
59316 /* 168954 */ // GIR_Coverage, 2238,
59317 /* 168954 */ GIR_EraseRootFromParent_Done,
59318 /* 168955 */ // Label 4650: @168955
59319 /* 168955 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4651*/ GIMT_Encode4(169016), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6637 //
59320 /* 168962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59321 /* 168966 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59322 /* 168970 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59323 /* 168974 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59324 /* 168978 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59325 /* 168981 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59326 /* 168985 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59327 /* 168989 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59328 /* 168991 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59329 /* 168998 */ // (fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59330 /* 168998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rm),
59331 /* 169001 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59332 /* 169003 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59333 /* 169005 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59334 /* 169009 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59335 /* 169014 */ GIR_RootConstrainSelectedInstOperands,
59336 /* 169015 */ // GIR_Coverage, 6637,
59337 /* 169015 */ GIR_EraseRootFromParent_Done,
59338 /* 169016 */ // Label 4651: @169016
59339 /* 169016 */ GIM_Try, /*On fail goto*//*Label 4652*/ GIMT_Encode4(169070),
59340 /* 169021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59341 /* 169025 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59342 /* 169029 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59343 /* 169033 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4653*/ GIMT_Encode4(169051), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2236 //
59344 /* 169040 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VDIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
59345 /* 169040 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSrr),
59346 /* 169045 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59347 /* 169049 */ GIR_RootConstrainSelectedInstOperands,
59348 /* 169050 */ // GIR_Coverage, 2236,
59349 /* 169050 */ GIR_Done,
59350 /* 169051 */ // Label 4653: @169051
59351 /* 169051 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4654*/ GIMT_Encode4(169069), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2252 //
59352 /* 169058 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (DIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
59353 /* 169058 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPSrr),
59354 /* 169063 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59355 /* 169067 */ GIR_RootConstrainSelectedInstOperands,
59356 /* 169068 */ // GIR_Coverage, 2252,
59357 /* 169068 */ GIR_Done,
59358 /* 169069 */ // Label 4654: @169069
59359 /* 169069 */ GIM_Reject,
59360 /* 169070 */ // Label 4652: @169070
59361 /* 169070 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4655*/ GIMT_Encode4(169100), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6633 //
59362 /* 169077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59363 /* 169081 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59364 /* 169085 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59365 /* 169089 */ // (fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VDIVPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
59366 /* 169089 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rr),
59367 /* 169094 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59368 /* 169098 */ GIR_RootConstrainSelectedInstOperands,
59369 /* 169099 */ // GIR_Coverage, 6633,
59370 /* 169099 */ GIR_Done,
59371 /* 169100 */ // Label 4655: @169100
59372 /* 169100 */ GIM_Reject,
59373 /* 169101 */ // Label 4649: @169101
59374 /* 169101 */ GIM_Reject,
59375 /* 169102 */ // Label 4571: @169102
59376 /* 169102 */ GIM_Try, /*On fail goto*//*Label 4656*/ GIMT_Encode4(169296),
59377 /* 169107 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
59378 /* 169110 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
59379 /* 169113 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4657*/ GIMT_Encode4(169174), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2246 //
59380 /* 169120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59381 /* 169124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59382 /* 169128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59383 /* 169132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59384 /* 169136 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59385 /* 169139 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59386 /* 169143 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59387 /* 169147 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59388 /* 169149 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59389 /* 169156 */ // (fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59390 /* 169156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrm),
59391 /* 169159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59392 /* 169161 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59393 /* 169163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59394 /* 169167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59395 /* 169172 */ GIR_RootConstrainSelectedInstOperands,
59396 /* 169173 */ // GIR_Coverage, 2246,
59397 /* 169173 */ GIR_EraseRootFromParent_Done,
59398 /* 169174 */ // Label 4657: @169174
59399 /* 169174 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4658*/ GIMT_Encode4(169235), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6649 //
59400 /* 169181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59401 /* 169185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59402 /* 169189 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59403 /* 169193 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59404 /* 169197 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59405 /* 169200 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59406 /* 169204 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59407 /* 169208 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59408 /* 169210 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59409 /* 169217 */ // (fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59410 /* 169217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rm),
59411 /* 169220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59412 /* 169222 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59413 /* 169224 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59414 /* 169228 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59415 /* 169233 */ GIR_RootConstrainSelectedInstOperands,
59416 /* 169234 */ // GIR_Coverage, 6649,
59417 /* 169234 */ GIR_EraseRootFromParent_Done,
59418 /* 169235 */ // Label 4658: @169235
59419 /* 169235 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4659*/ GIMT_Encode4(169265), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2244 //
59420 /* 169242 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59421 /* 169246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59422 /* 169250 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59423 /* 169254 */ // (fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VDIVPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
59424 /* 169254 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrr),
59425 /* 169259 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59426 /* 169263 */ GIR_RootConstrainSelectedInstOperands,
59427 /* 169264 */ // GIR_Coverage, 2244,
59428 /* 169264 */ GIR_Done,
59429 /* 169265 */ // Label 4659: @169265
59430 /* 169265 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4660*/ GIMT_Encode4(169295), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6645 //
59431 /* 169272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59432 /* 169276 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59433 /* 169280 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59434 /* 169284 */ // (fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VDIVPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
59435 /* 169284 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rr),
59436 /* 169289 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59437 /* 169293 */ GIR_RootConstrainSelectedInstOperands,
59438 /* 169294 */ // GIR_Coverage, 6645,
59439 /* 169294 */ GIR_Done,
59440 /* 169295 */ // Label 4660: @169295
59441 /* 169295 */ GIM_Reject,
59442 /* 169296 */ // Label 4656: @169296
59443 /* 169296 */ GIM_Reject,
59444 /* 169297 */ // Label 4572: @169297
59445 /* 169297 */ GIM_Try, /*On fail goto*//*Label 4661*/ GIMT_Encode4(169392),
59446 /* 169302 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
59447 /* 169305 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
59448 /* 169308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59449 /* 169312 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59450 /* 169316 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4662*/ GIMT_Encode4(169369), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6613 //
59451 /* 169323 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59452 /* 169327 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59453 /* 169331 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59454 /* 169334 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59455 /* 169338 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59456 /* 169342 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59457 /* 169344 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59458 /* 169351 */ // (fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59459 /* 169351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrm),
59460 /* 169354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59461 /* 169356 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59462 /* 169358 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59463 /* 169362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59464 /* 169367 */ GIR_RootConstrainSelectedInstOperands,
59465 /* 169368 */ // GIR_Coverage, 6613,
59466 /* 169368 */ GIR_EraseRootFromParent_Done,
59467 /* 169369 */ // Label 4662: @169369
59468 /* 169369 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4663*/ GIMT_Encode4(169391), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6609 //
59469 /* 169376 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59470 /* 169380 */ // (fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VDIVPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
59471 /* 169380 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrr),
59472 /* 169385 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59473 /* 169389 */ GIR_RootConstrainSelectedInstOperands,
59474 /* 169390 */ // GIR_Coverage, 6609,
59475 /* 169390 */ GIR_Done,
59476 /* 169391 */ // Label 4663: @169391
59477 /* 169391 */ GIM_Reject,
59478 /* 169392 */ // Label 4661: @169392
59479 /* 169392 */ GIM_Reject,
59480 /* 169393 */ // Label 4573: @169393
59481 /* 169393 */ GIM_Try, /*On fail goto*//*Label 4664*/ GIMT_Encode4(169611),
59482 /* 169398 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
59483 /* 169401 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
59484 /* 169404 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4665*/ GIMT_Encode4(169465), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2242 //
59485 /* 169411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59486 /* 169415 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59487 /* 169419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59488 /* 169423 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59489 /* 169427 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59490 /* 169430 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59491 /* 169434 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59492 /* 169438 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59493 /* 169440 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59494 /* 169447 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
59495 /* 169447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDrm),
59496 /* 169450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59497 /* 169452 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59498 /* 169454 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59499 /* 169458 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59500 /* 169463 */ GIR_RootConstrainSelectedInstOperands,
59501 /* 169464 */ // GIR_Coverage, 2242,
59502 /* 169464 */ GIR_EraseRootFromParent_Done,
59503 /* 169465 */ // Label 4665: @169465
59504 /* 169465 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4666*/ GIMT_Encode4(169526), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6661 //
59505 /* 169472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59506 /* 169476 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59507 /* 169480 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59508 /* 169484 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59509 /* 169488 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59510 /* 169491 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59511 /* 169495 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59512 /* 169499 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59513 /* 169501 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59514 /* 169508 */ // (fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
59515 /* 169508 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rm),
59516 /* 169511 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59517 /* 169513 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59518 /* 169515 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59519 /* 169519 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59520 /* 169524 */ GIR_RootConstrainSelectedInstOperands,
59521 /* 169525 */ // GIR_Coverage, 6661,
59522 /* 169525 */ GIR_EraseRootFromParent_Done,
59523 /* 169526 */ // Label 4666: @169526
59524 /* 169526 */ GIM_Try, /*On fail goto*//*Label 4667*/ GIMT_Encode4(169580),
59525 /* 169531 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59526 /* 169535 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59527 /* 169539 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59528 /* 169543 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4668*/ GIMT_Encode4(169561), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2240 //
59529 /* 169550 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VDIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
59530 /* 169550 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDrr),
59531 /* 169555 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59532 /* 169559 */ GIR_RootConstrainSelectedInstOperands,
59533 /* 169560 */ // GIR_Coverage, 2240,
59534 /* 169560 */ GIR_Done,
59535 /* 169561 */ // Label 4668: @169561
59536 /* 169561 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4669*/ GIMT_Encode4(169579), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2256 //
59537 /* 169568 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (DIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
59538 /* 169568 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPDrr),
59539 /* 169573 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59540 /* 169577 */ GIR_RootConstrainSelectedInstOperands,
59541 /* 169578 */ // GIR_Coverage, 2256,
59542 /* 169578 */ GIR_Done,
59543 /* 169579 */ // Label 4669: @169579
59544 /* 169579 */ GIM_Reject,
59545 /* 169580 */ // Label 4667: @169580
59546 /* 169580 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4670*/ GIMT_Encode4(169610), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6657 //
59547 /* 169587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59548 /* 169591 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59549 /* 169595 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59550 /* 169599 */ // (fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VDIVPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
59551 /* 169599 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rr),
59552 /* 169604 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59553 /* 169608 */ GIR_RootConstrainSelectedInstOperands,
59554 /* 169609 */ // GIR_Coverage, 6657,
59555 /* 169609 */ GIR_Done,
59556 /* 169610 */ // Label 4670: @169610
59557 /* 169610 */ GIM_Reject,
59558 /* 169611 */ // Label 4664: @169611
59559 /* 169611 */ GIM_Reject,
59560 /* 169612 */ // Label 4574: @169612
59561 /* 169612 */ GIM_Try, /*On fail goto*//*Label 4671*/ GIMT_Encode4(169806),
59562 /* 169617 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
59563 /* 169620 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
59564 /* 169623 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4672*/ GIMT_Encode4(169684), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2250 //
59565 /* 169630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59566 /* 169634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59567 /* 169638 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59568 /* 169642 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59569 /* 169646 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59570 /* 169649 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59571 /* 169653 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59572 /* 169657 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59573 /* 169659 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59574 /* 169666 */ // (fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
59575 /* 169666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrm),
59576 /* 169669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59577 /* 169671 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59578 /* 169673 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59579 /* 169677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59580 /* 169682 */ GIR_RootConstrainSelectedInstOperands,
59581 /* 169683 */ // GIR_Coverage, 2250,
59582 /* 169683 */ GIR_EraseRootFromParent_Done,
59583 /* 169684 */ // Label 4672: @169684
59584 /* 169684 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4673*/ GIMT_Encode4(169745), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6673 //
59585 /* 169691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59586 /* 169695 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59587 /* 169699 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59588 /* 169703 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59589 /* 169707 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59590 /* 169710 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59591 /* 169714 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59592 /* 169718 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59593 /* 169720 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59594 /* 169727 */ // (fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
59595 /* 169727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rm),
59596 /* 169730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59597 /* 169732 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59598 /* 169734 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59599 /* 169738 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59600 /* 169743 */ GIR_RootConstrainSelectedInstOperands,
59601 /* 169744 */ // GIR_Coverage, 6673,
59602 /* 169744 */ GIR_EraseRootFromParent_Done,
59603 /* 169745 */ // Label 4673: @169745
59604 /* 169745 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4674*/ GIMT_Encode4(169775), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2248 //
59605 /* 169752 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59606 /* 169756 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59607 /* 169760 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59608 /* 169764 */ // (fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VDIVPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
59609 /* 169764 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrr),
59610 /* 169769 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59611 /* 169773 */ GIR_RootConstrainSelectedInstOperands,
59612 /* 169774 */ // GIR_Coverage, 2248,
59613 /* 169774 */ GIR_Done,
59614 /* 169775 */ // Label 4674: @169775
59615 /* 169775 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4675*/ GIMT_Encode4(169805), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6669 //
59616 /* 169782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59617 /* 169786 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59618 /* 169790 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59619 /* 169794 */ // (fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VDIVPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
59620 /* 169794 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rr),
59621 /* 169799 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59622 /* 169803 */ GIR_RootConstrainSelectedInstOperands,
59623 /* 169804 */ // GIR_Coverage, 6669,
59624 /* 169804 */ GIR_Done,
59625 /* 169805 */ // Label 4675: @169805
59626 /* 169805 */ GIM_Reject,
59627 /* 169806 */ // Label 4671: @169806
59628 /* 169806 */ GIM_Reject,
59629 /* 169807 */ // Label 4575: @169807
59630 /* 169807 */ GIM_Try, /*On fail goto*//*Label 4676*/ GIMT_Encode4(169902),
59631 /* 169812 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
59632 /* 169815 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
59633 /* 169818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59634 /* 169822 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59635 /* 169826 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4677*/ GIMT_Encode4(169879), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6625 //
59636 /* 169833 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59637 /* 169837 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59638 /* 169841 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59639 /* 169844 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59640 /* 169848 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59641 /* 169852 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59642 /* 169854 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59643 /* 169861 */ // (fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
59644 /* 169861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrm),
59645 /* 169864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59646 /* 169866 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59647 /* 169868 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59648 /* 169872 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59649 /* 169877 */ GIR_RootConstrainSelectedInstOperands,
59650 /* 169878 */ // GIR_Coverage, 6625,
59651 /* 169878 */ GIR_EraseRootFromParent_Done,
59652 /* 169879 */ // Label 4677: @169879
59653 /* 169879 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4678*/ GIMT_Encode4(169901), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6621 //
59654 /* 169886 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59655 /* 169890 */ // (fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VDIVPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
59656 /* 169890 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrr),
59657 /* 169895 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59658 /* 169899 */ GIR_RootConstrainSelectedInstOperands,
59659 /* 169900 */ // GIR_Coverage, 6621,
59660 /* 169900 */ GIR_Done,
59661 /* 169901 */ // Label 4678: @169901
59662 /* 169901 */ GIM_Reject,
59663 /* 169902 */ // Label 4676: @169902
59664 /* 169902 */ GIM_Reject,
59665 /* 169903 */ // Label 4576: @169903
59666 /* 169903 */ GIM_Reject,
59667 /* 169904 */ // Label 49: @169904
59668 /* 169904 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 4682*/ GIMT_Encode4(170023),
59669 /* 169915 */ /*GILLT_s32*//*Label 4679*/ GIMT_Encode4(169927),
59670 /* 169919 */ /*GILLT_s64*//*Label 4680*/ GIMT_Encode4(169959),
59671 /* 169923 */ /*GILLT_s80*//*Label 4681*/ GIMT_Encode4(169991),
59672 /* 169927 */ // Label 4679: @169927
59673 /* 169927 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4683*/ GIMT_Encode4(169958), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1018 //
59674 /* 169934 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
59675 /* 169937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59676 /* 169941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59677 /* 169945 */ // (fneg:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
59678 /* 169945 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
59679 /* 169950 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
59680 /* 169956 */ GIR_RootConstrainSelectedInstOperands,
59681 /* 169957 */ // GIR_Coverage, 1018,
59682 /* 169957 */ GIR_Done,
59683 /* 169958 */ // Label 4683: @169958
59684 /* 169958 */ GIM_Reject,
59685 /* 169959 */ // Label 4680: @169959
59686 /* 169959 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4684*/ GIMT_Encode4(169990), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1019 //
59687 /* 169966 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
59688 /* 169969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
59689 /* 169973 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
59690 /* 169977 */ // (fneg:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
59691 /* 169977 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
59692 /* 169982 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
59693 /* 169988 */ GIR_RootConstrainSelectedInstOperands,
59694 /* 169989 */ // GIR_Coverage, 1019,
59695 /* 169989 */ GIR_Done,
59696 /* 169990 */ // Label 4684: @169990
59697 /* 169990 */ GIM_Reject,
59698 /* 169991 */ // Label 4681: @169991
59699 /* 169991 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4685*/ GIMT_Encode4(170022), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1020 //
59700 /* 169998 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
59701 /* 170001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
59702 /* 170005 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
59703 /* 170009 */ // (fneg:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
59704 /* 170009 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
59705 /* 170014 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
59706 /* 170020 */ GIR_RootConstrainSelectedInstOperands,
59707 /* 170021 */ // GIR_Coverage, 1020,
59708 /* 170021 */ GIR_Done,
59709 /* 170022 */ // Label 4685: @170022
59710 /* 170022 */ GIM_Reject,
59711 /* 170023 */ // Label 4682: @170023
59712 /* 170023 */ GIM_Reject,
59713 /* 170024 */ // Label 50: @170024
59714 /* 170024 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(25), /*)*//*default:*//*Label 4693*/ GIMT_Encode4(170996),
59715 /* 170035 */ /*GILLT_s32*//*Label 4686*/ GIMT_Encode4(170123),
59716 /* 170039 */ /*GILLT_s64*//*Label 4687*/ GIMT_Encode4(170242),
59717 /* 170043 */ /*GILLT_s80*//*Label 4688*/ GIMT_Encode4(170714), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
59718 /* 170103 */ /*GILLT_v8s32*//*Label 4689*/ GIMT_Encode4(170788),
59719 /* 170107 */ /*GILLT_v16s32*//*Label 4690*/ GIMT_Encode4(170818), GIMT_Encode4(0),
59720 /* 170115 */ /*GILLT_v4s64*//*Label 4691*/ GIMT_Encode4(170848),
59721 /* 170119 */ /*GILLT_v8s64*//*Label 4692*/ GIMT_Encode4(170910),
59722 /* 170123 */ // Label 4686: @170123
59723 /* 170123 */ GIM_Try, /*On fail goto*//*Label 4694*/ GIMT_Encode4(170241),
59724 /* 170128 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
59725 /* 170131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59726 /* 170135 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4695*/ GIMT_Encode4(170203), GIMT_Encode2(GIFBS_HasFP16_OptForSize), // Rule ID 21352 //
59727 /* 170142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59728 /* 170146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59729 /* 170150 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59730 /* 170153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59731 /* 170157 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59732 /* 170161 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59733 /* 170163 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59734 /* 170170 */ // (fpextend:{ *:[f32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSH2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
59735 /* 170170 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
59736 /* 170173 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
59737 /* 170177 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
59738 /* 170182 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
59739 /* 170184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SSZrm),
59740 /* 170187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59741 /* 170189 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
59742 /* 170192 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
59743 /* 170196 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59744 /* 170201 */ GIR_RootConstrainSelectedInstOperands,
59745 /* 170202 */ // GIR_Coverage, 21352,
59746 /* 170202 */ GIR_EraseRootFromParent_Done,
59747 /* 170203 */ // Label 4695: @170203
59748 /* 170203 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4696*/ GIMT_Encode4(170240), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 21350 //
59749 /* 170210 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
59750 /* 170214 */ // (fpextend:{ *:[f32] } FR16X:{ *:[f16] }:$src) => (VCVTSH2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR16X:{ *:[f16] }:$src)
59751 /* 170214 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
59752 /* 170217 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
59753 /* 170221 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
59754 /* 170226 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
59755 /* 170228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SSZrr),
59756 /* 170231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59757 /* 170233 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
59758 /* 170236 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
59759 /* 170238 */ GIR_RootConstrainSelectedInstOperands,
59760 /* 170239 */ // GIR_Coverage, 21350,
59761 /* 170239 */ GIR_EraseRootFromParent_Done,
59762 /* 170240 */ // Label 4696: @170240
59763 /* 170240 */ GIM_Reject,
59764 /* 170241 */ // Label 4694: @170241
59765 /* 170241 */ GIM_Reject,
59766 /* 170242 */ // Label 4687: @170242
59767 /* 170242 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(4), /*)*//*default:*//*Label 4699*/ GIMT_Encode4(170713),
59768 /* 170253 */ /*GILLT_s16*//*Label 4697*/ GIMT_Encode4(170261),
59769 /* 170257 */ /*GILLT_s32*//*Label 4698*/ GIMT_Encode4(170377),
59770 /* 170261 */ // Label 4697: @170261
59771 /* 170261 */ GIM_Try, /*On fail goto*//*Label 4700*/ GIMT_Encode4(170376),
59772 /* 170266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59773 /* 170270 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4701*/ GIMT_Encode4(170338), GIMT_Encode2(GIFBS_HasFP16_OptForSize), // Rule ID 21356 //
59774 /* 170277 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59775 /* 170281 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59776 /* 170285 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59777 /* 170288 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59778 /* 170292 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59779 /* 170296 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59780 /* 170298 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59781 /* 170305 */ // (fpextend:{ *:[f64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSH2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
59782 /* 170305 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
59783 /* 170308 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
59784 /* 170312 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
59785 /* 170317 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
59786 /* 170319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SDZrm),
59787 /* 170322 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59788 /* 170324 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
59789 /* 170327 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
59790 /* 170331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59791 /* 170336 */ GIR_RootConstrainSelectedInstOperands,
59792 /* 170337 */ // GIR_Coverage, 21356,
59793 /* 170337 */ GIR_EraseRootFromParent_Done,
59794 /* 170338 */ // Label 4701: @170338
59795 /* 170338 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4702*/ GIMT_Encode4(170375), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 21354 //
59796 /* 170345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
59797 /* 170349 */ // (fpextend:{ *:[f64] } FR16X:{ *:[f16] }:$src) => (VCVTSH2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR16X:{ *:[f16] }:$src)
59798 /* 170349 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
59799 /* 170352 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
59800 /* 170356 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
59801 /* 170361 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
59802 /* 170363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SDZrr),
59803 /* 170366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59804 /* 170368 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
59805 /* 170371 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
59806 /* 170373 */ GIR_RootConstrainSelectedInstOperands,
59807 /* 170374 */ // GIR_Coverage, 21354,
59808 /* 170374 */ GIR_EraseRootFromParent_Done,
59809 /* 170375 */ // Label 4702: @170375
59810 /* 170375 */ GIM_Reject,
59811 /* 170376 */ // Label 4700: @170376
59812 /* 170376 */ GIM_Reject,
59813 /* 170377 */ // Label 4698: @170377
59814 /* 170377 */ GIM_Try, /*On fail goto*//*Label 4703*/ GIMT_Encode4(170506),
59815 /* 170382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59816 /* 170386 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4704*/ GIMT_Encode4(170437), GIMT_Encode2(GIFBS_OptForSize_UseSSE2), // Rule ID 1875 //
59817 /* 170393 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59818 /* 170397 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59819 /* 170401 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59820 /* 170404 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59821 /* 170408 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59822 /* 170412 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59823 /* 170414 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59824 /* 170421 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
59825 /* 170421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SDrm),
59826 /* 170424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59827 /* 170426 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
59828 /* 170430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59829 /* 170435 */ GIR_RootConstrainSelectedInstOperands,
59830 /* 170436 */ // GIR_Coverage, 1875,
59831 /* 170436 */ GIR_EraseRootFromParent_Done,
59832 /* 170437 */ // Label 4704: @170437
59833 /* 170437 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4705*/ GIMT_Encode4(170505), GIMT_Encode2(GIFBS_OptForSize_UseAVX), // Rule ID 18095 //
59834 /* 170444 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59835 /* 170448 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59836 /* 170452 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59837 /* 170455 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59838 /* 170459 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59839 /* 170463 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59840 /* 170465 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59841 /* 170472 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
59842 /* 170472 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
59843 /* 170475 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
59844 /* 170479 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
59845 /* 170484 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
59846 /* 170486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDrm),
59847 /* 170489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59848 /* 170491 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
59849 /* 170494 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
59850 /* 170498 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59851 /* 170503 */ GIR_RootConstrainSelectedInstOperands,
59852 /* 170504 */ // GIR_Coverage, 18095,
59853 /* 170504 */ GIR_EraseRootFromParent_Done,
59854 /* 170505 */ // Label 4705: @170505
59855 /* 170505 */ GIM_Reject,
59856 /* 170506 */ // Label 4703: @170506
59857 /* 170506 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4706*/ GIMT_Encode4(170578), GIMT_Encode2(GIFBS_HasAVX512_OptForSize), // Rule ID 21346 //
59858 /* 170513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59859 /* 170517 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59860 /* 170521 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59861 /* 170525 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59862 /* 170528 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59863 /* 170532 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59864 /* 170536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59865 /* 170538 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59866 /* 170545 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
59867 /* 170545 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
59868 /* 170548 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
59869 /* 170552 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
59870 /* 170557 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
59871 /* 170559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDZrm),
59872 /* 170562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59873 /* 170564 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
59874 /* 170567 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
59875 /* 170571 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59876 /* 170576 */ GIR_RootConstrainSelectedInstOperands,
59877 /* 170577 */ // GIR_Coverage, 21346,
59878 /* 170577 */ GIR_EraseRootFromParent_Done,
59879 /* 170578 */ // Label 4706: @170578
59880 /* 170578 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4707*/ GIMT_Encode4(170604), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1873 //
59881 /* 170585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59882 /* 170589 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59883 /* 170593 */ // (fpextend:{ *:[f64] } FR32:{ *:[f32] }:$src) => (CVTSS2SDrr:{ *:[f64] } FR32:{ *:[f32] }:$src)
59884 /* 170593 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SDrr),
59885 /* 170598 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59886 /* 170602 */ GIR_RootConstrainSelectedInstOperands,
59887 /* 170603 */ // GIR_Coverage, 1873,
59888 /* 170603 */ GIR_Done,
59889 /* 170604 */ // Label 4707: @170604
59890 /* 170604 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4708*/ GIMT_Encode4(170630), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 17784 //
59891 /* 170611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
59892 /* 170615 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59893 /* 170619 */ // (fpextend:{ *:[f64] } RFP32:{ *:[f32] }:$src) => (COPY_TO_REGCLASS:{ *:[f64] } RFP32:{ *:[f32] }:$src, RFP64:{ *:[i32] })
59894 /* 170619 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
59895 /* 170624 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP64RegClassID),
59896 /* 170629 */ // GIR_Coverage, 17784,
59897 /* 170629 */ GIR_Done,
59898 /* 170630 */ // Label 4708: @170630
59899 /* 170630 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4709*/ GIMT_Encode4(170671), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18093 //
59900 /* 170637 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59901 /* 170641 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59902 /* 170645 */ // (fpextend:{ *:[f64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR32:{ *:[f32] }:$src)
59903 /* 170645 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
59904 /* 170648 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
59905 /* 170652 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
59906 /* 170657 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
59907 /* 170659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDrr),
59908 /* 170662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59909 /* 170664 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
59910 /* 170667 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
59911 /* 170669 */ GIR_RootConstrainSelectedInstOperands,
59912 /* 170670 */ // GIR_Coverage, 18093,
59913 /* 170670 */ GIR_EraseRootFromParent_Done,
59914 /* 170671 */ // Label 4709: @170671
59915 /* 170671 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4710*/ GIMT_Encode4(170712), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21344 //
59916 /* 170678 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59917 /* 170682 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59918 /* 170686 */ // (fpextend:{ *:[f64] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR32X:{ *:[f32] }:$src)
59919 /* 170686 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
59920 /* 170689 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
59921 /* 170693 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
59922 /* 170698 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
59923 /* 170700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDZrr),
59924 /* 170703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59925 /* 170705 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
59926 /* 170708 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
59927 /* 170710 */ GIR_RootConstrainSelectedInstOperands,
59928 /* 170711 */ // GIR_Coverage, 21344,
59929 /* 170711 */ GIR_EraseRootFromParent_Done,
59930 /* 170712 */ // Label 4710: @170712
59931 /* 170712 */ GIM_Reject,
59932 /* 170713 */ // Label 4699: @170713
59933 /* 170713 */ GIM_Reject,
59934 /* 170714 */ // Label 4688: @170714
59935 /* 170714 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4713*/ GIMT_Encode4(170787),
59936 /* 170725 */ /*GILLT_s32*//*Label 4711*/ GIMT_Encode4(170733),
59937 /* 170729 */ /*GILLT_s64*//*Label 4712*/ GIMT_Encode4(170760),
59938 /* 170733 */ // Label 4711: @170733
59939 /* 170733 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4714*/ GIMT_Encode4(170759), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 17786 //
59940 /* 170740 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
59941 /* 170744 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59942 /* 170748 */ // (fpextend:{ *:[f80] } RFP32:{ *:[f32] }:$src) => (COPY_TO_REGCLASS:{ *:[f80] } RFP32:{ *:[f32] }:$src, RFP80:{ *:[i32] })
59943 /* 170748 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
59944 /* 170753 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP80RegClassID),
59945 /* 170758 */ // GIR_Coverage, 17786,
59946 /* 170758 */ GIR_Done,
59947 /* 170759 */ // Label 4714: @170759
59948 /* 170759 */ GIM_Reject,
59949 /* 170760 */ // Label 4712: @170760
59950 /* 170760 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4715*/ GIMT_Encode4(170786), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 17788 //
59951 /* 170767 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
59952 /* 170771 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
59953 /* 170775 */ // (fpextend:{ *:[f80] } RFP64:{ *:[f64] }:$src) => (COPY_TO_REGCLASS:{ *:[f80] } RFP64:{ *:[f64] }:$src, RFP80:{ *:[i32] })
59954 /* 170775 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
59955 /* 170780 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP80RegClassID),
59956 /* 170785 */ // GIR_Coverage, 17788,
59957 /* 170785 */ GIR_Done,
59958 /* 170786 */ // Label 4715: @170786
59959 /* 170786 */ GIM_Reject,
59960 /* 170787 */ // Label 4713: @170787
59961 /* 170787 */ GIM_Reject,
59962 /* 170788 */ // Label 4689: @170788
59963 /* 170788 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4716*/ GIMT_Encode4(170817), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 10639 //
59964 /* 170795 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
59965 /* 170798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59966 /* 170802 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59967 /* 170806 */ // (fpextend:{ *:[v8f32] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2PSXZ256rr:{ *:[v8f32] } VR128X:{ *:[v8f16] }:$src)
59968 /* 170806 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PSXZ256rr),
59969 /* 170811 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59970 /* 170815 */ GIR_RootConstrainSelectedInstOperands,
59971 /* 170816 */ // GIR_Coverage, 10639,
59972 /* 170816 */ GIR_Done,
59973 /* 170817 */ // Label 4716: @170817
59974 /* 170817 */ GIM_Reject,
59975 /* 170818 */ // Label 4690: @170818
59976 /* 170818 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4717*/ GIMT_Encode4(170847), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10614 //
59977 /* 170825 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
59978 /* 170828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59979 /* 170832 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59980 /* 170836 */ // (fpextend:{ *:[v16f32] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2PSXZrr:{ *:[v16f32] } VR256X:{ *:[v16f16] }:$src)
59981 /* 170836 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PSXZrr),
59982 /* 170841 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59983 /* 170845 */ GIR_RootConstrainSelectedInstOperands,
59984 /* 170846 */ // GIR_Coverage, 10614,
59985 /* 170846 */ GIR_Done,
59986 /* 170847 */ // Label 4717: @170847
59987 /* 170847 */ GIM_Reject,
59988 /* 170848 */ // Label 4691: @170848
59989 /* 170848 */ GIM_Try, /*On fail goto*//*Label 4718*/ GIMT_Encode4(170909),
59990 /* 170853 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
59991 /* 170856 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4719*/ GIMT_Encode4(170882), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1916 //
59992 /* 170863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59993 /* 170867 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59994 /* 170871 */ // (fpextend:{ *:[v4f64] } VR128:{ *:[v4f32] }:$src) => (VCVTPS2PDYrr:{ *:[v4f64] } VR128:{ *:[v4f32] }:$src)
59995 /* 170871 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDYrr),
59996 /* 170876 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59997 /* 170880 */ GIR_RootConstrainSelectedInstOperands,
59998 /* 170881 */ // GIR_Coverage, 1916,
59999 /* 170881 */ GIR_Done,
60000 /* 170882 */ // Label 4719: @170882
60001 /* 170882 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4720*/ GIMT_Encode4(170908), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 10576 //
60002 /* 170889 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60003 /* 170893 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60004 /* 170897 */ // (fpextend:{ *:[v4f64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4f32] }:$src)
60005 /* 170897 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDZ256rr),
60006 /* 170902 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60007 /* 170906 */ GIR_RootConstrainSelectedInstOperands,
60008 /* 170907 */ // GIR_Coverage, 10576,
60009 /* 170907 */ GIR_Done,
60010 /* 170908 */ // Label 4720: @170908
60011 /* 170908 */ GIM_Reject,
60012 /* 170909 */ // Label 4718: @170909
60013 /* 170909 */ GIM_Reject,
60014 /* 170910 */ // Label 4692: @170910
60015 /* 170910 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(16), GIMT_Encode2(21), /*)*//*default:*//*Label 4723*/ GIMT_Encode4(170995),
60016 /* 170921 */ /*GILLT_v8s16*//*Label 4721*/ GIMT_Encode4(170941), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
60017 /* 170937 */ /*GILLT_v8s32*//*Label 4722*/ GIMT_Encode4(170968),
60018 /* 170941 */ // Label 4721: @170941
60019 /* 170941 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4724*/ GIMT_Encode4(170967), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10665 //
60020 /* 170948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60021 /* 170952 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60022 /* 170956 */ // (fpextend:{ *:[v8f64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2PDZrr:{ *:[v8f64] } VR128X:{ *:[v8f16] }:$src)
60023 /* 170956 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PDZrr),
60024 /* 170961 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60025 /* 170965 */ GIR_RootConstrainSelectedInstOperands,
60026 /* 170966 */ // GIR_Coverage, 10665,
60027 /* 170966 */ GIR_Done,
60028 /* 170967 */ // Label 4724: @170967
60029 /* 170967 */ GIM_Reject,
60030 /* 170968 */ // Label 4722: @170968
60031 /* 170968 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4725*/ GIMT_Encode4(170994), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10551 //
60032 /* 170975 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60033 /* 170979 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60034 /* 170983 */ // (fpextend:{ *:[v8f64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8f32] }:$src)
60035 /* 170983 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDZrr),
60036 /* 170988 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60037 /* 170992 */ GIR_RootConstrainSelectedInstOperands,
60038 /* 170993 */ // GIR_Coverage, 10551,
60039 /* 170993 */ GIR_Done,
60040 /* 170994 */ // Label 4725: @170994
60041 /* 170994 */ GIM_Reject,
60042 /* 170995 */ // Label 4723: @170995
60043 /* 170995 */ GIM_Reject,
60044 /* 170996 */ // Label 4693: @170996
60045 /* 170996 */ GIM_Reject,
60046 /* 170997 */ // Label 51: @170997
60047 /* 170997 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4729*/ GIMT_Encode4(171393),
60048 /* 171008 */ /*GILLT_s16*//*Label 4726*/ GIMT_Encode4(171020),
60049 /* 171012 */ /*GILLT_s32*//*Label 4727*/ GIMT_Encode4(171124),
60050 /* 171016 */ /*GILLT_s64*//*Label 4728*/ GIMT_Encode4(171363),
60051 /* 171020 */ // Label 4726: @171020
60052 /* 171020 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4732*/ GIMT_Encode4(171123),
60053 /* 171031 */ /*GILLT_s32*//*Label 4730*/ GIMT_Encode4(171039),
60054 /* 171035 */ /*GILLT_s64*//*Label 4731*/ GIMT_Encode4(171081),
60055 /* 171039 */ // Label 4730: @171039
60056 /* 171039 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4733*/ GIMT_Encode4(171080), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 21358 //
60057 /* 171046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60058 /* 171050 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60059 /* 171054 */ // (fpround:{ *:[f16] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR32X:{ *:[f32] }:$src)
60060 /* 171054 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
60061 /* 171057 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
60062 /* 171061 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
60063 /* 171066 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
60064 /* 171068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SHZrr),
60065 /* 171071 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60066 /* 171073 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
60067 /* 171076 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
60068 /* 171078 */ GIR_RootConstrainSelectedInstOperands,
60069 /* 171079 */ // GIR_Coverage, 21358,
60070 /* 171079 */ GIR_EraseRootFromParent_Done,
60071 /* 171080 */ // Label 4733: @171080
60072 /* 171080 */ GIM_Reject,
60073 /* 171081 */ // Label 4731: @171081
60074 /* 171081 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4734*/ GIMT_Encode4(171122), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 21360 //
60075 /* 171088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60076 /* 171092 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60077 /* 171096 */ // (fpround:{ *:[f16] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR64X:{ *:[f64] }:$src)
60078 /* 171096 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
60079 /* 171099 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
60080 /* 171103 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
60081 /* 171108 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
60082 /* 171110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SHZrr),
60083 /* 171113 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60084 /* 171115 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
60085 /* 171118 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
60086 /* 171120 */ GIR_RootConstrainSelectedInstOperands,
60087 /* 171121 */ // GIR_Coverage, 21360,
60088 /* 171121 */ GIR_EraseRootFromParent_Done,
60089 /* 171122 */ // Label 4734: @171122
60090 /* 171122 */ GIM_Reject,
60091 /* 171123 */ // Label 4732: @171123
60092 /* 171123 */ GIM_Reject,
60093 /* 171124 */ // Label 4727: @171124
60094 /* 171124 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(4), GIMT_Encode2(6), /*)*//*default:*//*Label 4737*/ GIMT_Encode4(171362),
60095 /* 171135 */ /*GILLT_s64*//*Label 4735*/ GIMT_Encode4(171143),
60096 /* 171139 */ /*GILLT_s80*//*Label 4736*/ GIMT_Encode4(171335),
60097 /* 171143 */ // Label 4735: @171143
60098 /* 171143 */ GIM_Try, /*On fail goto*//*Label 4738*/ GIMT_Encode4(171226),
60099 /* 171148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60100 /* 171152 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4739*/ GIMT_Encode4(171203), GIMT_Encode2(GIFBS_OptForSize_UseSSE2), // Rule ID 1863 //
60101 /* 171159 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60102 /* 171163 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60103 /* 171167 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60104 /* 171170 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60105 /* 171174 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60106 /* 171178 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60107 /* 171180 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60108 /* 171187 */ // (fpround:{ *:[f32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
60109 /* 171187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SSrm),
60110 /* 171190 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60111 /* 171192 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60112 /* 171196 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60113 /* 171201 */ GIR_RootConstrainSelectedInstOperands,
60114 /* 171202 */ // GIR_Coverage, 1863,
60115 /* 171202 */ GIR_EraseRootFromParent_Done,
60116 /* 171203 */ // Label 4739: @171203
60117 /* 171203 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4740*/ GIMT_Encode4(171225), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1861 //
60118 /* 171210 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60119 /* 171214 */ // (fpround:{ *:[f32] } FR64:{ *:[f64] }:$src) => (CVTSD2SSrr:{ *:[f32] } FR64:{ *:[f64] }:$src)
60120 /* 171214 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SSrr),
60121 /* 171219 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60122 /* 171223 */ GIR_RootConstrainSelectedInstOperands,
60123 /* 171224 */ // GIR_Coverage, 1861,
60124 /* 171224 */ GIR_Done,
60125 /* 171225 */ // Label 4740: @171225
60126 /* 171225 */ GIM_Reject,
60127 /* 171226 */ // Label 4738: @171226
60128 /* 171226 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4741*/ GIMT_Encode4(171252), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 17790 //
60129 /* 171233 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60130 /* 171237 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60131 /* 171241 */ // (fpround:{ *:[f32] } RFP64:{ *:[f64] }:$src) => (COPY_TO_REGCLASS:{ *:[f32] } RFP64:{ *:[f64] }:$src, RFP32:{ *:[i32] })
60132 /* 171241 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
60133 /* 171246 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP32RegClassID),
60134 /* 171251 */ // GIR_Coverage, 17790,
60135 /* 171251 */ GIR_Done,
60136 /* 171252 */ // Label 4741: @171252
60137 /* 171252 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4742*/ GIMT_Encode4(171293), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18091 //
60138 /* 171259 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60139 /* 171263 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60140 /* 171267 */ // (fpround:{ *:[f32] } FR64:{ *:[f64] }:$src) => (VCVTSD2SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR64:{ *:[f64] }:$src)
60141 /* 171267 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
60142 /* 171270 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
60143 /* 171274 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
60144 /* 171279 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
60145 /* 171281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SSrr),
60146 /* 171284 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60147 /* 171286 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
60148 /* 171289 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
60149 /* 171291 */ GIR_RootConstrainSelectedInstOperands,
60150 /* 171292 */ // GIR_Coverage, 18091,
60151 /* 171292 */ GIR_EraseRootFromParent_Done,
60152 /* 171293 */ // Label 4742: @171293
60153 /* 171293 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4743*/ GIMT_Encode4(171334), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21348 //
60154 /* 171300 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60155 /* 171304 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60156 /* 171308 */ // (fpround:{ *:[f32] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR64X:{ *:[f64] }:$src)
60157 /* 171308 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
60158 /* 171311 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
60159 /* 171315 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
60160 /* 171320 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
60161 /* 171322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SSZrr),
60162 /* 171325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60163 /* 171327 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
60164 /* 171330 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
60165 /* 171332 */ GIR_RootConstrainSelectedInstOperands,
60166 /* 171333 */ // GIR_Coverage, 21348,
60167 /* 171333 */ GIR_EraseRootFromParent_Done,
60168 /* 171334 */ // Label 4743: @171334
60169 /* 171334 */ GIM_Reject,
60170 /* 171335 */ // Label 4736: @171335
60171 /* 171335 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4744*/ GIMT_Encode4(171361), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 17792 //
60172 /* 171342 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60173 /* 171346 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60174 /* 171350 */ // (fpround:{ *:[f32] } RFP80:{ *:[f80] }:$src) => (COPY_TO_REGCLASS:{ *:[f32] } RFP80:{ *:[f80] }:$src, RFP32:{ *:[i32] })
60175 /* 171350 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
60176 /* 171355 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP32RegClassID),
60177 /* 171360 */ // GIR_Coverage, 17792,
60178 /* 171360 */ GIR_Done,
60179 /* 171361 */ // Label 4744: @171361
60180 /* 171361 */ GIM_Reject,
60181 /* 171362 */ // Label 4737: @171362
60182 /* 171362 */ GIM_Reject,
60183 /* 171363 */ // Label 4728: @171363
60184 /* 171363 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4745*/ GIMT_Encode4(171392), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 17794 //
60185 /* 171370 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
60186 /* 171373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60187 /* 171377 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60188 /* 171381 */ // (fpround:{ *:[f64] } RFP80:{ *:[f80] }:$src) => (COPY_TO_REGCLASS:{ *:[f64] } RFP80:{ *:[f80] }:$src, RFP64:{ *:[i32] })
60189 /* 171381 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
60190 /* 171386 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP64RegClassID),
60191 /* 171391 */ // GIR_Coverage, 17794,
60192 /* 171391 */ GIR_Done,
60193 /* 171392 */ // Label 4745: @171392
60194 /* 171392 */ GIM_Reject,
60195 /* 171393 */ // Label 4729: @171393
60196 /* 171393 */ GIM_Reject,
60197 /* 171394 */ // Label 52: @171394
60198 /* 171394 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(20), /*)*//*default:*//*Label 4749*/ GIMT_Encode4(172704),
60199 /* 171405 */ /*GILLT_s32*//*Label 4746*/ GIMT_Encode4(171473),
60200 /* 171409 */ /*GILLT_s64*//*Label 4747*/ GIMT_Encode4(172045), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
60201 /* 171469 */ /*GILLT_v4s32*//*Label 4748*/ GIMT_Encode4(172617),
60202 /* 171473 */ // Label 4746: @171473
60203 /* 171473 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4753*/ GIMT_Encode4(172044),
60204 /* 171484 */ /*GILLT_s16*//*Label 4750*/ GIMT_Encode4(171496),
60205 /* 171488 */ /*GILLT_s32*//*Label 4751*/ GIMT_Encode4(171580),
60206 /* 171492 */ /*GILLT_s64*//*Label 4752*/ GIMT_Encode4(171812),
60207 /* 171496 */ // Label 4750: @171496
60208 /* 171496 */ GIM_Try, /*On fail goto*//*Label 4754*/ GIMT_Encode4(171579),
60209 /* 171501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
60210 /* 171505 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4755*/ GIMT_Encode4(171556), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15174 //
60211 /* 171512 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60212 /* 171516 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60213 /* 171520 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60214 /* 171523 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60215 /* 171527 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60216 /* 171531 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60217 /* 171533 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60218 /* 171540 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60219 /* 171540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrm),
60220 /* 171543 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60221 /* 171545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60222 /* 171549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60223 /* 171554 */ GIR_RootConstrainSelectedInstOperands,
60224 /* 171555 */ // GIR_Coverage, 15174,
60225 /* 171555 */ GIR_EraseRootFromParent_Done,
60226 /* 171556 */ // Label 4755: @171556
60227 /* 171556 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4756*/ GIMT_Encode4(171578), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15172 //
60228 /* 171563 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60229 /* 171567 */ // (fp_to_sint:{ *:[i32] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2SIZrr:{ *:[i32] } FR16X:{ *:[f16] }:$src)
60230 /* 171567 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
60231 /* 171572 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60232 /* 171576 */ GIR_RootConstrainSelectedInstOperands,
60233 /* 171577 */ // GIR_Coverage, 15172,
60234 /* 171577 */ GIR_Done,
60235 /* 171578 */ // Label 4756: @171578
60236 /* 171578 */ GIM_Reject,
60237 /* 171579 */ // Label 4754: @171579
60238 /* 171579 */ GIM_Reject,
60239 /* 171580 */ // Label 4751: @171580
60240 /* 171580 */ GIM_Try, /*On fail goto*//*Label 4757*/ GIMT_Encode4(171811),
60241 /* 171585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
60242 /* 171589 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4758*/ GIMT_Encode4(171640), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1723 //
60243 /* 171596 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60244 /* 171600 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60245 /* 171604 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60246 /* 171607 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60247 /* 171611 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60248 /* 171615 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60249 /* 171617 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60250 /* 171624 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60251 /* 171624 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIrm),
60252 /* 171627 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60253 /* 171629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60254 /* 171633 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60255 /* 171638 */ GIR_RootConstrainSelectedInstOperands,
60256 /* 171639 */ // GIR_Coverage, 1723,
60257 /* 171639 */ GIR_EraseRootFromParent_Done,
60258 /* 171640 */ // Label 4758: @171640
60259 /* 171640 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4759*/ GIMT_Encode4(171691), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1747 //
60260 /* 171647 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60261 /* 171651 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60262 /* 171655 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60263 /* 171658 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60264 /* 171662 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60265 /* 171666 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60266 /* 171668 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60267 /* 171675 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60268 /* 171675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SIrm),
60269 /* 171678 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60270 /* 171680 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60271 /* 171684 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60272 /* 171689 */ GIR_RootConstrainSelectedInstOperands,
60273 /* 171690 */ // GIR_Coverage, 1747,
60274 /* 171690 */ GIR_EraseRootFromParent_Done,
60275 /* 171691 */ // Label 4759: @171691
60276 /* 171691 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4760*/ GIMT_Encode4(171742), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10364 //
60277 /* 171698 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60278 /* 171702 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60279 /* 171706 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60280 /* 171709 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60281 /* 171713 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60282 /* 171717 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60283 /* 171719 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60284 /* 171726 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60285 /* 171726 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIZrm),
60286 /* 171729 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60287 /* 171731 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60288 /* 171735 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60289 /* 171740 */ GIR_RootConstrainSelectedInstOperands,
60290 /* 171741 */ // GIR_Coverage, 10364,
60291 /* 171741 */ GIR_EraseRootFromParent_Done,
60292 /* 171742 */ // Label 4760: @171742
60293 /* 171742 */ GIM_Try, /*On fail goto*//*Label 4761*/ GIMT_Encode4(171788),
60294 /* 171747 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60295 /* 171751 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4762*/ GIMT_Encode4(171769), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1721 //
60296 /* 171758 */ // (fp_to_sint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VCVTTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
60297 /* 171758 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIrr),
60298 /* 171763 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60299 /* 171767 */ GIR_RootConstrainSelectedInstOperands,
60300 /* 171768 */ // GIR_Coverage, 1721,
60301 /* 171768 */ GIR_Done,
60302 /* 171769 */ // Label 4762: @171769
60303 /* 171769 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4763*/ GIMT_Encode4(171787), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1745 //
60304 /* 171776 */ // (fp_to_sint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (CVTTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
60305 /* 171776 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SIrr),
60306 /* 171781 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60307 /* 171785 */ GIR_RootConstrainSelectedInstOperands,
60308 /* 171786 */ // GIR_Coverage, 1745,
60309 /* 171786 */ GIR_Done,
60310 /* 171787 */ // Label 4763: @171787
60311 /* 171787 */ GIM_Reject,
60312 /* 171788 */ // Label 4761: @171788
60313 /* 171788 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4764*/ GIMT_Encode4(171810), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10362 //
60314 /* 171795 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60315 /* 171799 */ // (fp_to_sint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2SIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
60316 /* 171799 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIZrr),
60317 /* 171804 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60318 /* 171808 */ GIR_RootConstrainSelectedInstOperands,
60319 /* 171809 */ // GIR_Coverage, 10362,
60320 /* 171809 */ GIR_Done,
60321 /* 171810 */ // Label 4764: @171810
60322 /* 171810 */ GIM_Reject,
60323 /* 171811 */ // Label 4757: @171811
60324 /* 171811 */ GIM_Reject,
60325 /* 171812 */ // Label 4752: @171812
60326 /* 171812 */ GIM_Try, /*On fail goto*//*Label 4765*/ GIMT_Encode4(172043),
60327 /* 171817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
60328 /* 171821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4766*/ GIMT_Encode4(171872), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1731 //
60329 /* 171828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60330 /* 171832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60331 /* 171836 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60332 /* 171839 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60333 /* 171843 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60334 /* 171847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60335 /* 171849 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60336 /* 171856 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60337 /* 171856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIrm),
60338 /* 171859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60339 /* 171861 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60340 /* 171865 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60341 /* 171870 */ GIR_RootConstrainSelectedInstOperands,
60342 /* 171871 */ // GIR_Coverage, 1731,
60343 /* 171871 */ GIR_EraseRootFromParent_Done,
60344 /* 171872 */ // Label 4766: @171872
60345 /* 171872 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4767*/ GIMT_Encode4(171923), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1755 //
60346 /* 171879 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60347 /* 171883 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60348 /* 171887 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60349 /* 171890 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60350 /* 171894 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60351 /* 171898 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60352 /* 171900 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60353 /* 171907 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60354 /* 171907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SIrm),
60355 /* 171910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60356 /* 171912 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60357 /* 171916 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60358 /* 171921 */ GIR_RootConstrainSelectedInstOperands,
60359 /* 171922 */ // GIR_Coverage, 1755,
60360 /* 171922 */ GIR_EraseRootFromParent_Done,
60361 /* 171923 */ // Label 4767: @171923
60362 /* 171923 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4768*/ GIMT_Encode4(171974), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10382 //
60363 /* 171930 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60364 /* 171934 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60365 /* 171938 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60366 /* 171941 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60367 /* 171945 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60368 /* 171949 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60369 /* 171951 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60370 /* 171958 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60371 /* 171958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIZrm),
60372 /* 171961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60373 /* 171963 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60374 /* 171967 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60375 /* 171972 */ GIR_RootConstrainSelectedInstOperands,
60376 /* 171973 */ // GIR_Coverage, 10382,
60377 /* 171973 */ GIR_EraseRootFromParent_Done,
60378 /* 171974 */ // Label 4768: @171974
60379 /* 171974 */ GIM_Try, /*On fail goto*//*Label 4769*/ GIMT_Encode4(172020),
60380 /* 171979 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60381 /* 171983 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4770*/ GIMT_Encode4(172001), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1729 //
60382 /* 171990 */ // (fp_to_sint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (VCVTTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
60383 /* 171990 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIrr),
60384 /* 171995 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60385 /* 171999 */ GIR_RootConstrainSelectedInstOperands,
60386 /* 172000 */ // GIR_Coverage, 1729,
60387 /* 172000 */ GIR_Done,
60388 /* 172001 */ // Label 4770: @172001
60389 /* 172001 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4771*/ GIMT_Encode4(172019), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1753 //
60390 /* 172008 */ // (fp_to_sint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (CVTTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
60391 /* 172008 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SIrr),
60392 /* 172013 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60393 /* 172017 */ GIR_RootConstrainSelectedInstOperands,
60394 /* 172018 */ // GIR_Coverage, 1753,
60395 /* 172018 */ GIR_Done,
60396 /* 172019 */ // Label 4771: @172019
60397 /* 172019 */ GIM_Reject,
60398 /* 172020 */ // Label 4769: @172020
60399 /* 172020 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4772*/ GIMT_Encode4(172042), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10380 //
60400 /* 172027 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60401 /* 172031 */ // (fp_to_sint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2SIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
60402 /* 172031 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIZrr),
60403 /* 172036 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60404 /* 172040 */ GIR_RootConstrainSelectedInstOperands,
60405 /* 172041 */ // GIR_Coverage, 10380,
60406 /* 172041 */ GIR_Done,
60407 /* 172042 */ // Label 4772: @172042
60408 /* 172042 */ GIM_Reject,
60409 /* 172043 */ // Label 4765: @172043
60410 /* 172043 */ GIM_Reject,
60411 /* 172044 */ // Label 4753: @172044
60412 /* 172044 */ GIM_Reject,
60413 /* 172045 */ // Label 4747: @172045
60414 /* 172045 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4776*/ GIMT_Encode4(172616),
60415 /* 172056 */ /*GILLT_s16*//*Label 4773*/ GIMT_Encode4(172068),
60416 /* 172060 */ /*GILLT_s32*//*Label 4774*/ GIMT_Encode4(172152),
60417 /* 172064 */ /*GILLT_s64*//*Label 4775*/ GIMT_Encode4(172384),
60418 /* 172068 */ // Label 4773: @172068
60419 /* 172068 */ GIM_Try, /*On fail goto*//*Label 4777*/ GIMT_Encode4(172151),
60420 /* 172073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
60421 /* 172077 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4778*/ GIMT_Encode4(172128), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15183 //
60422 /* 172084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60423 /* 172088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60424 /* 172092 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60425 /* 172095 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60426 /* 172099 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60427 /* 172103 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60428 /* 172105 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60429 /* 172112 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60430 /* 172112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
60431 /* 172115 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60432 /* 172117 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60433 /* 172121 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60434 /* 172126 */ GIR_RootConstrainSelectedInstOperands,
60435 /* 172127 */ // GIR_Coverage, 15183,
60436 /* 172127 */ GIR_EraseRootFromParent_Done,
60437 /* 172128 */ // Label 4778: @172128
60438 /* 172128 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4779*/ GIMT_Encode4(172150), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15181 //
60439 /* 172135 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60440 /* 172139 */ // (fp_to_sint:{ *:[i64] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16X:{ *:[f16] }:$src)
60441 /* 172139 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
60442 /* 172144 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60443 /* 172148 */ GIR_RootConstrainSelectedInstOperands,
60444 /* 172149 */ // GIR_Coverage, 15181,
60445 /* 172149 */ GIR_Done,
60446 /* 172150 */ // Label 4779: @172150
60447 /* 172150 */ GIM_Reject,
60448 /* 172151 */ // Label 4777: @172151
60449 /* 172151 */ GIM_Reject,
60450 /* 172152 */ // Label 4774: @172152
60451 /* 172152 */ GIM_Try, /*On fail goto*//*Label 4780*/ GIMT_Encode4(172383),
60452 /* 172157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
60453 /* 172161 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4781*/ GIMT_Encode4(172212), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1727 //
60454 /* 172168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60455 /* 172172 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60456 /* 172176 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60457 /* 172179 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60458 /* 172183 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60459 /* 172187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60460 /* 172189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60461 /* 172196 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60462 /* 172196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64rm),
60463 /* 172199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60464 /* 172201 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60465 /* 172205 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60466 /* 172210 */ GIR_RootConstrainSelectedInstOperands,
60467 /* 172211 */ // GIR_Coverage, 1727,
60468 /* 172211 */ GIR_EraseRootFromParent_Done,
60469 /* 172212 */ // Label 4781: @172212
60470 /* 172212 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4782*/ GIMT_Encode4(172263), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1751 //
60471 /* 172219 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60472 /* 172223 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60473 /* 172227 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60474 /* 172230 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60475 /* 172234 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60476 /* 172238 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60477 /* 172240 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60478 /* 172247 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60479 /* 172247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SI64rm),
60480 /* 172250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60481 /* 172252 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60482 /* 172256 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60483 /* 172261 */ GIR_RootConstrainSelectedInstOperands,
60484 /* 172262 */ // GIR_Coverage, 1751,
60485 /* 172262 */ GIR_EraseRootFromParent_Done,
60486 /* 172263 */ // Label 4782: @172263
60487 /* 172263 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4783*/ GIMT_Encode4(172314), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10373 //
60488 /* 172270 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60489 /* 172274 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60490 /* 172278 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60491 /* 172281 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60492 /* 172285 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60493 /* 172289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60494 /* 172291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60495 /* 172298 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60496 /* 172298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64Zrm),
60497 /* 172301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60498 /* 172303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60499 /* 172307 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60500 /* 172312 */ GIR_RootConstrainSelectedInstOperands,
60501 /* 172313 */ // GIR_Coverage, 10373,
60502 /* 172313 */ GIR_EraseRootFromParent_Done,
60503 /* 172314 */ // Label 4783: @172314
60504 /* 172314 */ GIM_Try, /*On fail goto*//*Label 4784*/ GIMT_Encode4(172360),
60505 /* 172319 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60506 /* 172323 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4785*/ GIMT_Encode4(172341), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1725 //
60507 /* 172330 */ // (fp_to_sint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
60508 /* 172330 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64rr),
60509 /* 172335 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60510 /* 172339 */ GIR_RootConstrainSelectedInstOperands,
60511 /* 172340 */ // GIR_Coverage, 1725,
60512 /* 172340 */ GIR_Done,
60513 /* 172341 */ // Label 4785: @172341
60514 /* 172341 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4786*/ GIMT_Encode4(172359), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1749 //
60515 /* 172348 */ // (fp_to_sint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
60516 /* 172348 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SI64rr),
60517 /* 172353 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60518 /* 172357 */ GIR_RootConstrainSelectedInstOperands,
60519 /* 172358 */ // GIR_Coverage, 1749,
60520 /* 172358 */ GIR_Done,
60521 /* 172359 */ // Label 4786: @172359
60522 /* 172359 */ GIM_Reject,
60523 /* 172360 */ // Label 4784: @172360
60524 /* 172360 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4787*/ GIMT_Encode4(172382), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10371 //
60525 /* 172367 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60526 /* 172371 */ // (fp_to_sint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2SI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
60527 /* 172371 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64Zrr),
60528 /* 172376 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60529 /* 172380 */ GIR_RootConstrainSelectedInstOperands,
60530 /* 172381 */ // GIR_Coverage, 10371,
60531 /* 172381 */ GIR_Done,
60532 /* 172382 */ // Label 4787: @172382
60533 /* 172382 */ GIM_Reject,
60534 /* 172383 */ // Label 4780: @172383
60535 /* 172383 */ GIM_Reject,
60536 /* 172384 */ // Label 4775: @172384
60537 /* 172384 */ GIM_Try, /*On fail goto*//*Label 4788*/ GIMT_Encode4(172615),
60538 /* 172389 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
60539 /* 172393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4789*/ GIMT_Encode4(172444), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1735 //
60540 /* 172400 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60541 /* 172404 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60542 /* 172408 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60543 /* 172411 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60544 /* 172415 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60545 /* 172419 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60546 /* 172421 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60547 /* 172428 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60548 /* 172428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64rm),
60549 /* 172431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60550 /* 172433 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60551 /* 172437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60552 /* 172442 */ GIR_RootConstrainSelectedInstOperands,
60553 /* 172443 */ // GIR_Coverage, 1735,
60554 /* 172443 */ GIR_EraseRootFromParent_Done,
60555 /* 172444 */ // Label 4789: @172444
60556 /* 172444 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4790*/ GIMT_Encode4(172495), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1759 //
60557 /* 172451 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60558 /* 172455 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60559 /* 172459 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60560 /* 172462 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60561 /* 172466 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60562 /* 172470 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60563 /* 172472 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60564 /* 172479 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60565 /* 172479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SI64rm),
60566 /* 172482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60567 /* 172484 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60568 /* 172488 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60569 /* 172493 */ GIR_RootConstrainSelectedInstOperands,
60570 /* 172494 */ // GIR_Coverage, 1759,
60571 /* 172494 */ GIR_EraseRootFromParent_Done,
60572 /* 172495 */ // Label 4790: @172495
60573 /* 172495 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4791*/ GIMT_Encode4(172546), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10391 //
60574 /* 172502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60575 /* 172506 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60576 /* 172510 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60577 /* 172513 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60578 /* 172517 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60579 /* 172521 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60580 /* 172523 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60581 /* 172530 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60582 /* 172530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64Zrm),
60583 /* 172533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60584 /* 172535 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60585 /* 172539 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60586 /* 172544 */ GIR_RootConstrainSelectedInstOperands,
60587 /* 172545 */ // GIR_Coverage, 10391,
60588 /* 172545 */ GIR_EraseRootFromParent_Done,
60589 /* 172546 */ // Label 4791: @172546
60590 /* 172546 */ GIM_Try, /*On fail goto*//*Label 4792*/ GIMT_Encode4(172592),
60591 /* 172551 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60592 /* 172555 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4793*/ GIMT_Encode4(172573), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 1733 //
60593 /* 172562 */ // (fp_to_sint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
60594 /* 172562 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64rr),
60595 /* 172567 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60596 /* 172571 */ GIR_RootConstrainSelectedInstOperands,
60597 /* 172572 */ // GIR_Coverage, 1733,
60598 /* 172572 */ GIR_Done,
60599 /* 172573 */ // Label 4793: @172573
60600 /* 172573 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4794*/ GIMT_Encode4(172591), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1757 //
60601 /* 172580 */ // (fp_to_sint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
60602 /* 172580 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SI64rr),
60603 /* 172585 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60604 /* 172589 */ GIR_RootConstrainSelectedInstOperands,
60605 /* 172590 */ // GIR_Coverage, 1757,
60606 /* 172590 */ GIR_Done,
60607 /* 172591 */ // Label 4794: @172591
60608 /* 172591 */ GIM_Reject,
60609 /* 172592 */ // Label 4792: @172592
60610 /* 172592 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4795*/ GIMT_Encode4(172614), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10389 //
60611 /* 172599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60612 /* 172603 */ // (fp_to_sint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2SI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
60613 /* 172603 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64Zrr),
60614 /* 172608 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60615 /* 172612 */ GIR_RootConstrainSelectedInstOperands,
60616 /* 172613 */ // GIR_Coverage, 10389,
60617 /* 172613 */ GIR_Done,
60618 /* 172614 */ // Label 4795: @172614
60619 /* 172614 */ GIM_Reject,
60620 /* 172615 */ // Label 4788: @172615
60621 /* 172615 */ GIM_Reject,
60622 /* 172616 */ // Label 4776: @172616
60623 /* 172616 */ GIM_Reject,
60624 /* 172617 */ // Label 4748: @172617
60625 /* 172617 */ GIM_Try, /*On fail goto*//*Label 4796*/ GIMT_Encode4(172703),
60626 /* 172622 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
60627 /* 172625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60628 /* 172629 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4797*/ GIMT_Encode4(172680), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18147 //
60629 /* 172636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60630 /* 172640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60631 /* 172644 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60632 /* 172647 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60633 /* 172651 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60634 /* 172655 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60635 /* 172657 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60636 /* 172664 */ // (fp_to_sint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTPD2DQYrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
60637 /* 172664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2DQYrm),
60638 /* 172667 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60639 /* 172669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60640 /* 172673 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60641 /* 172678 */ GIR_RootConstrainSelectedInstOperands,
60642 /* 172679 */ // GIR_Coverage, 18147,
60643 /* 172679 */ GIR_EraseRootFromParent_Done,
60644 /* 172680 */ // Label 4797: @172680
60645 /* 172680 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4798*/ GIMT_Encode4(172702), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 18145 //
60646 /* 172687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60647 /* 172691 */ // (fp_to_sint:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src) => (VCVTTPD2DQYrr:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src)
60648 /* 172691 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2DQYrr),
60649 /* 172696 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60650 /* 172700 */ GIR_RootConstrainSelectedInstOperands,
60651 /* 172701 */ // GIR_Coverage, 18145,
60652 /* 172701 */ GIR_Done,
60653 /* 172702 */ // Label 4798: @172702
60654 /* 172702 */ GIM_Reject,
60655 /* 172703 */ // Label 4796: @172703
60656 /* 172703 */ GIM_Reject,
60657 /* 172704 */ // Label 4749: @172704
60658 /* 172704 */ GIM_Reject,
60659 /* 172705 */ // Label 53: @172705
60660 /* 172705 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4801*/ GIMT_Encode4(173276),
60661 /* 172716 */ /*GILLT_s32*//*Label 4799*/ GIMT_Encode4(172724),
60662 /* 172720 */ /*GILLT_s64*//*Label 4800*/ GIMT_Encode4(173000),
60663 /* 172724 */ // Label 4799: @172724
60664 /* 172724 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4805*/ GIMT_Encode4(172999),
60665 /* 172735 */ /*GILLT_s16*//*Label 4802*/ GIMT_Encode4(172747),
60666 /* 172739 */ /*GILLT_s32*//*Label 4803*/ GIMT_Encode4(172831),
60667 /* 172743 */ /*GILLT_s64*//*Label 4804*/ GIMT_Encode4(172915),
60668 /* 172747 */ // Label 4802: @172747
60669 /* 172747 */ GIM_Try, /*On fail goto*//*Label 4806*/ GIMT_Encode4(172830),
60670 /* 172752 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
60671 /* 172756 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4807*/ GIMT_Encode4(172807), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15192 //
60672 /* 172763 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60673 /* 172767 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60674 /* 172771 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60675 /* 172774 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60676 /* 172778 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60677 /* 172782 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60678 /* 172784 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60679 /* 172791 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60680 /* 172791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USIZrm),
60681 /* 172794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60682 /* 172796 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60683 /* 172800 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60684 /* 172805 */ GIR_RootConstrainSelectedInstOperands,
60685 /* 172806 */ // GIR_Coverage, 15192,
60686 /* 172806 */ GIR_EraseRootFromParent_Done,
60687 /* 172807 */ // Label 4807: @172807
60688 /* 172807 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4808*/ GIMT_Encode4(172829), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15190 //
60689 /* 172814 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60690 /* 172818 */ // (fp_to_uint:{ *:[i32] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2USIZrr:{ *:[i32] } FR16X:{ *:[f16] }:$src)
60691 /* 172818 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USIZrr),
60692 /* 172823 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60693 /* 172827 */ GIR_RootConstrainSelectedInstOperands,
60694 /* 172828 */ // GIR_Coverage, 15190,
60695 /* 172828 */ GIR_Done,
60696 /* 172829 */ // Label 4808: @172829
60697 /* 172829 */ GIM_Reject,
60698 /* 172830 */ // Label 4806: @172830
60699 /* 172830 */ GIM_Reject,
60700 /* 172831 */ // Label 4803: @172831
60701 /* 172831 */ GIM_Try, /*On fail goto*//*Label 4809*/ GIMT_Encode4(172914),
60702 /* 172836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
60703 /* 172840 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4810*/ GIMT_Encode4(172891), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10400 //
60704 /* 172847 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60705 /* 172851 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60706 /* 172855 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60707 /* 172858 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60708 /* 172862 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60709 /* 172866 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60710 /* 172868 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60711 /* 172875 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60712 /* 172875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USIZrm),
60713 /* 172878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60714 /* 172880 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60715 /* 172884 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60716 /* 172889 */ GIR_RootConstrainSelectedInstOperands,
60717 /* 172890 */ // GIR_Coverage, 10400,
60718 /* 172890 */ GIR_EraseRootFromParent_Done,
60719 /* 172891 */ // Label 4810: @172891
60720 /* 172891 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4811*/ GIMT_Encode4(172913), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10398 //
60721 /* 172898 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60722 /* 172902 */ // (fp_to_uint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2USIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
60723 /* 172902 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USIZrr),
60724 /* 172907 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60725 /* 172911 */ GIR_RootConstrainSelectedInstOperands,
60726 /* 172912 */ // GIR_Coverage, 10398,
60727 /* 172912 */ GIR_Done,
60728 /* 172913 */ // Label 4811: @172913
60729 /* 172913 */ GIM_Reject,
60730 /* 172914 */ // Label 4809: @172914
60731 /* 172914 */ GIM_Reject,
60732 /* 172915 */ // Label 4804: @172915
60733 /* 172915 */ GIM_Try, /*On fail goto*//*Label 4812*/ GIMT_Encode4(172998),
60734 /* 172920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
60735 /* 172924 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4813*/ GIMT_Encode4(172975), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10418 //
60736 /* 172931 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60737 /* 172935 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60738 /* 172939 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60739 /* 172942 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60740 /* 172946 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60741 /* 172950 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60742 /* 172952 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60743 /* 172959 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
60744 /* 172959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USIZrm),
60745 /* 172962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60746 /* 172964 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60747 /* 172968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60748 /* 172973 */ GIR_RootConstrainSelectedInstOperands,
60749 /* 172974 */ // GIR_Coverage, 10418,
60750 /* 172974 */ GIR_EraseRootFromParent_Done,
60751 /* 172975 */ // Label 4813: @172975
60752 /* 172975 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4814*/ GIMT_Encode4(172997), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10416 //
60753 /* 172982 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60754 /* 172986 */ // (fp_to_uint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2USIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
60755 /* 172986 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USIZrr),
60756 /* 172991 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60757 /* 172995 */ GIR_RootConstrainSelectedInstOperands,
60758 /* 172996 */ // GIR_Coverage, 10416,
60759 /* 172996 */ GIR_Done,
60760 /* 172997 */ // Label 4814: @172997
60761 /* 172997 */ GIM_Reject,
60762 /* 172998 */ // Label 4812: @172998
60763 /* 172998 */ GIM_Reject,
60764 /* 172999 */ // Label 4805: @172999
60765 /* 172999 */ GIM_Reject,
60766 /* 173000 */ // Label 4800: @173000
60767 /* 173000 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4818*/ GIMT_Encode4(173275),
60768 /* 173011 */ /*GILLT_s16*//*Label 4815*/ GIMT_Encode4(173023),
60769 /* 173015 */ /*GILLT_s32*//*Label 4816*/ GIMT_Encode4(173107),
60770 /* 173019 */ /*GILLT_s64*//*Label 4817*/ GIMT_Encode4(173191),
60771 /* 173023 */ // Label 4815: @173023
60772 /* 173023 */ GIM_Try, /*On fail goto*//*Label 4819*/ GIMT_Encode4(173106),
60773 /* 173028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
60774 /* 173032 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4820*/ GIMT_Encode4(173083), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15201 //
60775 /* 173039 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60776 /* 173043 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60777 /* 173047 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60778 /* 173050 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60779 /* 173054 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60780 /* 173058 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60781 /* 173060 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60782 /* 173067 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60783 /* 173067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USI64Zrm),
60784 /* 173070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60785 /* 173072 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60786 /* 173076 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60787 /* 173081 */ GIR_RootConstrainSelectedInstOperands,
60788 /* 173082 */ // GIR_Coverage, 15201,
60789 /* 173082 */ GIR_EraseRootFromParent_Done,
60790 /* 173083 */ // Label 4820: @173083
60791 /* 173083 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4821*/ GIMT_Encode4(173105), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15199 //
60792 /* 173090 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60793 /* 173094 */ // (fp_to_uint:{ *:[i64] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2USI64Zrr:{ *:[i64] } FR16X:{ *:[f16] }:$src)
60794 /* 173094 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USI64Zrr),
60795 /* 173099 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60796 /* 173103 */ GIR_RootConstrainSelectedInstOperands,
60797 /* 173104 */ // GIR_Coverage, 15199,
60798 /* 173104 */ GIR_Done,
60799 /* 173105 */ // Label 4821: @173105
60800 /* 173105 */ GIM_Reject,
60801 /* 173106 */ // Label 4819: @173106
60802 /* 173106 */ GIM_Reject,
60803 /* 173107 */ // Label 4816: @173107
60804 /* 173107 */ GIM_Try, /*On fail goto*//*Label 4822*/ GIMT_Encode4(173190),
60805 /* 173112 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
60806 /* 173116 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4823*/ GIMT_Encode4(173167), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10409 //
60807 /* 173123 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60808 /* 173127 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60809 /* 173131 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60810 /* 173134 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60811 /* 173138 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60812 /* 173142 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60813 /* 173144 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60814 /* 173151 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60815 /* 173151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USI64Zrm),
60816 /* 173154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60817 /* 173156 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60818 /* 173160 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60819 /* 173165 */ GIR_RootConstrainSelectedInstOperands,
60820 /* 173166 */ // GIR_Coverage, 10409,
60821 /* 173166 */ GIR_EraseRootFromParent_Done,
60822 /* 173167 */ // Label 4823: @173167
60823 /* 173167 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4824*/ GIMT_Encode4(173189), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10407 //
60824 /* 173174 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60825 /* 173178 */ // (fp_to_uint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2USI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
60826 /* 173178 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USI64Zrr),
60827 /* 173183 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60828 /* 173187 */ GIR_RootConstrainSelectedInstOperands,
60829 /* 173188 */ // GIR_Coverage, 10407,
60830 /* 173188 */ GIR_Done,
60831 /* 173189 */ // Label 4824: @173189
60832 /* 173189 */ GIM_Reject,
60833 /* 173190 */ // Label 4822: @173190
60834 /* 173190 */ GIM_Reject,
60835 /* 173191 */ // Label 4817: @173191
60836 /* 173191 */ GIM_Try, /*On fail goto*//*Label 4825*/ GIMT_Encode4(173274),
60837 /* 173196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
60838 /* 173200 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4826*/ GIMT_Encode4(173251), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10427 //
60839 /* 173207 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60840 /* 173211 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60841 /* 173215 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60842 /* 173218 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60843 /* 173222 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60844 /* 173226 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60845 /* 173228 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60846 /* 173235 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
60847 /* 173235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USI64Zrm),
60848 /* 173238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60849 /* 173240 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60850 /* 173244 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60851 /* 173249 */ GIR_RootConstrainSelectedInstOperands,
60852 /* 173250 */ // GIR_Coverage, 10427,
60853 /* 173250 */ GIR_EraseRootFromParent_Done,
60854 /* 173251 */ // Label 4826: @173251
60855 /* 173251 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4827*/ GIMT_Encode4(173273), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10425 //
60856 /* 173258 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60857 /* 173262 */ // (fp_to_uint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2USI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
60858 /* 173262 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USI64Zrr),
60859 /* 173267 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60860 /* 173271 */ GIR_RootConstrainSelectedInstOperands,
60861 /* 173272 */ // GIR_Coverage, 10425,
60862 /* 173272 */ GIR_Done,
60863 /* 173273 */ // Label 4827: @173273
60864 /* 173273 */ GIM_Reject,
60865 /* 173274 */ // Label 4825: @173274
60866 /* 173274 */ GIM_Reject,
60867 /* 173275 */ // Label 4818: @173275
60868 /* 173275 */ GIM_Reject,
60869 /* 173276 */ // Label 4801: @173276
60870 /* 173276 */ GIM_Reject,
60871 /* 173277 */ // Label 54: @173277
60872 /* 173277 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4840*/ GIMT_Encode4(176714),
60873 /* 173288 */ /*GILLT_s16*//*Label 4828*/ GIMT_Encode4(173380),
60874 /* 173292 */ /*GILLT_s32*//*Label 4829*/ GIMT_Encode4(173632),
60875 /* 173296 */ /*GILLT_s64*//*Label 4830*/ GIMT_Encode4(174270), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
60876 /* 173344 */ /*GILLT_v8s16*//*Label 4831*/ GIMT_Encode4(174904),
60877 /* 173348 */ /*GILLT_v16s16*//*Label 4832*/ GIMT_Encode4(175204),
60878 /* 173352 */ /*GILLT_v32s16*//*Label 4833*/ GIMT_Encode4(175404),
60879 /* 173356 */ /*GILLT_v4s32*//*Label 4834*/ GIMT_Encode4(175491),
60880 /* 173360 */ /*GILLT_v8s32*//*Label 4835*/ GIMT_Encode4(175794),
60881 /* 173364 */ /*GILLT_v16s32*//*Label 4836*/ GIMT_Encode4(176073),
60882 /* 173368 */ /*GILLT_v2s64*//*Label 4837*/ GIMT_Encode4(176160),
60883 /* 173372 */ /*GILLT_v4s64*//*Label 4838*/ GIMT_Encode4(176247),
60884 /* 173376 */ /*GILLT_v8s64*//*Label 4839*/ GIMT_Encode4(176518),
60885 /* 173380 */ // Label 4828: @173380
60886 /* 173380 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4843*/ GIMT_Encode4(173631),
60887 /* 173391 */ /*GILLT_s32*//*Label 4841*/ GIMT_Encode4(173399),
60888 /* 173395 */ /*GILLT_s64*//*Label 4842*/ GIMT_Encode4(173515),
60889 /* 173399 */ // Label 4841: @173399
60890 /* 173399 */ GIM_Try, /*On fail goto*//*Label 4844*/ GIMT_Encode4(173514),
60891 /* 173404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60892 /* 173408 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4845*/ GIMT_Encode4(173476), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22375 //
60893 /* 173415 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60894 /* 173419 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60895 /* 173423 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60896 /* 173426 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60897 /* 173430 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
60898 /* 173434 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60899 /* 173436 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60900 /* 173443 */ // (sint_to_fp:{ *:[f16] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
60901 /* 173443 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
60902 /* 173446 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
60903 /* 173450 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
60904 /* 173455 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
60905 /* 173457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SHZrm),
60906 /* 173460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60907 /* 173462 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
60908 /* 173465 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60909 /* 173469 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60910 /* 173474 */ GIR_RootConstrainSelectedInstOperands,
60911 /* 173475 */ // GIR_Coverage, 22375,
60912 /* 173475 */ GIR_EraseRootFromParent_Done,
60913 /* 173476 */ // Label 4845: @173476
60914 /* 173476 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4846*/ GIMT_Encode4(173513), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22379 //
60915 /* 173483 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
60916 /* 173487 */ // (sint_to_fp:{ *:[f16] } GR32:{ *:[i32] }:$src) => (VCVTSI2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR32:{ *:[i32] }:$src)
60917 /* 173487 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
60918 /* 173490 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
60919 /* 173494 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
60920 /* 173499 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
60921 /* 173501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SHZrr),
60922 /* 173504 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60923 /* 173506 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
60924 /* 173509 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
60925 /* 173511 */ GIR_RootConstrainSelectedInstOperands,
60926 /* 173512 */ // GIR_Coverage, 22379,
60927 /* 173512 */ GIR_EraseRootFromParent_Done,
60928 /* 173513 */ // Label 4846: @173513
60929 /* 173513 */ GIM_Reject,
60930 /* 173514 */ // Label 4844: @173514
60931 /* 173514 */ GIM_Reject,
60932 /* 173515 */ // Label 4842: @173515
60933 /* 173515 */ GIM_Try, /*On fail goto*//*Label 4847*/ GIMT_Encode4(173630),
60934 /* 173520 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60935 /* 173524 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4848*/ GIMT_Encode4(173592), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22377 //
60936 /* 173531 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60937 /* 173535 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60938 /* 173539 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60939 /* 173542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60940 /* 173546 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60941 /* 173550 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60942 /* 173552 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60943 /* 173559 */ // (sint_to_fp:{ *:[f16] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
60944 /* 173559 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
60945 /* 173562 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
60946 /* 173566 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
60947 /* 173571 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
60948 /* 173573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SHZrm),
60949 /* 173576 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60950 /* 173578 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
60951 /* 173581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60952 /* 173585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60953 /* 173590 */ GIR_RootConstrainSelectedInstOperands,
60954 /* 173591 */ // GIR_Coverage, 22377,
60955 /* 173591 */ GIR_EraseRootFromParent_Done,
60956 /* 173592 */ // Label 4848: @173592
60957 /* 173592 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4849*/ GIMT_Encode4(173629), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22381 //
60958 /* 173599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
60959 /* 173603 */ // (sint_to_fp:{ *:[f16] } GR64:{ *:[i64] }:$src) => (VCVTSI642SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR64:{ *:[i64] }:$src)
60960 /* 173603 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
60961 /* 173606 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
60962 /* 173610 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
60963 /* 173615 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
60964 /* 173617 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SHZrr),
60965 /* 173620 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60966 /* 173622 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
60967 /* 173625 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
60968 /* 173627 */ GIR_RootConstrainSelectedInstOperands,
60969 /* 173628 */ // GIR_Coverage, 22381,
60970 /* 173628 */ GIR_EraseRootFromParent_Done,
60971 /* 173629 */ // Label 4849: @173629
60972 /* 173629 */ GIM_Reject,
60973 /* 173630 */ // Label 4847: @173630
60974 /* 173630 */ GIM_Reject,
60975 /* 173631 */ // Label 4843: @173631
60976 /* 173631 */ GIM_Reject,
60977 /* 173632 */ // Label 4829: @173632
60978 /* 173632 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4852*/ GIMT_Encode4(174269),
60979 /* 173643 */ /*GILLT_s32*//*Label 4850*/ GIMT_Encode4(173651),
60980 /* 173647 */ /*GILLT_s64*//*Label 4851*/ GIMT_Encode4(173961),
60981 /* 173651 */ // Label 4850: @173651
60982 /* 173651 */ GIM_Try, /*On fail goto*//*Label 4853*/ GIMT_Encode4(173780),
60983 /* 173656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60984 /* 173660 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4854*/ GIMT_Encode4(173711), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1771 //
60985 /* 173667 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60986 /* 173671 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60987 /* 173675 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60988 /* 173678 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60989 /* 173682 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
60990 /* 173686 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60991 /* 173688 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60992 /* 173695 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (CVTSI2SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
60993 /* 173695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI2SSrm),
60994 /* 173698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60995 /* 173700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
60996 /* 173704 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60997 /* 173709 */ GIR_RootConstrainSelectedInstOperands,
60998 /* 173710 */ // GIR_Coverage, 1771,
60999 /* 173710 */ GIR_EraseRootFromParent_Done,
61000 /* 173711 */ // Label 4854: @173711
61001 /* 173711 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4855*/ GIMT_Encode4(173779), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18043 //
61002 /* 173718 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61003 /* 173722 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61004 /* 173726 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61005 /* 173729 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61006 /* 173733 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
61007 /* 173737 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61008 /* 173739 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61009 /* 173746 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SSrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
61010 /* 173746 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61011 /* 173749 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61012 /* 173753 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61013 /* 173758 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61014 /* 173760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSrm),
61015 /* 173763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61016 /* 173765 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61017 /* 173768 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61018 /* 173772 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61019 /* 173777 */ GIR_RootConstrainSelectedInstOperands,
61020 /* 173778 */ // GIR_Coverage, 18043,
61021 /* 173778 */ GIR_EraseRootFromParent_Done,
61022 /* 173779 */ // Label 4855: @173779
61023 /* 173779 */ GIM_Reject,
61024 /* 173780 */ // Label 4853: @173780
61025 /* 173780 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4856*/ GIMT_Encode4(173852), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21260 //
61026 /* 173787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61027 /* 173791 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61028 /* 173795 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61029 /* 173799 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61030 /* 173802 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61031 /* 173806 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
61032 /* 173810 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61033 /* 173812 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61034 /* 173819 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
61035 /* 173819 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61036 /* 173822 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61037 /* 173826 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61038 /* 173831 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61039 /* 173833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSZrm),
61040 /* 173836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61041 /* 173838 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61042 /* 173841 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61043 /* 173845 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61044 /* 173850 */ GIR_RootConstrainSelectedInstOperands,
61045 /* 173851 */ // GIR_Coverage, 21260,
61046 /* 173851 */ GIR_EraseRootFromParent_Done,
61047 /* 173852 */ // Label 4856: @173852
61048 /* 173852 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4857*/ GIMT_Encode4(173878), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1769 //
61049 /* 173859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61050 /* 173863 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61051 /* 173867 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (CVTSI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
61052 /* 173867 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI2SSrr),
61053 /* 173872 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61054 /* 173876 */ GIR_RootConstrainSelectedInstOperands,
61055 /* 173877 */ // GIR_Coverage, 1769,
61056 /* 173877 */ GIR_Done,
61057 /* 173878 */ // Label 4857: @173878
61058 /* 173878 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4858*/ GIMT_Encode4(173919), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18051 //
61059 /* 173885 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61060 /* 173889 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61061 /* 173893 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTSI2SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
61062 /* 173893 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61063 /* 173896 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61064 /* 173900 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61065 /* 173905 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61066 /* 173907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSrr),
61067 /* 173910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61068 /* 173912 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61069 /* 173915 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61070 /* 173917 */ GIR_RootConstrainSelectedInstOperands,
61071 /* 173918 */ // GIR_Coverage, 18051,
61072 /* 173918 */ GIR_EraseRootFromParent_Done,
61073 /* 173919 */ // Label 4858: @173919
61074 /* 173919 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4859*/ GIMT_Encode4(173960), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21268 //
61075 /* 173926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61076 /* 173930 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61077 /* 173934 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTSI2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
61078 /* 173934 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61079 /* 173937 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61080 /* 173941 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61081 /* 173946 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61082 /* 173948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSZrr),
61083 /* 173951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61084 /* 173953 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61085 /* 173956 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61086 /* 173958 */ GIR_RootConstrainSelectedInstOperands,
61087 /* 173959 */ // GIR_Coverage, 21268,
61088 /* 173959 */ GIR_EraseRootFromParent_Done,
61089 /* 173960 */ // Label 4859: @173960
61090 /* 173960 */ GIM_Reject,
61091 /* 173961 */ // Label 4851: @173961
61092 /* 173961 */ GIM_Try, /*On fail goto*//*Label 4860*/ GIMT_Encode4(174090),
61093 /* 173966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61094 /* 173970 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4861*/ GIMT_Encode4(174021), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1775 //
61095 /* 173977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61096 /* 173981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61097 /* 173985 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61098 /* 173988 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61099 /* 173992 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61100 /* 173996 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61101 /* 173998 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61102 /* 174005 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSI642SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
61103 /* 174005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI642SSrm),
61104 /* 174008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61105 /* 174010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61106 /* 174014 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61107 /* 174019 */ GIR_RootConstrainSelectedInstOperands,
61108 /* 174020 */ // GIR_Coverage, 1775,
61109 /* 174020 */ GIR_EraseRootFromParent_Done,
61110 /* 174021 */ // Label 4861: @174021
61111 /* 174021 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4862*/ GIMT_Encode4(174089), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18045 //
61112 /* 174028 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61113 /* 174032 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61114 /* 174036 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61115 /* 174039 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61116 /* 174043 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61117 /* 174047 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61118 /* 174049 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61119 /* 174056 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SSrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
61120 /* 174056 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61121 /* 174059 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61122 /* 174063 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61123 /* 174068 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61124 /* 174070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSrm),
61125 /* 174073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61126 /* 174075 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61127 /* 174078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61128 /* 174082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61129 /* 174087 */ GIR_RootConstrainSelectedInstOperands,
61130 /* 174088 */ // GIR_Coverage, 18045,
61131 /* 174088 */ GIR_EraseRootFromParent_Done,
61132 /* 174089 */ // Label 4862: @174089
61133 /* 174089 */ GIM_Reject,
61134 /* 174090 */ // Label 4860: @174090
61135 /* 174090 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4863*/ GIMT_Encode4(174162), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21262 //
61136 /* 174097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61137 /* 174101 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61138 /* 174105 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61139 /* 174109 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61140 /* 174112 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61141 /* 174116 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61142 /* 174120 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61143 /* 174122 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61144 /* 174129 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
61145 /* 174129 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61146 /* 174132 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61147 /* 174136 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61148 /* 174141 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61149 /* 174143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSZrm),
61150 /* 174146 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61151 /* 174148 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61152 /* 174151 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61153 /* 174155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61154 /* 174160 */ GIR_RootConstrainSelectedInstOperands,
61155 /* 174161 */ // GIR_Coverage, 21262,
61156 /* 174161 */ GIR_EraseRootFromParent_Done,
61157 /* 174162 */ // Label 4863: @174162
61158 /* 174162 */ GIM_Try, /*On fail goto*//*Label 4864*/ GIMT_Encode4(174227),
61159 /* 174167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61160 /* 174171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61161 /* 174175 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4865*/ GIMT_Encode4(174193), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 1773 //
61162 /* 174182 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (CVTSI642SSrr:{ *:[f32] } GR64:{ *:[i64] }:$src)
61163 /* 174182 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI642SSrr),
61164 /* 174187 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61165 /* 174191 */ GIR_RootConstrainSelectedInstOperands,
61166 /* 174192 */ // GIR_Coverage, 1773,
61167 /* 174192 */ GIR_Done,
61168 /* 174193 */ // Label 4865: @174193
61169 /* 174193 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4866*/ GIMT_Encode4(174226), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18053 //
61170 /* 174200 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTSI642SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
61171 /* 174200 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61172 /* 174203 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61173 /* 174207 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61174 /* 174212 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61175 /* 174214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSrr),
61176 /* 174217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61177 /* 174219 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61178 /* 174222 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61179 /* 174224 */ GIR_RootConstrainSelectedInstOperands,
61180 /* 174225 */ // GIR_Coverage, 18053,
61181 /* 174225 */ GIR_EraseRootFromParent_Done,
61182 /* 174226 */ // Label 4866: @174226
61183 /* 174226 */ GIM_Reject,
61184 /* 174227 */ // Label 4864: @174227
61185 /* 174227 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4867*/ GIMT_Encode4(174268), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21270 //
61186 /* 174234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61187 /* 174238 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61188 /* 174242 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTSI642SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
61189 /* 174242 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61190 /* 174245 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61191 /* 174249 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61192 /* 174254 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61193 /* 174256 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSZrr),
61194 /* 174259 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61195 /* 174261 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61196 /* 174264 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61197 /* 174266 */ GIR_RootConstrainSelectedInstOperands,
61198 /* 174267 */ // GIR_Coverage, 21270,
61199 /* 174267 */ GIR_EraseRootFromParent_Done,
61200 /* 174268 */ // Label 4867: @174268
61201 /* 174268 */ GIM_Reject,
61202 /* 174269 */ // Label 4852: @174269
61203 /* 174269 */ GIM_Reject,
61204 /* 174270 */ // Label 4830: @174270
61205 /* 174270 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4870*/ GIMT_Encode4(174903),
61206 /* 174281 */ /*GILLT_s32*//*Label 4868*/ GIMT_Encode4(174289),
61207 /* 174285 */ /*GILLT_s64*//*Label 4869*/ GIMT_Encode4(174595),
61208 /* 174289 */ // Label 4868: @174289
61209 /* 174289 */ GIM_Try, /*On fail goto*//*Label 4871*/ GIMT_Encode4(174418),
61210 /* 174294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61211 /* 174298 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4872*/ GIMT_Encode4(174349), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1779 //
61212 /* 174305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61213 /* 174309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61214 /* 174313 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61215 /* 174316 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61216 /* 174320 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
61217 /* 174324 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61218 /* 174326 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61219 /* 174333 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (CVTSI2SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
61220 /* 174333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI2SDrm),
61221 /* 174336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61222 /* 174338 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61223 /* 174342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61224 /* 174347 */ GIR_RootConstrainSelectedInstOperands,
61225 /* 174348 */ // GIR_Coverage, 1779,
61226 /* 174348 */ GIR_EraseRootFromParent_Done,
61227 /* 174349 */ // Label 4872: @174349
61228 /* 174349 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4873*/ GIMT_Encode4(174417), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18047 //
61229 /* 174356 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61230 /* 174360 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61231 /* 174364 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61232 /* 174367 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61233 /* 174371 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
61234 /* 174375 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61235 /* 174377 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61236 /* 174384 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61237 /* 174384 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61238 /* 174387 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61239 /* 174391 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61240 /* 174396 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61241 /* 174398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDrm),
61242 /* 174401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61243 /* 174403 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61244 /* 174406 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61245 /* 174410 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61246 /* 174415 */ GIR_RootConstrainSelectedInstOperands,
61247 /* 174416 */ // GIR_Coverage, 18047,
61248 /* 174416 */ GIR_EraseRootFromParent_Done,
61249 /* 174417 */ // Label 4873: @174417
61250 /* 174417 */ GIM_Reject,
61251 /* 174418 */ // Label 4871: @174418
61252 /* 174418 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4874*/ GIMT_Encode4(174490), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21264 //
61253 /* 174425 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61254 /* 174429 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61255 /* 174433 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61256 /* 174437 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61257 /* 174440 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61258 /* 174444 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
61259 /* 174448 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61260 /* 174450 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61261 /* 174457 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61262 /* 174457 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61263 /* 174460 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61264 /* 174464 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61265 /* 174469 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61266 /* 174471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDZrm),
61267 /* 174474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61268 /* 174476 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61269 /* 174479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61270 /* 174483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61271 /* 174488 */ GIR_RootConstrainSelectedInstOperands,
61272 /* 174489 */ // GIR_Coverage, 21264,
61273 /* 174489 */ GIR_EraseRootFromParent_Done,
61274 /* 174490 */ // Label 4874: @174490
61275 /* 174490 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4875*/ GIMT_Encode4(174512), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1777 //
61276 /* 174497 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61277 /* 174501 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61278 /* 174505 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (CVTSI2SDrr:{ *:[f64] } GR32:{ *:[i32] }:$src)
61279 /* 174505 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI2SDrr),
61280 /* 174510 */ GIR_RootConstrainSelectedInstOperands,
61281 /* 174511 */ // GIR_Coverage, 1777,
61282 /* 174511 */ GIR_Done,
61283 /* 174512 */ // Label 4875: @174512
61284 /* 174512 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4876*/ GIMT_Encode4(174553), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18055 //
61285 /* 174519 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61286 /* 174523 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61287 /* 174527 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTSI2SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
61288 /* 174527 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61289 /* 174530 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61290 /* 174534 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61291 /* 174539 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61292 /* 174541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDrr),
61293 /* 174544 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61294 /* 174546 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61295 /* 174549 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61296 /* 174551 */ GIR_RootConstrainSelectedInstOperands,
61297 /* 174552 */ // GIR_Coverage, 18055,
61298 /* 174552 */ GIR_EraseRootFromParent_Done,
61299 /* 174553 */ // Label 4876: @174553
61300 /* 174553 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4877*/ GIMT_Encode4(174594), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21272 //
61301 /* 174560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61302 /* 174564 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61303 /* 174568 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTSI2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
61304 /* 174568 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61305 /* 174571 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61306 /* 174575 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61307 /* 174580 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61308 /* 174582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDZrr),
61309 /* 174585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61310 /* 174587 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61311 /* 174590 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61312 /* 174592 */ GIR_RootConstrainSelectedInstOperands,
61313 /* 174593 */ // GIR_Coverage, 21272,
61314 /* 174593 */ GIR_EraseRootFromParent_Done,
61315 /* 174594 */ // Label 4877: @174594
61316 /* 174594 */ GIM_Reject,
61317 /* 174595 */ // Label 4869: @174595
61318 /* 174595 */ GIM_Try, /*On fail goto*//*Label 4878*/ GIMT_Encode4(174724),
61319 /* 174600 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61320 /* 174604 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4879*/ GIMT_Encode4(174655), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1783 //
61321 /* 174611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61322 /* 174615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61323 /* 174619 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61324 /* 174622 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61325 /* 174626 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61326 /* 174630 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61327 /* 174632 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61328 /* 174639 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSI642SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
61329 /* 174639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI642SDrm),
61330 /* 174642 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61331 /* 174644 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61332 /* 174648 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61333 /* 174653 */ GIR_RootConstrainSelectedInstOperands,
61334 /* 174654 */ // GIR_Coverage, 1783,
61335 /* 174654 */ GIR_EraseRootFromParent_Done,
61336 /* 174655 */ // Label 4879: @174655
61337 /* 174655 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4880*/ GIMT_Encode4(174723), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18049 //
61338 /* 174662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61339 /* 174666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61340 /* 174670 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61341 /* 174673 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61342 /* 174677 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61343 /* 174681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61344 /* 174683 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61345 /* 174690 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61346 /* 174690 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61347 /* 174693 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61348 /* 174697 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61349 /* 174702 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61350 /* 174704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDrm),
61351 /* 174707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61352 /* 174709 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61353 /* 174712 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61354 /* 174716 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61355 /* 174721 */ GIR_RootConstrainSelectedInstOperands,
61356 /* 174722 */ // GIR_Coverage, 18049,
61357 /* 174722 */ GIR_EraseRootFromParent_Done,
61358 /* 174723 */ // Label 4880: @174723
61359 /* 174723 */ GIM_Reject,
61360 /* 174724 */ // Label 4878: @174724
61361 /* 174724 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4881*/ GIMT_Encode4(174796), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21266 //
61362 /* 174731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61363 /* 174735 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61364 /* 174739 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61365 /* 174743 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61366 /* 174746 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61367 /* 174750 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61368 /* 174754 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61369 /* 174756 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61370 /* 174763 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61371 /* 174763 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61372 /* 174766 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61373 /* 174770 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61374 /* 174775 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61375 /* 174777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDZrm),
61376 /* 174780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61377 /* 174782 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61378 /* 174785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61379 /* 174789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61380 /* 174794 */ GIR_RootConstrainSelectedInstOperands,
61381 /* 174795 */ // GIR_Coverage, 21266,
61382 /* 174795 */ GIR_EraseRootFromParent_Done,
61383 /* 174796 */ // Label 4881: @174796
61384 /* 174796 */ GIM_Try, /*On fail goto*//*Label 4882*/ GIMT_Encode4(174861),
61385 /* 174801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61386 /* 174805 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61387 /* 174809 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4883*/ GIMT_Encode4(174827), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1781 //
61388 /* 174816 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (CVTSI642SDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
61389 /* 174816 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI642SDrr),
61390 /* 174821 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61391 /* 174825 */ GIR_RootConstrainSelectedInstOperands,
61392 /* 174826 */ // GIR_Coverage, 1781,
61393 /* 174826 */ GIR_Done,
61394 /* 174827 */ // Label 4883: @174827
61395 /* 174827 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4884*/ GIMT_Encode4(174860), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18057 //
61396 /* 174834 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTSI642SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
61397 /* 174834 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61398 /* 174837 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61399 /* 174841 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61400 /* 174846 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61401 /* 174848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDrr),
61402 /* 174851 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61403 /* 174853 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61404 /* 174856 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61405 /* 174858 */ GIR_RootConstrainSelectedInstOperands,
61406 /* 174859 */ // GIR_Coverage, 18057,
61407 /* 174859 */ GIR_EraseRootFromParent_Done,
61408 /* 174860 */ // Label 4884: @174860
61409 /* 174860 */ GIM_Reject,
61410 /* 174861 */ // Label 4882: @174861
61411 /* 174861 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4885*/ GIMT_Encode4(174902), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21274 //
61412 /* 174868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61413 /* 174872 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
61414 /* 174876 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTSI642SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
61415 /* 174876 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61416 /* 174879 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61417 /* 174883 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61418 /* 174888 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61419 /* 174890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDZrr),
61420 /* 174893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61421 /* 174895 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61422 /* 174898 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61423 /* 174900 */ GIR_RootConstrainSelectedInstOperands,
61424 /* 174901 */ // GIR_Coverage, 21274,
61425 /* 174901 */ GIR_EraseRootFromParent_Done,
61426 /* 174902 */ // Label 4885: @174902
61427 /* 174902 */ GIM_Reject,
61428 /* 174903 */ // Label 4870: @174903
61429 /* 174903 */ GIM_Reject,
61430 /* 174904 */ // Label 4831: @174904
61431 /* 174904 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(16), GIMT_Encode2(25), /*)*//*default:*//*Label 4889*/ GIMT_Encode4(175203),
61432 /* 174915 */ /*GILLT_v8s16*//*Label 4886*/ GIMT_Encode4(174951), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61433 /* 174931 */ /*GILLT_v8s32*//*Label 4887*/ GIMT_Encode4(175035), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61434 /* 174947 */ /*GILLT_v8s64*//*Label 4888*/ GIMT_Encode4(175119),
61435 /* 174951 */ // Label 4886: @174951
61436 /* 174951 */ GIM_Try, /*On fail goto*//*Label 4890*/ GIMT_Encode4(175034),
61437 /* 174956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61438 /* 174960 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4891*/ GIMT_Encode4(175011), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 14826 //
61439 /* 174967 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61440 /* 174971 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61441 /* 174975 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61442 /* 174978 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61443 /* 174982 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61444 /* 174986 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61445 /* 174988 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61446 /* 174995 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
61447 /* 174995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ128rm),
61448 /* 174998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61449 /* 175000 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61450 /* 175004 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61451 /* 175009 */ GIR_RootConstrainSelectedInstOperands,
61452 /* 175010 */ // GIR_Coverage, 14826,
61453 /* 175010 */ GIR_EraseRootFromParent_Done,
61454 /* 175011 */ // Label 4891: @175011
61455 /* 175011 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4892*/ GIMT_Encode4(175033), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 14822 //
61456 /* 175018 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61457 /* 175022 */ // (sint_to_fp:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src) => (VCVTW2PHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src)
61458 /* 175022 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ128rr),
61459 /* 175027 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61460 /* 175031 */ GIR_RootConstrainSelectedInstOperands,
61461 /* 175032 */ // GIR_Coverage, 14822,
61462 /* 175032 */ GIR_Done,
61463 /* 175033 */ // Label 4892: @175033
61464 /* 175033 */ GIM_Reject,
61465 /* 175034 */ // Label 4890: @175034
61466 /* 175034 */ GIM_Reject,
61467 /* 175035 */ // Label 4887: @175035
61468 /* 175035 */ GIM_Try, /*On fail goto*//*Label 4893*/ GIMT_Encode4(175118),
61469 /* 175040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61470 /* 175044 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4894*/ GIMT_Encode4(175095), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 11458 //
61471 /* 175051 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61472 /* 175055 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61473 /* 175059 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61474 /* 175062 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61475 /* 175066 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61476 /* 175070 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61477 /* 175072 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61478 /* 175079 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PHZ256rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
61479 /* 175079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZ256rm),
61480 /* 175082 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61481 /* 175084 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61482 /* 175088 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61483 /* 175093 */ GIR_RootConstrainSelectedInstOperands,
61484 /* 175094 */ // GIR_Coverage, 11458,
61485 /* 175094 */ GIR_EraseRootFromParent_Done,
61486 /* 175095 */ // Label 4894: @175095
61487 /* 175095 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4895*/ GIMT_Encode4(175117), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 11454 //
61488 /* 175102 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61489 /* 175106 */ // (sint_to_fp:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PHZ256rr:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src)
61490 /* 175106 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZ256rr),
61491 /* 175111 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61492 /* 175115 */ GIR_RootConstrainSelectedInstOperands,
61493 /* 175116 */ // GIR_Coverage, 11454,
61494 /* 175116 */ GIR_Done,
61495 /* 175117 */ // Label 4895: @175117
61496 /* 175117 */ GIM_Reject,
61497 /* 175118 */ // Label 4893: @175118
61498 /* 175118 */ GIM_Reject,
61499 /* 175119 */ // Label 4888: @175119
61500 /* 175119 */ GIM_Try, /*On fail goto*//*Label 4896*/ GIMT_Encode4(175202),
61501 /* 175124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61502 /* 175128 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4897*/ GIMT_Encode4(175179), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15126 //
61503 /* 175135 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61504 /* 175139 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61505 /* 175143 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61506 /* 175146 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61507 /* 175150 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61508 /* 175154 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61509 /* 175156 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61510 /* 175163 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PHZrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
61511 /* 175163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PHZrm),
61512 /* 175166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61513 /* 175168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61514 /* 175172 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61515 /* 175177 */ GIR_RootConstrainSelectedInstOperands,
61516 /* 175178 */ // GIR_Coverage, 15126,
61517 /* 175178 */ GIR_EraseRootFromParent_Done,
61518 /* 175179 */ // Label 4897: @175179
61519 /* 175179 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4898*/ GIMT_Encode4(175201), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15122 //
61520 /* 175186 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61521 /* 175190 */ // (sint_to_fp:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PHZrr:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src)
61522 /* 175190 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PHZrr),
61523 /* 175195 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61524 /* 175199 */ GIR_RootConstrainSelectedInstOperands,
61525 /* 175200 */ // GIR_Coverage, 15122,
61526 /* 175200 */ GIR_Done,
61527 /* 175201 */ // Label 4898: @175201
61528 /* 175201 */ GIM_Reject,
61529 /* 175202 */ // Label 4896: @175202
61530 /* 175202 */ GIM_Reject,
61531 /* 175203 */ // Label 4889: @175203
61532 /* 175203 */ GIM_Reject,
61533 /* 175204 */ // Label 4832: @175204
61534 /* 175204 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(17), GIMT_Encode2(22), /*)*//*default:*//*Label 4901*/ GIMT_Encode4(175403),
61535 /* 175215 */ /*GILLT_v16s16*//*Label 4899*/ GIMT_Encode4(175235), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61536 /* 175231 */ /*GILLT_v16s32*//*Label 4900*/ GIMT_Encode4(175319),
61537 /* 175235 */ // Label 4899: @175235
61538 /* 175235 */ GIM_Try, /*On fail goto*//*Label 4902*/ GIMT_Encode4(175318),
61539 /* 175240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61540 /* 175244 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4903*/ GIMT_Encode4(175295), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 14838 //
61541 /* 175251 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61542 /* 175255 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61543 /* 175259 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61544 /* 175262 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61545 /* 175266 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61546 /* 175270 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61547 /* 175272 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61548 /* 175279 */ // (sint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
61549 /* 175279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ256rm),
61550 /* 175282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61551 /* 175284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61552 /* 175288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61553 /* 175293 */ GIR_RootConstrainSelectedInstOperands,
61554 /* 175294 */ // GIR_Coverage, 14838,
61555 /* 175294 */ GIR_EraseRootFromParent_Done,
61556 /* 175295 */ // Label 4903: @175295
61557 /* 175295 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4904*/ GIMT_Encode4(175317), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 14834 //
61558 /* 175302 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61559 /* 175306 */ // (sint_to_fp:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src) => (VCVTW2PHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src)
61560 /* 175306 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ256rr),
61561 /* 175311 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61562 /* 175315 */ GIR_RootConstrainSelectedInstOperands,
61563 /* 175316 */ // GIR_Coverage, 14834,
61564 /* 175316 */ GIR_Done,
61565 /* 175317 */ // Label 4904: @175317
61566 /* 175317 */ GIM_Reject,
61567 /* 175318 */ // Label 4902: @175318
61568 /* 175318 */ GIM_Reject,
61569 /* 175319 */ // Label 4900: @175319
61570 /* 175319 */ GIM_Try, /*On fail goto*//*Label 4905*/ GIMT_Encode4(175402),
61571 /* 175324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61572 /* 175328 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4906*/ GIMT_Encode4(175379), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 11443 //
61573 /* 175335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61574 /* 175339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61575 /* 175343 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61576 /* 175346 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61577 /* 175350 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61578 /* 175354 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61579 /* 175356 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61580 /* 175363 */ // (sint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PHZrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
61581 /* 175363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZrm),
61582 /* 175366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61583 /* 175368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61584 /* 175372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61585 /* 175377 */ GIR_RootConstrainSelectedInstOperands,
61586 /* 175378 */ // GIR_Coverage, 11443,
61587 /* 175378 */ GIR_EraseRootFromParent_Done,
61588 /* 175379 */ // Label 4906: @175379
61589 /* 175379 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4907*/ GIMT_Encode4(175401), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 11439 //
61590 /* 175386 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61591 /* 175390 */ // (sint_to_fp:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src) => (VCVTDQ2PHZrr:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src)
61592 /* 175390 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZrr),
61593 /* 175395 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61594 /* 175399 */ GIR_RootConstrainSelectedInstOperands,
61595 /* 175400 */ // GIR_Coverage, 11439,
61596 /* 175400 */ GIR_Done,
61597 /* 175401 */ // Label 4907: @175401
61598 /* 175401 */ GIM_Reject,
61599 /* 175402 */ // Label 4905: @175402
61600 /* 175402 */ GIM_Reject,
61601 /* 175403 */ // Label 4901: @175403
61602 /* 175403 */ GIM_Reject,
61603 /* 175404 */ // Label 4833: @175404
61604 /* 175404 */ GIM_Try, /*On fail goto*//*Label 4908*/ GIMT_Encode4(175490),
61605 /* 175409 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
61606 /* 175412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61607 /* 175416 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4909*/ GIMT_Encode4(175467), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 14811 //
61608 /* 175423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61609 /* 175427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61610 /* 175431 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61611 /* 175434 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61612 /* 175438 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61613 /* 175442 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61614 /* 175444 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61615 /* 175451 */ // (sint_to_fp:{ *:[v32f16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
61616 /* 175451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZrm),
61617 /* 175454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61618 /* 175456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61619 /* 175460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61620 /* 175465 */ GIR_RootConstrainSelectedInstOperands,
61621 /* 175466 */ // GIR_Coverage, 14811,
61622 /* 175466 */ GIR_EraseRootFromParent_Done,
61623 /* 175467 */ // Label 4909: @175467
61624 /* 175467 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4910*/ GIMT_Encode4(175489), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 14807 //
61625 /* 175474 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61626 /* 175478 */ // (sint_to_fp:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src) => (VCVTW2PHZrr:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src)
61627 /* 175478 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZrr),
61628 /* 175483 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61629 /* 175487 */ GIR_RootConstrainSelectedInstOperands,
61630 /* 175488 */ // GIR_Coverage, 14807,
61631 /* 175488 */ GIR_Done,
61632 /* 175489 */ // Label 4910: @175489
61633 /* 175489 */ GIM_Reject,
61634 /* 175490 */ // Label 4908: @175490
61635 /* 175490 */ GIM_Reject,
61636 /* 175491 */ // Label 4834: @175491
61637 /* 175491 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 4913*/ GIMT_Encode4(175793),
61638 /* 175502 */ /*GILLT_v4s32*//*Label 4911*/ GIMT_Encode4(175522), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61639 /* 175518 */ /*GILLT_v4s64*//*Label 4912*/ GIMT_Encode4(175709),
61640 /* 175522 */ // Label 4911: @175522
61641 /* 175522 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4914*/ GIMT_Encode4(175577), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1851 //
61642 /* 175529 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61643 /* 175533 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61644 /* 175537 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61645 /* 175541 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61646 /* 175544 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61647 /* 175548 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61648 /* 175552 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61649 /* 175554 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61650 /* 175561 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
61651 /* 175561 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSrm),
61652 /* 175564 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61653 /* 175566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61654 /* 175570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61655 /* 175575 */ GIR_RootConstrainSelectedInstOperands,
61656 /* 175576 */ // GIR_Coverage, 1851,
61657 /* 175576 */ GIR_EraseRootFromParent_Done,
61658 /* 175577 */ // Label 4914: @175577
61659 /* 175577 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4915*/ GIMT_Encode4(175632), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10756 //
61660 /* 175584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61661 /* 175588 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61662 /* 175592 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61663 /* 175596 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61664 /* 175599 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61665 /* 175603 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61666 /* 175607 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61667 /* 175609 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61668 /* 175616 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
61669 /* 175616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ128rm),
61670 /* 175619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61671 /* 175621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61672 /* 175625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61673 /* 175630 */ GIR_RootConstrainSelectedInstOperands,
61674 /* 175631 */ // GIR_Coverage, 10756,
61675 /* 175631 */ GIR_EraseRootFromParent_Done,
61676 /* 175632 */ // Label 4915: @175632
61677 /* 175632 */ GIM_Try, /*On fail goto*//*Label 4916*/ GIMT_Encode4(175682),
61678 /* 175637 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61679 /* 175641 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61680 /* 175645 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4917*/ GIMT_Encode4(175663), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1849 //
61681 /* 175652 */ // (sint_to_fp:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src) => (VCVTDQ2PSrr:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src)
61682 /* 175652 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSrr),
61683 /* 175657 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61684 /* 175661 */ GIR_RootConstrainSelectedInstOperands,
61685 /* 175662 */ // GIR_Coverage, 1849,
61686 /* 175662 */ GIR_Done,
61687 /* 175663 */ // Label 4917: @175663
61688 /* 175663 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4918*/ GIMT_Encode4(175681), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 1857 //
61689 /* 175670 */ // (sint_to_fp:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src) => (CVTDQ2PSrr:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src)
61690 /* 175670 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTDQ2PSrr),
61691 /* 175675 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61692 /* 175679 */ GIR_RootConstrainSelectedInstOperands,
61693 /* 175680 */ // GIR_Coverage, 1857,
61694 /* 175680 */ GIR_Done,
61695 /* 175681 */ // Label 4918: @175681
61696 /* 175681 */ GIM_Reject,
61697 /* 175682 */ // Label 4916: @175682
61698 /* 175682 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4919*/ GIMT_Encode4(175708), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10752 //
61699 /* 175689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61700 /* 175693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61701 /* 175697 */ // (sint_to_fp:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src) => (VCVTDQ2PSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src)
61702 /* 175697 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ128rr),
61703 /* 175702 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61704 /* 175706 */ GIR_RootConstrainSelectedInstOperands,
61705 /* 175707 */ // GIR_Coverage, 10752,
61706 /* 175707 */ GIR_Done,
61707 /* 175708 */ // Label 4919: @175708
61708 /* 175708 */ GIM_Reject,
61709 /* 175709 */ // Label 4912: @175709
61710 /* 175709 */ GIM_Try, /*On fail goto*//*Label 4920*/ GIMT_Encode4(175792),
61711 /* 175714 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61712 /* 175718 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4921*/ GIMT_Encode4(175769), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11512 //
61713 /* 175725 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61714 /* 175729 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61715 /* 175733 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61716 /* 175736 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61717 /* 175740 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61718 /* 175744 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61719 /* 175746 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61720 /* 175753 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PSZ256rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
61721 /* 175753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZ256rm),
61722 /* 175756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61723 /* 175758 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61724 /* 175762 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61725 /* 175767 */ GIR_RootConstrainSelectedInstOperands,
61726 /* 175768 */ // GIR_Coverage, 11512,
61727 /* 175768 */ GIR_EraseRootFromParent_Done,
61728 /* 175769 */ // Label 4921: @175769
61729 /* 175769 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4922*/ GIMT_Encode4(175791), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11508 //
61730 /* 175776 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61731 /* 175780 */ // (sint_to_fp:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src) => (VCVTQQ2PSZ256rr:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src)
61732 /* 175780 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZ256rr),
61733 /* 175785 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61734 /* 175789 */ GIR_RootConstrainSelectedInstOperands,
61735 /* 175790 */ // GIR_Coverage, 11508,
61736 /* 175790 */ GIR_Done,
61737 /* 175791 */ // Label 4922: @175791
61738 /* 175791 */ GIM_Reject,
61739 /* 175792 */ // Label 4920: @175792
61740 /* 175792 */ GIM_Reject,
61741 /* 175793 */ // Label 4913: @175793
61742 /* 175793 */ GIM_Reject,
61743 /* 175794 */ // Label 4835: @175794
61744 /* 175794 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 4925*/ GIMT_Encode4(176072),
61745 /* 175805 */ /*GILLT_v8s32*//*Label 4923*/ GIMT_Encode4(175825), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61746 /* 175821 */ /*GILLT_v8s64*//*Label 4924*/ GIMT_Encode4(175988),
61747 /* 175825 */ // Label 4923: @175825
61748 /* 175825 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4926*/ GIMT_Encode4(175880), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1855 //
61749 /* 175832 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61750 /* 175836 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61751 /* 175840 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61752 /* 175844 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61753 /* 175847 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61754 /* 175851 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61755 /* 175855 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61756 /* 175857 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61757 /* 175864 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
61758 /* 175864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSYrm),
61759 /* 175867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61760 /* 175869 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61761 /* 175873 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61762 /* 175878 */ GIR_RootConstrainSelectedInstOperands,
61763 /* 175879 */ // GIR_Coverage, 1855,
61764 /* 175879 */ GIR_EraseRootFromParent_Done,
61765 /* 175880 */ // Label 4926: @175880
61766 /* 175880 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4927*/ GIMT_Encode4(175935), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10768 //
61767 /* 175887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61768 /* 175891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61769 /* 175895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61770 /* 175899 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61771 /* 175902 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61772 /* 175906 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61773 /* 175910 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61774 /* 175912 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61775 /* 175919 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
61776 /* 175919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ256rm),
61777 /* 175922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61778 /* 175924 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61779 /* 175928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61780 /* 175933 */ GIR_RootConstrainSelectedInstOperands,
61781 /* 175934 */ // GIR_Coverage, 10768,
61782 /* 175934 */ GIR_EraseRootFromParent_Done,
61783 /* 175935 */ // Label 4927: @175935
61784 /* 175935 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4928*/ GIMT_Encode4(175961), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1853 //
61785 /* 175942 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61786 /* 175946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61787 /* 175950 */ // (sint_to_fp:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src) => (VCVTDQ2PSYrr:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src)
61788 /* 175950 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSYrr),
61789 /* 175955 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61790 /* 175959 */ GIR_RootConstrainSelectedInstOperands,
61791 /* 175960 */ // GIR_Coverage, 1853,
61792 /* 175960 */ GIR_Done,
61793 /* 175961 */ // Label 4928: @175961
61794 /* 175961 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4929*/ GIMT_Encode4(175987), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10764 //
61795 /* 175968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61796 /* 175972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61797 /* 175976 */ // (sint_to_fp:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src)
61798 /* 175976 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ256rr),
61799 /* 175981 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61800 /* 175985 */ GIR_RootConstrainSelectedInstOperands,
61801 /* 175986 */ // GIR_Coverage, 10764,
61802 /* 175986 */ GIR_Done,
61803 /* 175987 */ // Label 4929: @175987
61804 /* 175987 */ GIM_Reject,
61805 /* 175988 */ // Label 4924: @175988
61806 /* 175988 */ GIM_Try, /*On fail goto*//*Label 4930*/ GIMT_Encode4(176071),
61807 /* 175993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61808 /* 175997 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4931*/ GIMT_Encode4(176048), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 11497 //
61809 /* 176004 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61810 /* 176008 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61811 /* 176012 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61812 /* 176015 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61813 /* 176019 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61814 /* 176023 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61815 /* 176025 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61816 /* 176032 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PSZrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
61817 /* 176032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZrm),
61818 /* 176035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61819 /* 176037 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61820 /* 176041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61821 /* 176046 */ GIR_RootConstrainSelectedInstOperands,
61822 /* 176047 */ // GIR_Coverage, 11497,
61823 /* 176047 */ GIR_EraseRootFromParent_Done,
61824 /* 176048 */ // Label 4931: @176048
61825 /* 176048 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4932*/ GIMT_Encode4(176070), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 11493 //
61826 /* 176055 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61827 /* 176059 */ // (sint_to_fp:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PSZrr:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src)
61828 /* 176059 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZrr),
61829 /* 176064 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61830 /* 176068 */ GIR_RootConstrainSelectedInstOperands,
61831 /* 176069 */ // GIR_Coverage, 11493,
61832 /* 176069 */ GIR_Done,
61833 /* 176070 */ // Label 4932: @176070
61834 /* 176070 */ GIM_Reject,
61835 /* 176071 */ // Label 4930: @176071
61836 /* 176071 */ GIM_Reject,
61837 /* 176072 */ // Label 4925: @176072
61838 /* 176072 */ GIM_Reject,
61839 /* 176073 */ // Label 4836: @176073
61840 /* 176073 */ GIM_Try, /*On fail goto*//*Label 4933*/ GIMT_Encode4(176159),
61841 /* 176078 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
61842 /* 176081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61843 /* 176085 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4934*/ GIMT_Encode4(176136), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10741 //
61844 /* 176092 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61845 /* 176096 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61846 /* 176100 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61847 /* 176103 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61848 /* 176107 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61849 /* 176111 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61850 /* 176113 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61851 /* 176120 */ // (sint_to_fp:{ *:[v16f32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
61852 /* 176120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZrm),
61853 /* 176123 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61854 /* 176125 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61855 /* 176129 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61856 /* 176134 */ GIR_RootConstrainSelectedInstOperands,
61857 /* 176135 */ // GIR_Coverage, 10741,
61858 /* 176135 */ GIR_EraseRootFromParent_Done,
61859 /* 176136 */ // Label 4934: @176136
61860 /* 176136 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4935*/ GIMT_Encode4(176158), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10737 //
61861 /* 176143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61862 /* 176147 */ // (sint_to_fp:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src) => (VCVTDQ2PSZrr:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src)
61863 /* 176147 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZrr),
61864 /* 176152 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61865 /* 176156 */ GIR_RootConstrainSelectedInstOperands,
61866 /* 176157 */ // GIR_Coverage, 10737,
61867 /* 176157 */ GIR_Done,
61868 /* 176158 */ // Label 4935: @176158
61869 /* 176158 */ GIM_Reject,
61870 /* 176159 */ // Label 4933: @176159
61871 /* 176159 */ GIM_Reject,
61872 /* 176160 */ // Label 4837: @176160
61873 /* 176160 */ GIM_Try, /*On fail goto*//*Label 4936*/ GIMT_Encode4(176246),
61874 /* 176165 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
61875 /* 176168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61876 /* 176172 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4937*/ GIMT_Encode4(176223), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11380 //
61877 /* 176179 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61878 /* 176183 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61879 /* 176187 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61880 /* 176190 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61881 /* 176194 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61882 /* 176198 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61883 /* 176200 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61884 /* 176207 */ // (sint_to_fp:{ *:[v2f64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
61885 /* 176207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ128rm),
61886 /* 176210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61887 /* 176212 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61888 /* 176216 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61889 /* 176221 */ GIR_RootConstrainSelectedInstOperands,
61890 /* 176222 */ // GIR_Coverage, 11380,
61891 /* 176222 */ GIR_EraseRootFromParent_Done,
61892 /* 176223 */ // Label 4937: @176223
61893 /* 176223 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4938*/ GIMT_Encode4(176245), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11376 //
61894 /* 176230 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61895 /* 176234 */ // (sint_to_fp:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src) => (VCVTQQ2PDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src)
61896 /* 176234 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ128rr),
61897 /* 176239 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61898 /* 176243 */ GIR_RootConstrainSelectedInstOperands,
61899 /* 176244 */ // GIR_Coverage, 11376,
61900 /* 176244 */ GIR_Done,
61901 /* 176245 */ // Label 4938: @176245
61902 /* 176245 */ GIM_Reject,
61903 /* 176246 */ // Label 4936: @176246
61904 /* 176246 */ GIM_Reject,
61905 /* 176247 */ // Label 4838: @176247
61906 /* 176247 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 4941*/ GIMT_Encode4(176517),
61907 /* 176258 */ /*GILLT_v4s32*//*Label 4939*/ GIMT_Encode4(176278), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61908 /* 176274 */ /*GILLT_v4s64*//*Label 4940*/ GIMT_Encode4(176433),
61909 /* 176278 */ // Label 4939: @176278
61910 /* 176278 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4942*/ GIMT_Encode4(176333), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1926 //
61911 /* 176285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61912 /* 176289 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61913 /* 176293 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61914 /* 176297 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61915 /* 176300 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61916 /* 176304 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61917 /* 176308 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61918 /* 176310 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61919 /* 176317 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
61920 /* 176317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDYrm),
61921 /* 176320 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61922 /* 176322 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61923 /* 176326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61924 /* 176331 */ GIR_RootConstrainSelectedInstOperands,
61925 /* 176332 */ // GIR_Coverage, 1926,
61926 /* 176332 */ GIR_EraseRootFromParent_Done,
61927 /* 176333 */ // Label 4942: @176333
61928 /* 176333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4943*/ GIMT_Encode4(176388), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10729 //
61929 /* 176340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61930 /* 176344 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61931 /* 176348 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61932 /* 176352 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61933 /* 176355 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61934 /* 176359 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61935 /* 176363 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61936 /* 176365 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61937 /* 176372 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
61938 /* 176372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZ256rm),
61939 /* 176375 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61940 /* 176377 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61941 /* 176381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61942 /* 176386 */ GIR_RootConstrainSelectedInstOperands,
61943 /* 176387 */ // GIR_Coverage, 10729,
61944 /* 176387 */ GIR_EraseRootFromParent_Done,
61945 /* 176388 */ // Label 4943: @176388
61946 /* 176388 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4944*/ GIMT_Encode4(176410), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 1928 //
61947 /* 176395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61948 /* 176399 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61949 /* 176403 */ // (sint_to_fp:{ *:[v4f64] } VR128:{ *:[v4i32] }:$src) => (VCVTDQ2PDYrr:{ *:[v4f64] } VR128:{ *:[v4i32] }:$src)
61950 /* 176403 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDYrr),
61951 /* 176408 */ GIR_RootConstrainSelectedInstOperands,
61952 /* 176409 */ // GIR_Coverage, 1928,
61953 /* 176409 */ GIR_Done,
61954 /* 176410 */ // Label 4944: @176410
61955 /* 176410 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4945*/ GIMT_Encode4(176432), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10725 //
61956 /* 176417 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61957 /* 176421 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61958 /* 176425 */ // (sint_to_fp:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src) => (VCVTDQ2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src)
61959 /* 176425 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZ256rr),
61960 /* 176430 */ GIR_RootConstrainSelectedInstOperands,
61961 /* 176431 */ // GIR_Coverage, 10725,
61962 /* 176431 */ GIR_Done,
61963 /* 176432 */ // Label 4945: @176432
61964 /* 176432 */ GIM_Reject,
61965 /* 176433 */ // Label 4940: @176433
61966 /* 176433 */ GIM_Try, /*On fail goto*//*Label 4946*/ GIMT_Encode4(176516),
61967 /* 176438 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61968 /* 176442 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4947*/ GIMT_Encode4(176493), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11392 //
61969 /* 176449 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61970 /* 176453 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61971 /* 176457 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61972 /* 176460 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61973 /* 176464 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61974 /* 176468 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61975 /* 176470 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61976 /* 176477 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
61977 /* 176477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ256rm),
61978 /* 176480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61979 /* 176482 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61980 /* 176486 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61981 /* 176491 */ GIR_RootConstrainSelectedInstOperands,
61982 /* 176492 */ // GIR_Coverage, 11392,
61983 /* 176492 */ GIR_EraseRootFromParent_Done,
61984 /* 176493 */ // Label 4947: @176493
61985 /* 176493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4948*/ GIMT_Encode4(176515), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11388 //
61986 /* 176500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61987 /* 176504 */ // (sint_to_fp:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src) => (VCVTQQ2PDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src)
61988 /* 176504 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ256rr),
61989 /* 176509 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61990 /* 176513 */ GIR_RootConstrainSelectedInstOperands,
61991 /* 176514 */ // GIR_Coverage, 11388,
61992 /* 176514 */ GIR_Done,
61993 /* 176515 */ // Label 4948: @176515
61994 /* 176515 */ GIM_Reject,
61995 /* 176516 */ // Label 4946: @176516
61996 /* 176516 */ GIM_Reject,
61997 /* 176517 */ // Label 4941: @176517
61998 /* 176517 */ GIM_Reject,
61999 /* 176518 */ // Label 4839: @176518
62000 /* 176518 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 4951*/ GIMT_Encode4(176713),
62001 /* 176529 */ /*GILLT_v8s32*//*Label 4949*/ GIMT_Encode4(176549), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62002 /* 176545 */ /*GILLT_v8s64*//*Label 4950*/ GIMT_Encode4(176629),
62003 /* 176549 */ // Label 4949: @176549
62004 /* 176549 */ GIM_Try, /*On fail goto*//*Label 4952*/ GIMT_Encode4(176628),
62005 /* 176554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62006 /* 176558 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4953*/ GIMT_Encode4(176609), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10705 //
62007 /* 176565 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62008 /* 176569 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62009 /* 176573 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62010 /* 176576 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62011 /* 176580 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62012 /* 176584 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62013 /* 176586 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62014 /* 176593 */ // (sint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
62015 /* 176593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZrm),
62016 /* 176596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62017 /* 176598 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62018 /* 176602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62019 /* 176607 */ GIR_RootConstrainSelectedInstOperands,
62020 /* 176608 */ // GIR_Coverage, 10705,
62021 /* 176608 */ GIR_EraseRootFromParent_Done,
62022 /* 176609 */ // Label 4953: @176609
62023 /* 176609 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4954*/ GIMT_Encode4(176627), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10701 //
62024 /* 176616 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62025 /* 176620 */ // (sint_to_fp:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src)
62026 /* 176620 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZrr),
62027 /* 176625 */ GIR_RootConstrainSelectedInstOperands,
62028 /* 176626 */ // GIR_Coverage, 10701,
62029 /* 176626 */ GIR_Done,
62030 /* 176627 */ // Label 4954: @176627
62031 /* 176627 */ GIM_Reject,
62032 /* 176628 */ // Label 4952: @176628
62033 /* 176628 */ GIM_Reject,
62034 /* 176629 */ // Label 4950: @176629
62035 /* 176629 */ GIM_Try, /*On fail goto*//*Label 4955*/ GIMT_Encode4(176712),
62036 /* 176634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62037 /* 176638 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4956*/ GIMT_Encode4(176689), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 11365 //
62038 /* 176645 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62039 /* 176649 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62040 /* 176653 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62041 /* 176656 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62042 /* 176660 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62043 /* 176664 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62044 /* 176666 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62045 /* 176673 */ // (sint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
62046 /* 176673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZrm),
62047 /* 176676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62048 /* 176678 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62049 /* 176682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62050 /* 176687 */ GIR_RootConstrainSelectedInstOperands,
62051 /* 176688 */ // GIR_Coverage, 11365,
62052 /* 176688 */ GIR_EraseRootFromParent_Done,
62053 /* 176689 */ // Label 4956: @176689
62054 /* 176689 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4957*/ GIMT_Encode4(176711), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 11361 //
62055 /* 176696 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62056 /* 176700 */ // (sint_to_fp:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PDZrr:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src)
62057 /* 176700 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZrr),
62058 /* 176705 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62059 /* 176709 */ GIR_RootConstrainSelectedInstOperands,
62060 /* 176710 */ // GIR_Coverage, 11361,
62061 /* 176710 */ GIR_Done,
62062 /* 176711 */ // Label 4957: @176711
62063 /* 176711 */ GIM_Reject,
62064 /* 176712 */ // Label 4955: @176712
62065 /* 176712 */ GIM_Reject,
62066 /* 176713 */ // Label 4951: @176713
62067 /* 176713 */ GIM_Reject,
62068 /* 176714 */ // Label 4840: @176714
62069 /* 176714 */ GIM_Reject,
62070 /* 176715 */ // Label 55: @176715
62071 /* 176715 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4970*/ GIMT_Encode4(179127),
62072 /* 176726 */ /*GILLT_s16*//*Label 4958*/ GIMT_Encode4(176818),
62073 /* 176730 */ /*GILLT_s32*//*Label 4959*/ GIMT_Encode4(177070),
62074 /* 176734 */ /*GILLT_s64*//*Label 4960*/ GIMT_Encode4(177322), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62075 /* 176782 */ /*GILLT_v8s16*//*Label 4961*/ GIMT_Encode4(177574),
62076 /* 176786 */ /*GILLT_v16s16*//*Label 4962*/ GIMT_Encode4(177874),
62077 /* 176790 */ /*GILLT_v32s16*//*Label 4963*/ GIMT_Encode4(178074),
62078 /* 176794 */ /*GILLT_v4s32*//*Label 4964*/ GIMT_Encode4(178161),
62079 /* 176798 */ /*GILLT_v8s32*//*Label 4965*/ GIMT_Encode4(178361),
62080 /* 176802 */ /*GILLT_v16s32*//*Label 4966*/ GIMT_Encode4(178561),
62081 /* 176806 */ /*GILLT_v2s64*//*Label 4967*/ GIMT_Encode4(178648),
62082 /* 176810 */ /*GILLT_v4s64*//*Label 4968*/ GIMT_Encode4(178735),
62083 /* 176814 */ /*GILLT_v8s64*//*Label 4969*/ GIMT_Encode4(178931),
62084 /* 176818 */ // Label 4958: @176818
62085 /* 176818 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4973*/ GIMT_Encode4(177069),
62086 /* 176829 */ /*GILLT_s32*//*Label 4971*/ GIMT_Encode4(176837),
62087 /* 176833 */ /*GILLT_s64*//*Label 4972*/ GIMT_Encode4(176953),
62088 /* 176837 */ // Label 4971: @176837
62089 /* 176837 */ GIM_Try, /*On fail goto*//*Label 4974*/ GIMT_Encode4(176952),
62090 /* 176842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62091 /* 176846 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4975*/ GIMT_Encode4(176914), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22383 //
62092 /* 176853 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62093 /* 176857 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62094 /* 176861 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62095 /* 176864 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62096 /* 176868 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62097 /* 176872 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62098 /* 176874 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62099 /* 176881 */ // (uint_to_fp:{ *:[f16] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
62100 /* 176881 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62101 /* 176884 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62102 /* 176888 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62103 /* 176893 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62104 /* 176895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SHZrm),
62105 /* 176898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62106 /* 176900 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62107 /* 176903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62108 /* 176907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62109 /* 176912 */ GIR_RootConstrainSelectedInstOperands,
62110 /* 176913 */ // GIR_Coverage, 22383,
62111 /* 176913 */ GIR_EraseRootFromParent_Done,
62112 /* 176914 */ // Label 4975: @176914
62113 /* 176914 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4976*/ GIMT_Encode4(176951), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22387 //
62114 /* 176921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62115 /* 176925 */ // (uint_to_fp:{ *:[f16] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR32:{ *:[i32] }:$src)
62116 /* 176925 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62117 /* 176928 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62118 /* 176932 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62119 /* 176937 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62120 /* 176939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SHZrr),
62121 /* 176942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62122 /* 176944 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62123 /* 176947 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62124 /* 176949 */ GIR_RootConstrainSelectedInstOperands,
62125 /* 176950 */ // GIR_Coverage, 22387,
62126 /* 176950 */ GIR_EraseRootFromParent_Done,
62127 /* 176951 */ // Label 4976: @176951
62128 /* 176951 */ GIM_Reject,
62129 /* 176952 */ // Label 4974: @176952
62130 /* 176952 */ GIM_Reject,
62131 /* 176953 */ // Label 4972: @176953
62132 /* 176953 */ GIM_Try, /*On fail goto*//*Label 4977*/ GIMT_Encode4(177068),
62133 /* 176958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62134 /* 176962 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4978*/ GIMT_Encode4(177030), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22385 //
62135 /* 176969 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62136 /* 176973 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62137 /* 176977 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62138 /* 176980 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62139 /* 176984 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62140 /* 176988 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62141 /* 176990 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62142 /* 176997 */ // (uint_to_fp:{ *:[f16] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
62143 /* 176997 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62144 /* 177000 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62145 /* 177004 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62146 /* 177009 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62147 /* 177011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SHZrm),
62148 /* 177014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62149 /* 177016 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62150 /* 177019 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62151 /* 177023 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62152 /* 177028 */ GIR_RootConstrainSelectedInstOperands,
62153 /* 177029 */ // GIR_Coverage, 22385,
62154 /* 177029 */ GIR_EraseRootFromParent_Done,
62155 /* 177030 */ // Label 4978: @177030
62156 /* 177030 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4979*/ GIMT_Encode4(177067), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 22389 //
62157 /* 177037 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62158 /* 177041 */ // (uint_to_fp:{ *:[f16] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR64:{ *:[i64] }:$src)
62159 /* 177041 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62160 /* 177044 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62161 /* 177048 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62162 /* 177053 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62163 /* 177055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SHZrr),
62164 /* 177058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62165 /* 177060 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62166 /* 177063 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62167 /* 177065 */ GIR_RootConstrainSelectedInstOperands,
62168 /* 177066 */ // GIR_Coverage, 22389,
62169 /* 177066 */ GIR_EraseRootFromParent_Done,
62170 /* 177067 */ // Label 4979: @177067
62171 /* 177067 */ GIM_Reject,
62172 /* 177068 */ // Label 4977: @177068
62173 /* 177068 */ GIM_Reject,
62174 /* 177069 */ // Label 4973: @177069
62175 /* 177069 */ GIM_Reject,
62176 /* 177070 */ // Label 4959: @177070
62177 /* 177070 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4982*/ GIMT_Encode4(177321),
62178 /* 177081 */ /*GILLT_s32*//*Label 4980*/ GIMT_Encode4(177089),
62179 /* 177085 */ /*GILLT_s64*//*Label 4981*/ GIMT_Encode4(177205),
62180 /* 177089 */ // Label 4980: @177089
62181 /* 177089 */ GIM_Try, /*On fail goto*//*Label 4983*/ GIMT_Encode4(177204),
62182 /* 177094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62183 /* 177098 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4984*/ GIMT_Encode4(177166), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21284 //
62184 /* 177105 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62185 /* 177109 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62186 /* 177113 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62187 /* 177116 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62188 /* 177120 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62189 /* 177124 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62190 /* 177126 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62191 /* 177133 */ // (uint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62192 /* 177133 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62193 /* 177136 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62194 /* 177140 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62195 /* 177145 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62196 /* 177147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SSZrm),
62197 /* 177150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62198 /* 177152 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62199 /* 177155 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62200 /* 177159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62201 /* 177164 */ GIR_RootConstrainSelectedInstOperands,
62202 /* 177165 */ // GIR_Coverage, 21284,
62203 /* 177165 */ GIR_EraseRootFromParent_Done,
62204 /* 177166 */ // Label 4984: @177166
62205 /* 177166 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4985*/ GIMT_Encode4(177203), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21292 //
62206 /* 177173 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62207 /* 177177 */ // (uint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
62208 /* 177177 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62209 /* 177180 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62210 /* 177184 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62211 /* 177189 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62212 /* 177191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SSZrr),
62213 /* 177194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62214 /* 177196 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62215 /* 177199 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62216 /* 177201 */ GIR_RootConstrainSelectedInstOperands,
62217 /* 177202 */ // GIR_Coverage, 21292,
62218 /* 177202 */ GIR_EraseRootFromParent_Done,
62219 /* 177203 */ // Label 4985: @177203
62220 /* 177203 */ GIM_Reject,
62221 /* 177204 */ // Label 4983: @177204
62222 /* 177204 */ GIM_Reject,
62223 /* 177205 */ // Label 4981: @177205
62224 /* 177205 */ GIM_Try, /*On fail goto*//*Label 4986*/ GIMT_Encode4(177320),
62225 /* 177210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62226 /* 177214 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4987*/ GIMT_Encode4(177282), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21286 //
62227 /* 177221 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62228 /* 177225 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62229 /* 177229 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62230 /* 177232 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62231 /* 177236 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62232 /* 177240 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62233 /* 177242 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62234 /* 177249 */ // (uint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62235 /* 177249 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62236 /* 177252 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62237 /* 177256 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62238 /* 177261 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62239 /* 177263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SSZrm),
62240 /* 177266 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62241 /* 177268 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62242 /* 177271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62243 /* 177275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62244 /* 177280 */ GIR_RootConstrainSelectedInstOperands,
62245 /* 177281 */ // GIR_Coverage, 21286,
62246 /* 177281 */ GIR_EraseRootFromParent_Done,
62247 /* 177282 */ // Label 4987: @177282
62248 /* 177282 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4988*/ GIMT_Encode4(177319), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21294 //
62249 /* 177289 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62250 /* 177293 */ // (uint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
62251 /* 177293 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62252 /* 177296 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62253 /* 177300 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62254 /* 177305 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62255 /* 177307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SSZrr),
62256 /* 177310 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62257 /* 177312 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62258 /* 177315 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62259 /* 177317 */ GIR_RootConstrainSelectedInstOperands,
62260 /* 177318 */ // GIR_Coverage, 21294,
62261 /* 177318 */ GIR_EraseRootFromParent_Done,
62262 /* 177319 */ // Label 4988: @177319
62263 /* 177319 */ GIM_Reject,
62264 /* 177320 */ // Label 4986: @177320
62265 /* 177320 */ GIM_Reject,
62266 /* 177321 */ // Label 4982: @177321
62267 /* 177321 */ GIM_Reject,
62268 /* 177322 */ // Label 4960: @177322
62269 /* 177322 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 4991*/ GIMT_Encode4(177573),
62270 /* 177333 */ /*GILLT_s32*//*Label 4989*/ GIMT_Encode4(177341),
62271 /* 177337 */ /*GILLT_s64*//*Label 4990*/ GIMT_Encode4(177457),
62272 /* 177341 */ // Label 4989: @177341
62273 /* 177341 */ GIM_Try, /*On fail goto*//*Label 4992*/ GIMT_Encode4(177456),
62274 /* 177346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62275 /* 177350 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4993*/ GIMT_Encode4(177418), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21288 //
62276 /* 177357 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62277 /* 177361 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62278 /* 177365 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62279 /* 177368 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62280 /* 177372 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62281 /* 177376 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62282 /* 177378 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62283 /* 177385 */ // (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
62284 /* 177385 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62285 /* 177388 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62286 /* 177392 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62287 /* 177397 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62288 /* 177399 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SDZrm),
62289 /* 177402 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62290 /* 177404 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62291 /* 177407 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62292 /* 177411 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62293 /* 177416 */ GIR_RootConstrainSelectedInstOperands,
62294 /* 177417 */ // GIR_Coverage, 21288,
62295 /* 177417 */ GIR_EraseRootFromParent_Done,
62296 /* 177418 */ // Label 4993: @177418
62297 /* 177418 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4994*/ GIMT_Encode4(177455), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21296 //
62298 /* 177425 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62299 /* 177429 */ // (uint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
62300 /* 177429 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62301 /* 177432 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62302 /* 177436 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62303 /* 177441 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62304 /* 177443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SDZrr),
62305 /* 177446 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62306 /* 177448 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62307 /* 177451 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62308 /* 177453 */ GIR_RootConstrainSelectedInstOperands,
62309 /* 177454 */ // GIR_Coverage, 21296,
62310 /* 177454 */ GIR_EraseRootFromParent_Done,
62311 /* 177455 */ // Label 4994: @177455
62312 /* 177455 */ GIM_Reject,
62313 /* 177456 */ // Label 4992: @177456
62314 /* 177456 */ GIM_Reject,
62315 /* 177457 */ // Label 4990: @177457
62316 /* 177457 */ GIM_Try, /*On fail goto*//*Label 4995*/ GIMT_Encode4(177572),
62317 /* 177462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62318 /* 177466 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4996*/ GIMT_Encode4(177534), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21290 //
62319 /* 177473 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62320 /* 177477 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62321 /* 177481 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62322 /* 177484 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62323 /* 177488 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62324 /* 177492 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62325 /* 177494 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62326 /* 177501 */ // (uint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
62327 /* 177501 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62328 /* 177504 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62329 /* 177508 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62330 /* 177513 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62331 /* 177515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SDZrm),
62332 /* 177518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62333 /* 177520 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62334 /* 177523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62335 /* 177527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62336 /* 177532 */ GIR_RootConstrainSelectedInstOperands,
62337 /* 177533 */ // GIR_Coverage, 21290,
62338 /* 177533 */ GIR_EraseRootFromParent_Done,
62339 /* 177534 */ // Label 4996: @177534
62340 /* 177534 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 4997*/ GIMT_Encode4(177571), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21298 //
62341 /* 177541 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62342 /* 177545 */ // (uint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
62343 /* 177545 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62344 /* 177548 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62345 /* 177552 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62346 /* 177557 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62347 /* 177559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SDZrr),
62348 /* 177562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62349 /* 177564 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62350 /* 177567 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62351 /* 177569 */ GIR_RootConstrainSelectedInstOperands,
62352 /* 177570 */ // GIR_Coverage, 21298,
62353 /* 177570 */ GIR_EraseRootFromParent_Done,
62354 /* 177571 */ // Label 4997: @177571
62355 /* 177571 */ GIM_Reject,
62356 /* 177572 */ // Label 4995: @177572
62357 /* 177572 */ GIM_Reject,
62358 /* 177573 */ // Label 4991: @177573
62359 /* 177573 */ GIM_Reject,
62360 /* 177574 */ // Label 4961: @177574
62361 /* 177574 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(16), GIMT_Encode2(25), /*)*//*default:*//*Label 5001*/ GIMT_Encode4(177873),
62362 /* 177585 */ /*GILLT_v8s16*//*Label 4998*/ GIMT_Encode4(177621), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62363 /* 177601 */ /*GILLT_v8s32*//*Label 4999*/ GIMT_Encode4(177705), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62364 /* 177617 */ /*GILLT_v8s64*//*Label 5000*/ GIMT_Encode4(177789),
62365 /* 177621 */ // Label 4998: @177621
62366 /* 177621 */ GIM_Try, /*On fail goto*//*Label 5002*/ GIMT_Encode4(177704),
62367 /* 177626 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62368 /* 177630 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5003*/ GIMT_Encode4(177681), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 14679 //
62369 /* 177637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62370 /* 177641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62371 /* 177645 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62372 /* 177648 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62373 /* 177652 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62374 /* 177656 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62375 /* 177658 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62376 /* 177665 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
62377 /* 177665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ128rm),
62378 /* 177668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62379 /* 177670 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62380 /* 177674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62381 /* 177679 */ GIR_RootConstrainSelectedInstOperands,
62382 /* 177680 */ // GIR_Coverage, 14679,
62383 /* 177680 */ GIR_EraseRootFromParent_Done,
62384 /* 177681 */ // Label 5003: @177681
62385 /* 177681 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5004*/ GIMT_Encode4(177703), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 14675 //
62386 /* 177688 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62387 /* 177692 */ // (uint_to_fp:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src) => (VCVTUW2PHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src)
62388 /* 177692 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ128rr),
62389 /* 177697 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62390 /* 177701 */ GIR_RootConstrainSelectedInstOperands,
62391 /* 177702 */ // GIR_Coverage, 14675,
62392 /* 177702 */ GIR_Done,
62393 /* 177703 */ // Label 5004: @177703
62394 /* 177703 */ GIM_Reject,
62395 /* 177704 */ // Label 5002: @177704
62396 /* 177704 */ GIM_Reject,
62397 /* 177705 */ // Label 4999: @177705
62398 /* 177705 */ GIM_Try, /*On fail goto*//*Label 5005*/ GIMT_Encode4(177788),
62399 /* 177710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62400 /* 177714 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5006*/ GIMT_Encode4(177765), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 11485 //
62401 /* 177721 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62402 /* 177725 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62403 /* 177729 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62404 /* 177732 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62405 /* 177736 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62406 /* 177740 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62407 /* 177742 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62408 /* 177749 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PHZ256rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
62409 /* 177749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZ256rm),
62410 /* 177752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62411 /* 177754 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62412 /* 177758 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62413 /* 177763 */ GIR_RootConstrainSelectedInstOperands,
62414 /* 177764 */ // GIR_Coverage, 11485,
62415 /* 177764 */ GIR_EraseRootFromParent_Done,
62416 /* 177765 */ // Label 5006: @177765
62417 /* 177765 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5007*/ GIMT_Encode4(177787), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 11481 //
62418 /* 177772 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62419 /* 177776 */ // (uint_to_fp:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PHZ256rr:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src)
62420 /* 177776 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZ256rr),
62421 /* 177781 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62422 /* 177785 */ GIR_RootConstrainSelectedInstOperands,
62423 /* 177786 */ // GIR_Coverage, 11481,
62424 /* 177786 */ GIR_Done,
62425 /* 177787 */ // Label 5007: @177787
62426 /* 177787 */ GIM_Reject,
62427 /* 177788 */ // Label 5005: @177788
62428 /* 177788 */ GIM_Reject,
62429 /* 177789 */ // Label 5000: @177789
62430 /* 177789 */ GIM_Try, /*On fail goto*//*Label 5008*/ GIMT_Encode4(177872),
62431 /* 177794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62432 /* 177798 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5009*/ GIMT_Encode4(177849), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15141 //
62433 /* 177805 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62434 /* 177809 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62435 /* 177813 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62436 /* 177816 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62437 /* 177820 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62438 /* 177824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62439 /* 177826 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62440 /* 177833 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PHZrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
62441 /* 177833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PHZrm),
62442 /* 177836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62443 /* 177838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62444 /* 177842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62445 /* 177847 */ GIR_RootConstrainSelectedInstOperands,
62446 /* 177848 */ // GIR_Coverage, 15141,
62447 /* 177848 */ GIR_EraseRootFromParent_Done,
62448 /* 177849 */ // Label 5009: @177849
62449 /* 177849 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5010*/ GIMT_Encode4(177871), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 15137 //
62450 /* 177856 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62451 /* 177860 */ // (uint_to_fp:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PHZrr:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src)
62452 /* 177860 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PHZrr),
62453 /* 177865 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62454 /* 177869 */ GIR_RootConstrainSelectedInstOperands,
62455 /* 177870 */ // GIR_Coverage, 15137,
62456 /* 177870 */ GIR_Done,
62457 /* 177871 */ // Label 5010: @177871
62458 /* 177871 */ GIM_Reject,
62459 /* 177872 */ // Label 5008: @177872
62460 /* 177872 */ GIM_Reject,
62461 /* 177873 */ // Label 5001: @177873
62462 /* 177873 */ GIM_Reject,
62463 /* 177874 */ // Label 4962: @177874
62464 /* 177874 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(17), GIMT_Encode2(22), /*)*//*default:*//*Label 5013*/ GIMT_Encode4(178073),
62465 /* 177885 */ /*GILLT_v16s16*//*Label 5011*/ GIMT_Encode4(177905), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62466 /* 177901 */ /*GILLT_v16s32*//*Label 5012*/ GIMT_Encode4(177989),
62467 /* 177905 */ // Label 5011: @177905
62468 /* 177905 */ GIM_Try, /*On fail goto*//*Label 5014*/ GIMT_Encode4(177988),
62469 /* 177910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62470 /* 177914 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5015*/ GIMT_Encode4(177965), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 14691 //
62471 /* 177921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62472 /* 177925 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62473 /* 177929 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62474 /* 177932 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62475 /* 177936 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62476 /* 177940 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62477 /* 177942 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62478 /* 177949 */ // (uint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
62479 /* 177949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ256rm),
62480 /* 177952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62481 /* 177954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62482 /* 177958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62483 /* 177963 */ GIR_RootConstrainSelectedInstOperands,
62484 /* 177964 */ // GIR_Coverage, 14691,
62485 /* 177964 */ GIR_EraseRootFromParent_Done,
62486 /* 177965 */ // Label 5015: @177965
62487 /* 177965 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5016*/ GIMT_Encode4(177987), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 14687 //
62488 /* 177972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62489 /* 177976 */ // (uint_to_fp:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src) => (VCVTUW2PHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src)
62490 /* 177976 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ256rr),
62491 /* 177981 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62492 /* 177985 */ GIR_RootConstrainSelectedInstOperands,
62493 /* 177986 */ // GIR_Coverage, 14687,
62494 /* 177986 */ GIR_Done,
62495 /* 177987 */ // Label 5016: @177987
62496 /* 177987 */ GIM_Reject,
62497 /* 177988 */ // Label 5014: @177988
62498 /* 177988 */ GIM_Reject,
62499 /* 177989 */ // Label 5012: @177989
62500 /* 177989 */ GIM_Try, /*On fail goto*//*Label 5017*/ GIMT_Encode4(178072),
62501 /* 177994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62502 /* 177998 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5018*/ GIMT_Encode4(178049), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 11470 //
62503 /* 178005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62504 /* 178009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62505 /* 178013 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62506 /* 178016 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62507 /* 178020 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62508 /* 178024 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62509 /* 178026 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62510 /* 178033 */ // (uint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PHZrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
62511 /* 178033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZrm),
62512 /* 178036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62513 /* 178038 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62514 /* 178042 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62515 /* 178047 */ GIR_RootConstrainSelectedInstOperands,
62516 /* 178048 */ // GIR_Coverage, 11470,
62517 /* 178048 */ GIR_EraseRootFromParent_Done,
62518 /* 178049 */ // Label 5018: @178049
62519 /* 178049 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5019*/ GIMT_Encode4(178071), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 11466 //
62520 /* 178056 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62521 /* 178060 */ // (uint_to_fp:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src) => (VCVTUDQ2PHZrr:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src)
62522 /* 178060 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZrr),
62523 /* 178065 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62524 /* 178069 */ GIR_RootConstrainSelectedInstOperands,
62525 /* 178070 */ // GIR_Coverage, 11466,
62526 /* 178070 */ GIR_Done,
62527 /* 178071 */ // Label 5019: @178071
62528 /* 178071 */ GIM_Reject,
62529 /* 178072 */ // Label 5017: @178072
62530 /* 178072 */ GIM_Reject,
62531 /* 178073 */ // Label 5013: @178073
62532 /* 178073 */ GIM_Reject,
62533 /* 178074 */ // Label 4963: @178074
62534 /* 178074 */ GIM_Try, /*On fail goto*//*Label 5020*/ GIMT_Encode4(178160),
62535 /* 178079 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
62536 /* 178082 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62537 /* 178086 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5021*/ GIMT_Encode4(178137), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 14664 //
62538 /* 178093 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62539 /* 178097 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62540 /* 178101 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62541 /* 178104 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62542 /* 178108 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62543 /* 178112 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62544 /* 178114 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62545 /* 178121 */ // (uint_to_fp:{ *:[v32f16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
62546 /* 178121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZrm),
62547 /* 178124 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62548 /* 178126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62549 /* 178130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62550 /* 178135 */ GIR_RootConstrainSelectedInstOperands,
62551 /* 178136 */ // GIR_Coverage, 14664,
62552 /* 178136 */ GIR_EraseRootFromParent_Done,
62553 /* 178137 */ // Label 5021: @178137
62554 /* 178137 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5022*/ GIMT_Encode4(178159), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 14660 //
62555 /* 178144 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62556 /* 178148 */ // (uint_to_fp:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src) => (VCVTUW2PHZrr:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src)
62557 /* 178148 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZrr),
62558 /* 178153 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62559 /* 178157 */ GIR_RootConstrainSelectedInstOperands,
62560 /* 178158 */ // GIR_Coverage, 14660,
62561 /* 178158 */ GIR_Done,
62562 /* 178159 */ // Label 5022: @178159
62563 /* 178159 */ GIM_Reject,
62564 /* 178160 */ // Label 5020: @178160
62565 /* 178160 */ GIM_Reject,
62566 /* 178161 */ // Label 4964: @178161
62567 /* 178161 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 5025*/ GIMT_Encode4(178360),
62568 /* 178172 */ /*GILLT_v4s32*//*Label 5023*/ GIMT_Encode4(178192), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62569 /* 178188 */ /*GILLT_v4s64*//*Label 5024*/ GIMT_Encode4(178276),
62570 /* 178192 */ // Label 5023: @178192
62571 /* 178192 */ GIM_Try, /*On fail goto*//*Label 5026*/ GIMT_Encode4(178275),
62572 /* 178197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62573 /* 178201 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5027*/ GIMT_Encode4(178252), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10963 //
62574 /* 178208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62575 /* 178212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62576 /* 178216 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62577 /* 178219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62578 /* 178223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62579 /* 178227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62580 /* 178229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62581 /* 178236 */ // (uint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
62582 /* 178236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ128rm),
62583 /* 178239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62584 /* 178241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62585 /* 178245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62586 /* 178250 */ GIR_RootConstrainSelectedInstOperands,
62587 /* 178251 */ // GIR_Coverage, 10963,
62588 /* 178251 */ GIR_EraseRootFromParent_Done,
62589 /* 178252 */ // Label 5027: @178252
62590 /* 178252 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5028*/ GIMT_Encode4(178274), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10959 //
62591 /* 178259 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62592 /* 178263 */ // (uint_to_fp:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src) => (VCVTUDQ2PSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src)
62593 /* 178263 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ128rr),
62594 /* 178268 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62595 /* 178272 */ GIR_RootConstrainSelectedInstOperands,
62596 /* 178273 */ // GIR_Coverage, 10959,
62597 /* 178273 */ GIR_Done,
62598 /* 178274 */ // Label 5028: @178274
62599 /* 178274 */ GIM_Reject,
62600 /* 178275 */ // Label 5026: @178275
62601 /* 178275 */ GIM_Reject,
62602 /* 178276 */ // Label 5024: @178276
62603 /* 178276 */ GIM_Try, /*On fail goto*//*Label 5029*/ GIMT_Encode4(178359),
62604 /* 178281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62605 /* 178285 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5030*/ GIMT_Encode4(178336), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11539 //
62606 /* 178292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62607 /* 178296 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62608 /* 178300 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62609 /* 178303 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62610 /* 178307 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62611 /* 178311 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62612 /* 178313 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62613 /* 178320 */ // (uint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PSZ256rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
62614 /* 178320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZ256rm),
62615 /* 178323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62616 /* 178325 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62617 /* 178329 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62618 /* 178334 */ GIR_RootConstrainSelectedInstOperands,
62619 /* 178335 */ // GIR_Coverage, 11539,
62620 /* 178335 */ GIR_EraseRootFromParent_Done,
62621 /* 178336 */ // Label 5030: @178336
62622 /* 178336 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5031*/ GIMT_Encode4(178358), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11535 //
62623 /* 178343 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62624 /* 178347 */ // (uint_to_fp:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src) => (VCVTUQQ2PSZ256rr:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src)
62625 /* 178347 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZ256rr),
62626 /* 178352 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62627 /* 178356 */ GIR_RootConstrainSelectedInstOperands,
62628 /* 178357 */ // GIR_Coverage, 11535,
62629 /* 178357 */ GIR_Done,
62630 /* 178358 */ // Label 5031: @178358
62631 /* 178358 */ GIM_Reject,
62632 /* 178359 */ // Label 5029: @178359
62633 /* 178359 */ GIM_Reject,
62634 /* 178360 */ // Label 5025: @178360
62635 /* 178360 */ GIM_Reject,
62636 /* 178361 */ // Label 4965: @178361
62637 /* 178361 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 5034*/ GIMT_Encode4(178560),
62638 /* 178372 */ /*GILLT_v8s32*//*Label 5032*/ GIMT_Encode4(178392), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62639 /* 178388 */ /*GILLT_v8s64*//*Label 5033*/ GIMT_Encode4(178476),
62640 /* 178392 */ // Label 5032: @178392
62641 /* 178392 */ GIM_Try, /*On fail goto*//*Label 5035*/ GIMT_Encode4(178475),
62642 /* 178397 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62643 /* 178401 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5036*/ GIMT_Encode4(178452), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10975 //
62644 /* 178408 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62645 /* 178412 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62646 /* 178416 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62647 /* 178419 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62648 /* 178423 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62649 /* 178427 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62650 /* 178429 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62651 /* 178436 */ // (uint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
62652 /* 178436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ256rm),
62653 /* 178439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62654 /* 178441 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62655 /* 178445 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62656 /* 178450 */ GIR_RootConstrainSelectedInstOperands,
62657 /* 178451 */ // GIR_Coverage, 10975,
62658 /* 178451 */ GIR_EraseRootFromParent_Done,
62659 /* 178452 */ // Label 5036: @178452
62660 /* 178452 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5037*/ GIMT_Encode4(178474), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10971 //
62661 /* 178459 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62662 /* 178463 */ // (uint_to_fp:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src)
62663 /* 178463 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ256rr),
62664 /* 178468 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62665 /* 178472 */ GIR_RootConstrainSelectedInstOperands,
62666 /* 178473 */ // GIR_Coverage, 10971,
62667 /* 178473 */ GIR_Done,
62668 /* 178474 */ // Label 5037: @178474
62669 /* 178474 */ GIM_Reject,
62670 /* 178475 */ // Label 5035: @178475
62671 /* 178475 */ GIM_Reject,
62672 /* 178476 */ // Label 5033: @178476
62673 /* 178476 */ GIM_Try, /*On fail goto*//*Label 5038*/ GIMT_Encode4(178559),
62674 /* 178481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62675 /* 178485 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5039*/ GIMT_Encode4(178536), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 11524 //
62676 /* 178492 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62677 /* 178496 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62678 /* 178500 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62679 /* 178503 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62680 /* 178507 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62681 /* 178511 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62682 /* 178513 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62683 /* 178520 */ // (uint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PSZrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
62684 /* 178520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZrm),
62685 /* 178523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62686 /* 178525 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62687 /* 178529 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62688 /* 178534 */ GIR_RootConstrainSelectedInstOperands,
62689 /* 178535 */ // GIR_Coverage, 11524,
62690 /* 178535 */ GIR_EraseRootFromParent_Done,
62691 /* 178536 */ // Label 5039: @178536
62692 /* 178536 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5040*/ GIMT_Encode4(178558), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 11520 //
62693 /* 178543 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62694 /* 178547 */ // (uint_to_fp:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PSZrr:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src)
62695 /* 178547 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZrr),
62696 /* 178552 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62697 /* 178556 */ GIR_RootConstrainSelectedInstOperands,
62698 /* 178557 */ // GIR_Coverage, 11520,
62699 /* 178557 */ GIR_Done,
62700 /* 178558 */ // Label 5040: @178558
62701 /* 178558 */ GIM_Reject,
62702 /* 178559 */ // Label 5038: @178559
62703 /* 178559 */ GIM_Reject,
62704 /* 178560 */ // Label 5034: @178560
62705 /* 178560 */ GIM_Reject,
62706 /* 178561 */ // Label 4966: @178561
62707 /* 178561 */ GIM_Try, /*On fail goto*//*Label 5041*/ GIMT_Encode4(178647),
62708 /* 178566 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
62709 /* 178569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62710 /* 178573 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5042*/ GIMT_Encode4(178624), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10948 //
62711 /* 178580 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62712 /* 178584 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62713 /* 178588 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62714 /* 178591 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62715 /* 178595 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62716 /* 178599 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62717 /* 178601 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62718 /* 178608 */ // (uint_to_fp:{ *:[v16f32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
62719 /* 178608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZrm),
62720 /* 178611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62721 /* 178613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62722 /* 178617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62723 /* 178622 */ GIR_RootConstrainSelectedInstOperands,
62724 /* 178623 */ // GIR_Coverage, 10948,
62725 /* 178623 */ GIR_EraseRootFromParent_Done,
62726 /* 178624 */ // Label 5042: @178624
62727 /* 178624 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5043*/ GIMT_Encode4(178646), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10944 //
62728 /* 178631 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62729 /* 178635 */ // (uint_to_fp:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src) => (VCVTUDQ2PSZrr:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src)
62730 /* 178635 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZrr),
62731 /* 178640 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62732 /* 178644 */ GIR_RootConstrainSelectedInstOperands,
62733 /* 178645 */ // GIR_Coverage, 10944,
62734 /* 178645 */ GIR_Done,
62735 /* 178646 */ // Label 5043: @178646
62736 /* 178646 */ GIM_Reject,
62737 /* 178647 */ // Label 5041: @178647
62738 /* 178647 */ GIM_Reject,
62739 /* 178648 */ // Label 4967: @178648
62740 /* 178648 */ GIM_Try, /*On fail goto*//*Label 5044*/ GIMT_Encode4(178734),
62741 /* 178653 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
62742 /* 178656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62743 /* 178660 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5045*/ GIMT_Encode4(178711), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11419 //
62744 /* 178667 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62745 /* 178671 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62746 /* 178675 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62747 /* 178678 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62748 /* 178682 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62749 /* 178686 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62750 /* 178688 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62751 /* 178695 */ // (uint_to_fp:{ *:[v2f64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
62752 /* 178695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ128rm),
62753 /* 178698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62754 /* 178700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62755 /* 178704 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62756 /* 178709 */ GIR_RootConstrainSelectedInstOperands,
62757 /* 178710 */ // GIR_Coverage, 11419,
62758 /* 178710 */ GIR_EraseRootFromParent_Done,
62759 /* 178711 */ // Label 5045: @178711
62760 /* 178711 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5046*/ GIMT_Encode4(178733), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11415 //
62761 /* 178718 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62762 /* 178722 */ // (uint_to_fp:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src) => (VCVTUQQ2PDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src)
62763 /* 178722 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ128rr),
62764 /* 178727 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62765 /* 178731 */ GIR_RootConstrainSelectedInstOperands,
62766 /* 178732 */ // GIR_Coverage, 11415,
62767 /* 178732 */ GIR_Done,
62768 /* 178733 */ // Label 5046: @178733
62769 /* 178733 */ GIM_Reject,
62770 /* 178734 */ // Label 5044: @178734
62771 /* 178734 */ GIM_Reject,
62772 /* 178735 */ // Label 4968: @178735
62773 /* 178735 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 5049*/ GIMT_Encode4(178930),
62774 /* 178746 */ /*GILLT_v4s32*//*Label 5047*/ GIMT_Encode4(178766), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62775 /* 178762 */ /*GILLT_v4s64*//*Label 5048*/ GIMT_Encode4(178846),
62776 /* 178766 */ // Label 5047: @178766
62777 /* 178766 */ GIM_Try, /*On fail goto*//*Label 5050*/ GIMT_Encode4(178845),
62778 /* 178771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62779 /* 178775 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5051*/ GIMT_Encode4(178826), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10936 //
62780 /* 178782 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62781 /* 178786 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62782 /* 178790 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62783 /* 178793 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62784 /* 178797 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62785 /* 178801 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62786 /* 178803 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62787 /* 178810 */ // (uint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
62788 /* 178810 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZ256rm),
62789 /* 178813 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62790 /* 178815 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62791 /* 178819 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62792 /* 178824 */ GIR_RootConstrainSelectedInstOperands,
62793 /* 178825 */ // GIR_Coverage, 10936,
62794 /* 178825 */ GIR_EraseRootFromParent_Done,
62795 /* 178826 */ // Label 5051: @178826
62796 /* 178826 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5052*/ GIMT_Encode4(178844), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 10932 //
62797 /* 178833 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62798 /* 178837 */ // (uint_to_fp:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src) => (VCVTUDQ2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src)
62799 /* 178837 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZ256rr),
62800 /* 178842 */ GIR_RootConstrainSelectedInstOperands,
62801 /* 178843 */ // GIR_Coverage, 10932,
62802 /* 178843 */ GIR_Done,
62803 /* 178844 */ // Label 5052: @178844
62804 /* 178844 */ GIM_Reject,
62805 /* 178845 */ // Label 5050: @178845
62806 /* 178845 */ GIM_Reject,
62807 /* 178846 */ // Label 5048: @178846
62808 /* 178846 */ GIM_Try, /*On fail goto*//*Label 5053*/ GIMT_Encode4(178929),
62809 /* 178851 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62810 /* 178855 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5054*/ GIMT_Encode4(178906), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11431 //
62811 /* 178862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62812 /* 178866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62813 /* 178870 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62814 /* 178873 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62815 /* 178877 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62816 /* 178881 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62817 /* 178883 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62818 /* 178890 */ // (uint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
62819 /* 178890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ256rm),
62820 /* 178893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62821 /* 178895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62822 /* 178899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62823 /* 178904 */ GIR_RootConstrainSelectedInstOperands,
62824 /* 178905 */ // GIR_Coverage, 11431,
62825 /* 178905 */ GIR_EraseRootFromParent_Done,
62826 /* 178906 */ // Label 5054: @178906
62827 /* 178906 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5055*/ GIMT_Encode4(178928), GIMT_Encode2(GIFBS_HasDQI_HasVLX), // Rule ID 11427 //
62828 /* 178913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62829 /* 178917 */ // (uint_to_fp:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src) => (VCVTUQQ2PDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src)
62830 /* 178917 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ256rr),
62831 /* 178922 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62832 /* 178926 */ GIR_RootConstrainSelectedInstOperands,
62833 /* 178927 */ // GIR_Coverage, 11427,
62834 /* 178927 */ GIR_Done,
62835 /* 178928 */ // Label 5055: @178928
62836 /* 178928 */ GIM_Reject,
62837 /* 178929 */ // Label 5053: @178929
62838 /* 178929 */ GIM_Reject,
62839 /* 178930 */ // Label 5049: @178930
62840 /* 178930 */ GIM_Reject,
62841 /* 178931 */ // Label 4969: @178931
62842 /* 178931 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 5058*/ GIMT_Encode4(179126),
62843 /* 178942 */ /*GILLT_v8s32*//*Label 5056*/ GIMT_Encode4(178962), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62844 /* 178958 */ /*GILLT_v8s64*//*Label 5057*/ GIMT_Encode4(179042),
62845 /* 178962 */ // Label 5056: @178962
62846 /* 178962 */ GIM_Try, /*On fail goto*//*Label 5059*/ GIMT_Encode4(179041),
62847 /* 178967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62848 /* 178971 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5060*/ GIMT_Encode4(179022), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10912 //
62849 /* 178978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62850 /* 178982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62851 /* 178986 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62852 /* 178989 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62853 /* 178993 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62854 /* 178997 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62855 /* 178999 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62856 /* 179006 */ // (uint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
62857 /* 179006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZrm),
62858 /* 179009 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62859 /* 179011 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62860 /* 179015 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62861 /* 179020 */ GIR_RootConstrainSelectedInstOperands,
62862 /* 179021 */ // GIR_Coverage, 10912,
62863 /* 179021 */ GIR_EraseRootFromParent_Done,
62864 /* 179022 */ // Label 5060: @179022
62865 /* 179022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5061*/ GIMT_Encode4(179040), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10908 //
62866 /* 179029 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62867 /* 179033 */ // (uint_to_fp:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src)
62868 /* 179033 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZrr),
62869 /* 179038 */ GIR_RootConstrainSelectedInstOperands,
62870 /* 179039 */ // GIR_Coverage, 10908,
62871 /* 179039 */ GIR_Done,
62872 /* 179040 */ // Label 5061: @179040
62873 /* 179040 */ GIM_Reject,
62874 /* 179041 */ // Label 5059: @179041
62875 /* 179041 */ GIM_Reject,
62876 /* 179042 */ // Label 5057: @179042
62877 /* 179042 */ GIM_Try, /*On fail goto*//*Label 5062*/ GIMT_Encode4(179125),
62878 /* 179047 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62879 /* 179051 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5063*/ GIMT_Encode4(179102), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 11404 //
62880 /* 179058 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62881 /* 179062 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62882 /* 179066 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62883 /* 179069 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62884 /* 179073 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62885 /* 179077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62886 /* 179079 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62887 /* 179086 */ // (uint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
62888 /* 179086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZrm),
62889 /* 179089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62890 /* 179091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62891 /* 179095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62892 /* 179100 */ GIR_RootConstrainSelectedInstOperands,
62893 /* 179101 */ // GIR_Coverage, 11404,
62894 /* 179101 */ GIR_EraseRootFromParent_Done,
62895 /* 179102 */ // Label 5063: @179102
62896 /* 179102 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5064*/ GIMT_Encode4(179124), GIMT_Encode2(GIFBS_HasDQI), // Rule ID 11400 //
62897 /* 179109 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62898 /* 179113 */ // (uint_to_fp:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PDZrr:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src)
62899 /* 179113 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZrr),
62900 /* 179118 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62901 /* 179122 */ GIR_RootConstrainSelectedInstOperands,
62902 /* 179123 */ // GIR_Coverage, 11400,
62903 /* 179123 */ GIR_Done,
62904 /* 179124 */ // Label 5064: @179124
62905 /* 179124 */ GIM_Reject,
62906 /* 179125 */ // Label 5062: @179125
62907 /* 179125 */ GIM_Reject,
62908 /* 179126 */ // Label 5058: @179126
62909 /* 179126 */ GIM_Reject,
62910 /* 179127 */ // Label 4970: @179127
62911 /* 179127 */ GIM_Reject,
62912 /* 179128 */ // Label 56: @179128
62913 /* 179128 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(25), /*)*//*default:*//*Label 5073*/ GIMT_Encode4(180007),
62914 /* 179139 */ /*GILLT_s32*//*Label 5065*/ GIMT_Encode4(179227),
62915 /* 179143 */ /*GILLT_s64*//*Label 5066*/ GIMT_Encode4(179415), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62916 /* 179203 */ /*GILLT_v4s32*//*Label 5067*/ GIMT_Encode4(179603),
62917 /* 179207 */ /*GILLT_v8s32*//*Label 5068*/ GIMT_Encode4(179689),
62918 /* 179211 */ /*GILLT_v16s32*//*Label 5069*/ GIMT_Encode4(179775),
62919 /* 179215 */ /*GILLT_v2s64*//*Label 5070*/ GIMT_Encode4(179805),
62920 /* 179219 */ /*GILLT_v4s64*//*Label 5071*/ GIMT_Encode4(179835),
62921 /* 179223 */ /*GILLT_v8s64*//*Label 5072*/ GIMT_Encode4(179921),
62922 /* 179227 */ // Label 5065: @179227
62923 /* 179227 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 5076*/ GIMT_Encode4(179414),
62924 /* 179238 */ /*GILLT_s32*//*Label 5074*/ GIMT_Encode4(179246),
62925 /* 179242 */ /*GILLT_s64*//*Label 5075*/ GIMT_Encode4(179330),
62926 /* 179246 */ // Label 5074: @179246
62927 /* 179246 */ GIM_Try, /*On fail goto*//*Label 5077*/ GIMT_Encode4(179329),
62928 /* 179251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62929 /* 179255 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5078*/ GIMT_Encode4(179306), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16435 //
62930 /* 179262 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62931 /* 179266 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62932 /* 179270 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62933 /* 179273 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62934 /* 179277 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62935 /* 179281 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62936 /* 179283 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62937 /* 179290 */ // (fp_to_sint_sat:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, i32:{ *:[Other] }) => (VCVTTSS2SISrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62938 /* 179290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SISrm),
62939 /* 179293 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62940 /* 179295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62941 /* 179299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62942 /* 179304 */ GIR_RootConstrainSelectedInstOperands,
62943 /* 179305 */ // GIR_Coverage, 16435,
62944 /* 179305 */ GIR_EraseRootFromParent_Done,
62945 /* 179306 */ // Label 5078: @179306
62946 /* 179306 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5079*/ GIMT_Encode4(179328), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16434 //
62947 /* 179313 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62948 /* 179317 */ // (fp_to_sint_sat:{ *:[i32] } FR32X:{ *:[f32] }:$src, i32:{ *:[Other] }) => (VCVTTSS2SISrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
62949 /* 179317 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SISrr),
62950 /* 179322 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62951 /* 179326 */ GIR_RootConstrainSelectedInstOperands,
62952 /* 179327 */ // GIR_Coverage, 16434,
62953 /* 179327 */ GIR_Done,
62954 /* 179328 */ // Label 5079: @179328
62955 /* 179328 */ GIM_Reject,
62956 /* 179329 */ // Label 5077: @179329
62957 /* 179329 */ GIM_Reject,
62958 /* 179330 */ // Label 5075: @179330
62959 /* 179330 */ GIM_Try, /*On fail goto*//*Label 5080*/ GIMT_Encode4(179413),
62960 /* 179335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62961 /* 179339 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5081*/ GIMT_Encode4(179390), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16449 //
62962 /* 179346 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62963 /* 179350 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62964 /* 179354 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62965 /* 179357 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62966 /* 179361 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62967 /* 179365 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62968 /* 179367 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62969 /* 179374 */ // (fp_to_sint_sat:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, i32:{ *:[Other] }) => (VCVTTSD2SISrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62970 /* 179374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SISrm),
62971 /* 179377 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62972 /* 179379 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62973 /* 179383 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62974 /* 179388 */ GIR_RootConstrainSelectedInstOperands,
62975 /* 179389 */ // GIR_Coverage, 16449,
62976 /* 179389 */ GIR_EraseRootFromParent_Done,
62977 /* 179390 */ // Label 5081: @179390
62978 /* 179390 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5082*/ GIMT_Encode4(179412), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16448 //
62979 /* 179397 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62980 /* 179401 */ // (fp_to_sint_sat:{ *:[i32] } FR64X:{ *:[f64] }:$src, i32:{ *:[Other] }) => (VCVTTSD2SISrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
62981 /* 179401 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SISrr),
62982 /* 179406 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62983 /* 179410 */ GIR_RootConstrainSelectedInstOperands,
62984 /* 179411 */ // GIR_Coverage, 16448,
62985 /* 179411 */ GIR_Done,
62986 /* 179412 */ // Label 5082: @179412
62987 /* 179412 */ GIM_Reject,
62988 /* 179413 */ // Label 5080: @179413
62989 /* 179413 */ GIM_Reject,
62990 /* 179414 */ // Label 5076: @179414
62991 /* 179414 */ GIM_Reject,
62992 /* 179415 */ // Label 5066: @179415
62993 /* 179415 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 5085*/ GIMT_Encode4(179602),
62994 /* 179426 */ /*GILLT_s32*//*Label 5083*/ GIMT_Encode4(179434),
62995 /* 179430 */ /*GILLT_s64*//*Label 5084*/ GIMT_Encode4(179518),
62996 /* 179434 */ // Label 5083: @179434
62997 /* 179434 */ GIM_Try, /*On fail goto*//*Label 5086*/ GIMT_Encode4(179517),
62998 /* 179439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62999 /* 179443 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5087*/ GIMT_Encode4(179494), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16442 //
63000 /* 179450 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63001 /* 179454 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63002 /* 179458 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63003 /* 179461 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63004 /* 179465 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63005 /* 179469 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63006 /* 179471 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63007 /* 179478 */ // (fp_to_sint_sat:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, i64:{ *:[Other] }) => (VCVTTSS2SI64Srm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63008 /* 179478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64Srm),
63009 /* 179481 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63010 /* 179483 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63011 /* 179487 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63012 /* 179492 */ GIR_RootConstrainSelectedInstOperands,
63013 /* 179493 */ // GIR_Coverage, 16442,
63014 /* 179493 */ GIR_EraseRootFromParent_Done,
63015 /* 179494 */ // Label 5087: @179494
63016 /* 179494 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5088*/ GIMT_Encode4(179516), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16441 //
63017 /* 179501 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63018 /* 179505 */ // (fp_to_sint_sat:{ *:[i64] } FR32X:{ *:[f32] }:$src, i64:{ *:[Other] }) => (VCVTTSS2SI64Srr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
63019 /* 179505 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64Srr),
63020 /* 179510 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63021 /* 179514 */ GIR_RootConstrainSelectedInstOperands,
63022 /* 179515 */ // GIR_Coverage, 16441,
63023 /* 179515 */ GIR_Done,
63024 /* 179516 */ // Label 5088: @179516
63025 /* 179516 */ GIM_Reject,
63026 /* 179517 */ // Label 5086: @179517
63027 /* 179517 */ GIM_Reject,
63028 /* 179518 */ // Label 5084: @179518
63029 /* 179518 */ GIM_Try, /*On fail goto*//*Label 5089*/ GIMT_Encode4(179601),
63030 /* 179523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63031 /* 179527 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5090*/ GIMT_Encode4(179578), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16456 //
63032 /* 179534 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63033 /* 179538 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63034 /* 179542 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63035 /* 179545 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63036 /* 179549 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63037 /* 179553 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63038 /* 179555 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63039 /* 179562 */ // (fp_to_sint_sat:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, i64:{ *:[Other] }) => (VCVTTSD2SI64Srm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63040 /* 179562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64Srm),
63041 /* 179565 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63042 /* 179567 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63043 /* 179571 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63044 /* 179576 */ GIR_RootConstrainSelectedInstOperands,
63045 /* 179577 */ // GIR_Coverage, 16456,
63046 /* 179577 */ GIR_EraseRootFromParent_Done,
63047 /* 179578 */ // Label 5090: @179578
63048 /* 179578 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5091*/ GIMT_Encode4(179600), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16455 //
63049 /* 179585 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63050 /* 179589 */ // (fp_to_sint_sat:{ *:[i64] } FR64X:{ *:[f64] }:$src, i64:{ *:[Other] }) => (VCVTTSD2SI64Srr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
63051 /* 179589 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64Srr),
63052 /* 179594 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63053 /* 179598 */ GIR_RootConstrainSelectedInstOperands,
63054 /* 179599 */ // GIR_Coverage, 16455,
63055 /* 179599 */ GIR_Done,
63056 /* 179600 */ // Label 5091: @179600
63057 /* 179600 */ GIM_Reject,
63058 /* 179601 */ // Label 5089: @179601
63059 /* 179601 */ GIM_Reject,
63060 /* 179602 */ // Label 5085: @179602
63061 /* 179602 */ GIM_Reject,
63062 /* 179603 */ // Label 5067: @179603
63063 /* 179603 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 5094*/ GIMT_Encode4(179688),
63064 /* 179614 */ /*GILLT_v4s32*//*Label 5092*/ GIMT_Encode4(179634), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63065 /* 179630 */ /*GILLT_v4s64*//*Label 5093*/ GIMT_Encode4(179661),
63066 /* 179634 */ // Label 5092: @179634
63067 /* 179634 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5095*/ GIMT_Encode4(179660), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22468 //
63068 /* 179641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63069 /* 179645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63070 /* 179649 */ // (fp_to_sint_sat:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src, i32:{ *:[Other] }) => (VCVTTPS2DQSZ128rr:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src)
63071 /* 179649 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2DQSZ128rr),
63072 /* 179654 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63073 /* 179658 */ GIR_RootConstrainSelectedInstOperands,
63074 /* 179659 */ // GIR_Coverage, 22468,
63075 /* 179659 */ GIR_Done,
63076 /* 179660 */ // Label 5095: @179660
63077 /* 179660 */ GIM_Reject,
63078 /* 179661 */ // Label 5093: @179661
63079 /* 179661 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5096*/ GIMT_Encode4(179687), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22457 //
63080 /* 179668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63081 /* 179672 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63082 /* 179676 */ // (fp_to_sint_sat:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src, i32:{ *:[Other] }) => (VCVTTPD2DQSZ256rr:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src)
63083 /* 179676 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2DQSZ256rr),
63084 /* 179681 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63085 /* 179685 */ GIR_RootConstrainSelectedInstOperands,
63086 /* 179686 */ // GIR_Coverage, 22457,
63087 /* 179686 */ GIR_Done,
63088 /* 179687 */ // Label 5096: @179687
63089 /* 179687 */ GIM_Reject,
63090 /* 179688 */ // Label 5094: @179688
63091 /* 179688 */ GIM_Reject,
63092 /* 179689 */ // Label 5068: @179689
63093 /* 179689 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 5099*/ GIMT_Encode4(179774),
63094 /* 179700 */ /*GILLT_v8s32*//*Label 5097*/ GIMT_Encode4(179720), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63095 /* 179716 */ /*GILLT_v8s64*//*Label 5098*/ GIMT_Encode4(179747),
63096 /* 179720 */ // Label 5097: @179720
63097 /* 179720 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5100*/ GIMT_Encode4(179746), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22469 //
63098 /* 179727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63099 /* 179731 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63100 /* 179735 */ // (fp_to_sint_sat:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src, i32:{ *:[Other] }) => (VCVTTPS2DQSZ256rr:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src)
63101 /* 179735 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2DQSZ256rr),
63102 /* 179740 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63103 /* 179744 */ GIR_RootConstrainSelectedInstOperands,
63104 /* 179745 */ // GIR_Coverage, 22469,
63105 /* 179745 */ GIR_Done,
63106 /* 179746 */ // Label 5100: @179746
63107 /* 179746 */ GIM_Reject,
63108 /* 179747 */ // Label 5098: @179747
63109 /* 179747 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5101*/ GIMT_Encode4(179773), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22458 //
63110 /* 179754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63111 /* 179758 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63112 /* 179762 */ // (fp_to_sint_sat:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src, i32:{ *:[Other] }) => (VCVTTPD2DQSZrr:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src)
63113 /* 179762 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2DQSZrr),
63114 /* 179767 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63115 /* 179771 */ GIR_RootConstrainSelectedInstOperands,
63116 /* 179772 */ // GIR_Coverage, 22458,
63117 /* 179772 */ GIR_Done,
63118 /* 179773 */ // Label 5101: @179773
63119 /* 179773 */ GIM_Reject,
63120 /* 179774 */ // Label 5099: @179774
63121 /* 179774 */ GIM_Reject,
63122 /* 179775 */ // Label 5069: @179775
63123 /* 179775 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5102*/ GIMT_Encode4(179804), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22470 //
63124 /* 179782 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
63125 /* 179785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63126 /* 179789 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63127 /* 179793 */ // (fp_to_sint_sat:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src, i32:{ *:[Other] }) => (VCVTTPS2DQSZrr:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src)
63128 /* 179793 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2DQSZrr),
63129 /* 179798 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63130 /* 179802 */ GIR_RootConstrainSelectedInstOperands,
63131 /* 179803 */ // GIR_Coverage, 22470,
63132 /* 179803 */ GIR_Done,
63133 /* 179804 */ // Label 5102: @179804
63134 /* 179804 */ GIM_Reject,
63135 /* 179805 */ // Label 5070: @179805
63136 /* 179805 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5103*/ GIMT_Encode4(179834), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22459 //
63137 /* 179812 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
63138 /* 179815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63139 /* 179819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63140 /* 179823 */ // (fp_to_sint_sat:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src, i64:{ *:[Other] }) => (VCVTTPD2QQSZ128rr:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src)
63141 /* 179823 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2QQSZ128rr),
63142 /* 179828 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63143 /* 179832 */ GIR_RootConstrainSelectedInstOperands,
63144 /* 179833 */ // GIR_Coverage, 22459,
63145 /* 179833 */ GIR_Done,
63146 /* 179834 */ // Label 5103: @179834
63147 /* 179834 */ GIM_Reject,
63148 /* 179835 */ // Label 5071: @179835
63149 /* 179835 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 5106*/ GIMT_Encode4(179920),
63150 /* 179846 */ /*GILLT_v4s32*//*Label 5104*/ GIMT_Encode4(179866), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63151 /* 179862 */ /*GILLT_v4s64*//*Label 5105*/ GIMT_Encode4(179893),
63152 /* 179866 */ // Label 5104: @179866
63153 /* 179866 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5107*/ GIMT_Encode4(179892), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22472 //
63154 /* 179873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63155 /* 179877 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63156 /* 179881 */ // (fp_to_sint_sat:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src, i64:{ *:[Other] }) => (VCVTTPS2QQSZ256rr:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src)
63157 /* 179881 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2QQSZ256rr),
63158 /* 179886 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63159 /* 179890 */ GIR_RootConstrainSelectedInstOperands,
63160 /* 179891 */ // GIR_Coverage, 22472,
63161 /* 179891 */ GIR_Done,
63162 /* 179892 */ // Label 5107: @179892
63163 /* 179892 */ GIM_Reject,
63164 /* 179893 */ // Label 5105: @179893
63165 /* 179893 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5108*/ GIMT_Encode4(179919), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22460 //
63166 /* 179900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63167 /* 179904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63168 /* 179908 */ // (fp_to_sint_sat:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src, i64:{ *:[Other] }) => (VCVTTPD2QQSZ256rr:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src)
63169 /* 179908 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2QQSZ256rr),
63170 /* 179913 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63171 /* 179917 */ GIR_RootConstrainSelectedInstOperands,
63172 /* 179918 */ // GIR_Coverage, 22460,
63173 /* 179918 */ GIR_Done,
63174 /* 179919 */ // Label 5108: @179919
63175 /* 179919 */ GIM_Reject,
63176 /* 179920 */ // Label 5106: @179920
63177 /* 179920 */ GIM_Reject,
63178 /* 179921 */ // Label 5072: @179921
63179 /* 179921 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 5111*/ GIMT_Encode4(180006),
63180 /* 179932 */ /*GILLT_v8s32*//*Label 5109*/ GIMT_Encode4(179952), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63181 /* 179948 */ /*GILLT_v8s64*//*Label 5110*/ GIMT_Encode4(179979),
63182 /* 179952 */ // Label 5109: @179952
63183 /* 179952 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5112*/ GIMT_Encode4(179978), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22473 //
63184 /* 179959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63185 /* 179963 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63186 /* 179967 */ // (fp_to_sint_sat:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src, i64:{ *:[Other] }) => (VCVTTPS2QQSZrr:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src)
63187 /* 179967 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2QQSZrr),
63188 /* 179972 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63189 /* 179976 */ GIR_RootConstrainSelectedInstOperands,
63190 /* 179977 */ // GIR_Coverage, 22473,
63191 /* 179977 */ GIR_Done,
63192 /* 179978 */ // Label 5112: @179978
63193 /* 179978 */ GIM_Reject,
63194 /* 179979 */ // Label 5110: @179979
63195 /* 179979 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5113*/ GIMT_Encode4(180005), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22461 //
63196 /* 179986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63197 /* 179990 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63198 /* 179994 */ // (fp_to_sint_sat:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src, i64:{ *:[Other] }) => (VCVTTPD2QQSZrr:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src)
63199 /* 179994 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2QQSZrr),
63200 /* 179999 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63201 /* 180003 */ GIR_RootConstrainSelectedInstOperands,
63202 /* 180004 */ // GIR_Coverage, 22461,
63203 /* 180004 */ GIR_Done,
63204 /* 180005 */ // Label 5113: @180005
63205 /* 180005 */ GIM_Reject,
63206 /* 180006 */ // Label 5111: @180006
63207 /* 180006 */ GIM_Reject,
63208 /* 180007 */ // Label 5073: @180007
63209 /* 180007 */ GIM_Reject,
63210 /* 180008 */ // Label 57: @180008
63211 /* 180008 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(25), /*)*//*default:*//*Label 5122*/ GIMT_Encode4(180887),
63212 /* 180019 */ /*GILLT_s32*//*Label 5114*/ GIMT_Encode4(180107),
63213 /* 180023 */ /*GILLT_s64*//*Label 5115*/ GIMT_Encode4(180295), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63214 /* 180083 */ /*GILLT_v4s32*//*Label 5116*/ GIMT_Encode4(180483),
63215 /* 180087 */ /*GILLT_v8s32*//*Label 5117*/ GIMT_Encode4(180569),
63216 /* 180091 */ /*GILLT_v16s32*//*Label 5118*/ GIMT_Encode4(180655),
63217 /* 180095 */ /*GILLT_v2s64*//*Label 5119*/ GIMT_Encode4(180685),
63218 /* 180099 */ /*GILLT_v4s64*//*Label 5120*/ GIMT_Encode4(180715),
63219 /* 180103 */ /*GILLT_v8s64*//*Label 5121*/ GIMT_Encode4(180801),
63220 /* 180107 */ // Label 5114: @180107
63221 /* 180107 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 5125*/ GIMT_Encode4(180294),
63222 /* 180118 */ /*GILLT_s32*//*Label 5123*/ GIMT_Encode4(180126),
63223 /* 180122 */ /*GILLT_s64*//*Label 5124*/ GIMT_Encode4(180210),
63224 /* 180126 */ // Label 5123: @180126
63225 /* 180126 */ GIM_Try, /*On fail goto*//*Label 5126*/ GIMT_Encode4(180209),
63226 /* 180131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63227 /* 180135 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5127*/ GIMT_Encode4(180186), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16463 //
63228 /* 180142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63229 /* 180146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63230 /* 180150 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63231 /* 180153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63232 /* 180157 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63233 /* 180161 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63234 /* 180163 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63235 /* 180170 */ // (fp_to_uint_sat:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, i32:{ *:[Other] }) => (VCVTTSS2USISrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
63236 /* 180170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USISrm),
63237 /* 180173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63238 /* 180175 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63239 /* 180179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63240 /* 180184 */ GIR_RootConstrainSelectedInstOperands,
63241 /* 180185 */ // GIR_Coverage, 16463,
63242 /* 180185 */ GIR_EraseRootFromParent_Done,
63243 /* 180186 */ // Label 5127: @180186
63244 /* 180186 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5128*/ GIMT_Encode4(180208), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16462 //
63245 /* 180193 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63246 /* 180197 */ // (fp_to_uint_sat:{ *:[i32] } FR32X:{ *:[f32] }:$src, i32:{ *:[Other] }) => (VCVTTSS2USISrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
63247 /* 180197 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USISrr),
63248 /* 180202 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63249 /* 180206 */ GIR_RootConstrainSelectedInstOperands,
63250 /* 180207 */ // GIR_Coverage, 16462,
63251 /* 180207 */ GIR_Done,
63252 /* 180208 */ // Label 5128: @180208
63253 /* 180208 */ GIM_Reject,
63254 /* 180209 */ // Label 5126: @180209
63255 /* 180209 */ GIM_Reject,
63256 /* 180210 */ // Label 5124: @180210
63257 /* 180210 */ GIM_Try, /*On fail goto*//*Label 5129*/ GIMT_Encode4(180293),
63258 /* 180215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63259 /* 180219 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5130*/ GIMT_Encode4(180270), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16477 //
63260 /* 180226 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63261 /* 180230 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63262 /* 180234 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63263 /* 180237 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63264 /* 180241 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63265 /* 180245 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63266 /* 180247 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63267 /* 180254 */ // (fp_to_uint_sat:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, i32:{ *:[Other] }) => (VCVTTSD2USISrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
63268 /* 180254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USISrm),
63269 /* 180257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63270 /* 180259 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63271 /* 180263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63272 /* 180268 */ GIR_RootConstrainSelectedInstOperands,
63273 /* 180269 */ // GIR_Coverage, 16477,
63274 /* 180269 */ GIR_EraseRootFromParent_Done,
63275 /* 180270 */ // Label 5130: @180270
63276 /* 180270 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5131*/ GIMT_Encode4(180292), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16476 //
63277 /* 180277 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63278 /* 180281 */ // (fp_to_uint_sat:{ *:[i32] } FR64X:{ *:[f64] }:$src, i32:{ *:[Other] }) => (VCVTTSD2USISrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
63279 /* 180281 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USISrr),
63280 /* 180286 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63281 /* 180290 */ GIR_RootConstrainSelectedInstOperands,
63282 /* 180291 */ // GIR_Coverage, 16476,
63283 /* 180291 */ GIR_Done,
63284 /* 180292 */ // Label 5131: @180292
63285 /* 180292 */ GIM_Reject,
63286 /* 180293 */ // Label 5129: @180293
63287 /* 180293 */ GIM_Reject,
63288 /* 180294 */ // Label 5125: @180294
63289 /* 180294 */ GIM_Reject,
63290 /* 180295 */ // Label 5115: @180295
63291 /* 180295 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 5134*/ GIMT_Encode4(180482),
63292 /* 180306 */ /*GILLT_s32*//*Label 5132*/ GIMT_Encode4(180314),
63293 /* 180310 */ /*GILLT_s64*//*Label 5133*/ GIMT_Encode4(180398),
63294 /* 180314 */ // Label 5132: @180314
63295 /* 180314 */ GIM_Try, /*On fail goto*//*Label 5135*/ GIMT_Encode4(180397),
63296 /* 180319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63297 /* 180323 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5136*/ GIMT_Encode4(180374), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16470 //
63298 /* 180330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63299 /* 180334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63300 /* 180338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63301 /* 180341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63302 /* 180345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63303 /* 180349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63304 /* 180351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63305 /* 180358 */ // (fp_to_uint_sat:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, i64:{ *:[Other] }) => (VCVTTSS2USI64Srm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63306 /* 180358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USI64Srm),
63307 /* 180361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63308 /* 180363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63309 /* 180367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63310 /* 180372 */ GIR_RootConstrainSelectedInstOperands,
63311 /* 180373 */ // GIR_Coverage, 16470,
63312 /* 180373 */ GIR_EraseRootFromParent_Done,
63313 /* 180374 */ // Label 5136: @180374
63314 /* 180374 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5137*/ GIMT_Encode4(180396), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16469 //
63315 /* 180381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63316 /* 180385 */ // (fp_to_uint_sat:{ *:[i64] } FR32X:{ *:[f32] }:$src, i64:{ *:[Other] }) => (VCVTTSS2USI64Srr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
63317 /* 180385 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USI64Srr),
63318 /* 180390 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63319 /* 180394 */ GIR_RootConstrainSelectedInstOperands,
63320 /* 180395 */ // GIR_Coverage, 16469,
63321 /* 180395 */ GIR_Done,
63322 /* 180396 */ // Label 5137: @180396
63323 /* 180396 */ GIM_Reject,
63324 /* 180397 */ // Label 5135: @180397
63325 /* 180397 */ GIM_Reject,
63326 /* 180398 */ // Label 5133: @180398
63327 /* 180398 */ GIM_Try, /*On fail goto*//*Label 5138*/ GIMT_Encode4(180481),
63328 /* 180403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63329 /* 180407 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5139*/ GIMT_Encode4(180458), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16484 //
63330 /* 180414 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63331 /* 180418 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63332 /* 180422 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63333 /* 180425 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63334 /* 180429 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63335 /* 180433 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63336 /* 180435 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63337 /* 180442 */ // (fp_to_uint_sat:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, i64:{ *:[Other] }) => (VCVTTSD2USI64Srm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63338 /* 180442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USI64Srm),
63339 /* 180445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63340 /* 180447 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63341 /* 180451 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63342 /* 180456 */ GIR_RootConstrainSelectedInstOperands,
63343 /* 180457 */ // GIR_Coverage, 16484,
63344 /* 180457 */ GIR_EraseRootFromParent_Done,
63345 /* 180458 */ // Label 5139: @180458
63346 /* 180458 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5140*/ GIMT_Encode4(180480), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 16483 //
63347 /* 180465 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63348 /* 180469 */ // (fp_to_uint_sat:{ *:[i64] } FR64X:{ *:[f64] }:$src, i64:{ *:[Other] }) => (VCVTTSD2USI64Srr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
63349 /* 180469 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USI64Srr),
63350 /* 180474 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63351 /* 180478 */ GIR_RootConstrainSelectedInstOperands,
63352 /* 180479 */ // GIR_Coverage, 16483,
63353 /* 180479 */ GIR_Done,
63354 /* 180480 */ // Label 5140: @180480
63355 /* 180480 */ GIM_Reject,
63356 /* 180481 */ // Label 5138: @180481
63357 /* 180481 */ GIM_Reject,
63358 /* 180482 */ // Label 5134: @180482
63359 /* 180482 */ GIM_Reject,
63360 /* 180483 */ // Label 5116: @180483
63361 /* 180483 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 5143*/ GIMT_Encode4(180568),
63362 /* 180494 */ /*GILLT_v4s32*//*Label 5141*/ GIMT_Encode4(180514), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63363 /* 180510 */ /*GILLT_v4s64*//*Label 5142*/ GIMT_Encode4(180541),
63364 /* 180514 */ // Label 5141: @180514
63365 /* 180514 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5144*/ GIMT_Encode4(180540), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22474 //
63366 /* 180521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63367 /* 180525 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63368 /* 180529 */ // (fp_to_uint_sat:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src, i32:{ *:[Other] }) => (VCVTTPS2UDQSZ128rr:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src)
63369 /* 180529 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2UDQSZ128rr),
63370 /* 180534 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63371 /* 180538 */ GIR_RootConstrainSelectedInstOperands,
63372 /* 180539 */ // GIR_Coverage, 22474,
63373 /* 180539 */ GIR_Done,
63374 /* 180540 */ // Label 5144: @180540
63375 /* 180540 */ GIM_Reject,
63376 /* 180541 */ // Label 5142: @180541
63377 /* 180541 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5145*/ GIMT_Encode4(180567), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22463 //
63378 /* 180548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63379 /* 180552 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63380 /* 180556 */ // (fp_to_uint_sat:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src, i32:{ *:[Other] }) => (VCVTTPD2UDQSZ256rr:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src)
63381 /* 180556 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2UDQSZ256rr),
63382 /* 180561 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63383 /* 180565 */ GIR_RootConstrainSelectedInstOperands,
63384 /* 180566 */ // GIR_Coverage, 22463,
63385 /* 180566 */ GIR_Done,
63386 /* 180567 */ // Label 5145: @180567
63387 /* 180567 */ GIM_Reject,
63388 /* 180568 */ // Label 5143: @180568
63389 /* 180568 */ GIM_Reject,
63390 /* 180569 */ // Label 5117: @180569
63391 /* 180569 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 5148*/ GIMT_Encode4(180654),
63392 /* 180580 */ /*GILLT_v8s32*//*Label 5146*/ GIMT_Encode4(180600), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63393 /* 180596 */ /*GILLT_v8s64*//*Label 5147*/ GIMT_Encode4(180627),
63394 /* 180600 */ // Label 5146: @180600
63395 /* 180600 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5149*/ GIMT_Encode4(180626), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22475 //
63396 /* 180607 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63397 /* 180611 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63398 /* 180615 */ // (fp_to_uint_sat:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src, i32:{ *:[Other] }) => (VCVTTPS2UDQSZ256rr:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src)
63399 /* 180615 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2UDQSZ256rr),
63400 /* 180620 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63401 /* 180624 */ GIR_RootConstrainSelectedInstOperands,
63402 /* 180625 */ // GIR_Coverage, 22475,
63403 /* 180625 */ GIR_Done,
63404 /* 180626 */ // Label 5149: @180626
63405 /* 180626 */ GIM_Reject,
63406 /* 180627 */ // Label 5147: @180627
63407 /* 180627 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5150*/ GIMT_Encode4(180653), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22464 //
63408 /* 180634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63409 /* 180638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63410 /* 180642 */ // (fp_to_uint_sat:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src, i32:{ *:[Other] }) => (VCVTTPD2UDQSZrr:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src)
63411 /* 180642 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2UDQSZrr),
63412 /* 180647 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63413 /* 180651 */ GIR_RootConstrainSelectedInstOperands,
63414 /* 180652 */ // GIR_Coverage, 22464,
63415 /* 180652 */ GIR_Done,
63416 /* 180653 */ // Label 5150: @180653
63417 /* 180653 */ GIM_Reject,
63418 /* 180654 */ // Label 5148: @180654
63419 /* 180654 */ GIM_Reject,
63420 /* 180655 */ // Label 5118: @180655
63421 /* 180655 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5151*/ GIMT_Encode4(180684), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22476 //
63422 /* 180662 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
63423 /* 180665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63424 /* 180669 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63425 /* 180673 */ // (fp_to_uint_sat:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src, i32:{ *:[Other] }) => (VCVTTPS2UDQSZrr:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src)
63426 /* 180673 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2UDQSZrr),
63427 /* 180678 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63428 /* 180682 */ GIR_RootConstrainSelectedInstOperands,
63429 /* 180683 */ // GIR_Coverage, 22476,
63430 /* 180683 */ GIR_Done,
63431 /* 180684 */ // Label 5151: @180684
63432 /* 180684 */ GIM_Reject,
63433 /* 180685 */ // Label 5119: @180685
63434 /* 180685 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5152*/ GIMT_Encode4(180714), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22465 //
63435 /* 180692 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
63436 /* 180695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63437 /* 180699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63438 /* 180703 */ // (fp_to_uint_sat:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src, i64:{ *:[Other] }) => (VCVTTPD2UQQSZ128rr:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src)
63439 /* 180703 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2UQQSZ128rr),
63440 /* 180708 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63441 /* 180712 */ GIR_RootConstrainSelectedInstOperands,
63442 /* 180713 */ // GIR_Coverage, 22465,
63443 /* 180713 */ GIR_Done,
63444 /* 180714 */ // Label 5152: @180714
63445 /* 180714 */ GIM_Reject,
63446 /* 180715 */ // Label 5120: @180715
63447 /* 180715 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(19), GIMT_Encode2(24), /*)*//*default:*//*Label 5155*/ GIMT_Encode4(180800),
63448 /* 180726 */ /*GILLT_v4s32*//*Label 5153*/ GIMT_Encode4(180746), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63449 /* 180742 */ /*GILLT_v4s64*//*Label 5154*/ GIMT_Encode4(180773),
63450 /* 180746 */ // Label 5153: @180746
63451 /* 180746 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5156*/ GIMT_Encode4(180772), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22478 //
63452 /* 180753 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63453 /* 180757 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63454 /* 180761 */ // (fp_to_uint_sat:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src, i64:{ *:[Other] }) => (VCVTTPS2UQQSZ256rr:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src)
63455 /* 180761 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2UQQSZ256rr),
63456 /* 180766 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63457 /* 180770 */ GIR_RootConstrainSelectedInstOperands,
63458 /* 180771 */ // GIR_Coverage, 22478,
63459 /* 180771 */ GIR_Done,
63460 /* 180772 */ // Label 5156: @180772
63461 /* 180772 */ GIM_Reject,
63462 /* 180773 */ // Label 5154: @180773
63463 /* 180773 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5157*/ GIMT_Encode4(180799), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22466 //
63464 /* 180780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63465 /* 180784 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63466 /* 180788 */ // (fp_to_uint_sat:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src, i64:{ *:[Other] }) => (VCVTTPD2UQQSZ256rr:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src)
63467 /* 180788 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2UQQSZ256rr),
63468 /* 180793 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63469 /* 180797 */ GIR_RootConstrainSelectedInstOperands,
63470 /* 180798 */ // GIR_Coverage, 22466,
63471 /* 180798 */ GIR_Done,
63472 /* 180799 */ // Label 5157: @180799
63473 /* 180799 */ GIM_Reject,
63474 /* 180800 */ // Label 5155: @180800
63475 /* 180800 */ GIM_Reject,
63476 /* 180801 */ // Label 5121: @180801
63477 /* 180801 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(25), /*)*//*default:*//*Label 5160*/ GIMT_Encode4(180886),
63478 /* 180812 */ /*GILLT_v8s32*//*Label 5158*/ GIMT_Encode4(180832), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63479 /* 180828 */ /*GILLT_v8s64*//*Label 5159*/ GIMT_Encode4(180859),
63480 /* 180832 */ // Label 5158: @180832
63481 /* 180832 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5161*/ GIMT_Encode4(180858), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22479 //
63482 /* 180839 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63483 /* 180843 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63484 /* 180847 */ // (fp_to_uint_sat:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src, i64:{ *:[Other] }) => (VCVTTPS2UQQSZrr:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src)
63485 /* 180847 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPS2UQQSZrr),
63486 /* 180852 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63487 /* 180856 */ GIR_RootConstrainSelectedInstOperands,
63488 /* 180857 */ // GIR_Coverage, 22479,
63489 /* 180857 */ GIR_Done,
63490 /* 180858 */ // Label 5161: @180858
63491 /* 180858 */ GIM_Reject,
63492 /* 180859 */ // Label 5159: @180859
63493 /* 180859 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5162*/ GIMT_Encode4(180885), GIMT_Encode2(GIFBS_HasAVX10_2), // Rule ID 22467 //
63494 /* 180866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63495 /* 180870 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63496 /* 180874 */ // (fp_to_uint_sat:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src, i64:{ *:[Other] }) => (VCVTTPD2UQQSZrr:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src)
63497 /* 180874 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2UQQSZrr),
63498 /* 180879 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63499 /* 180883 */ GIR_RootConstrainSelectedInstOperands,
63500 /* 180884 */ // GIR_Coverage, 22467,
63501 /* 180884 */ GIR_Done,
63502 /* 180885 */ // Label 5162: @180885
63503 /* 180885 */ GIM_Reject,
63504 /* 180886 */ // Label 5160: @180886
63505 /* 180886 */ GIM_Reject,
63506 /* 180887 */ // Label 5122: @180887
63507 /* 180887 */ GIM_Reject,
63508 /* 180888 */ // Label 58: @180888
63509 /* 180888 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 5166*/ GIMT_Encode4(181007),
63510 /* 180899 */ /*GILLT_s32*//*Label 5163*/ GIMT_Encode4(180911),
63511 /* 180903 */ /*GILLT_s64*//*Label 5164*/ GIMT_Encode4(180943),
63512 /* 180907 */ /*GILLT_s80*//*Label 5165*/ GIMT_Encode4(180975),
63513 /* 180911 */ // Label 5163: @180911
63514 /* 180911 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5167*/ GIMT_Encode4(180942), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1021 //
63515 /* 180918 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63516 /* 180921 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
63517 /* 180925 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
63518 /* 180929 */ // (fabs:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (ABS_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
63519 /* 180929 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp32),
63520 /* 180934 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
63521 /* 180940 */ GIR_RootConstrainSelectedInstOperands,
63522 /* 180941 */ // GIR_Coverage, 1021,
63523 /* 180941 */ GIR_Done,
63524 /* 180942 */ // Label 5167: @180942
63525 /* 180942 */ GIM_Reject,
63526 /* 180943 */ // Label 5164: @180943
63527 /* 180943 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5168*/ GIMT_Encode4(180974), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1022 //
63528 /* 180950 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63529 /* 180953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
63530 /* 180957 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
63531 /* 180961 */ // (fabs:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (ABS_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
63532 /* 180961 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp64),
63533 /* 180966 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
63534 /* 180972 */ GIR_RootConstrainSelectedInstOperands,
63535 /* 180973 */ // GIR_Coverage, 1022,
63536 /* 180973 */ GIR_Done,
63537 /* 180974 */ // Label 5168: @180974
63538 /* 180974 */ GIM_Reject,
63539 /* 180975 */ // Label 5165: @180975
63540 /* 180975 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5169*/ GIMT_Encode4(181006), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1023 //
63541 /* 180982 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
63542 /* 180985 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
63543 /* 180989 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
63544 /* 180993 */ // (fabs:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (ABS_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
63545 /* 180993 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp80),
63546 /* 180998 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
63547 /* 181004 */ GIR_RootConstrainSelectedInstOperands,
63548 /* 181005 */ // GIR_Coverage, 1023,
63549 /* 181005 */ GIR_Done,
63550 /* 181006 */ // Label 5169: @181006
63551 /* 181006 */ GIM_Reject,
63552 /* 181007 */ // Label 5166: @181007
63553 /* 181007 */ GIM_Reject,
63554 /* 181008 */ // Label 59: @181008
63555 /* 181008 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 5182*/ GIMT_Encode4(184239),
63556 /* 181019 */ /*GILLT_v16s8*//*Label 5170*/ GIMT_Encode4(181067),
63557 /* 181023 */ /*GILLT_v32s8*//*Label 5171*/ GIMT_Encode4(181396),
63558 /* 181027 */ /*GILLT_v64s8*//*Label 5172*/ GIMT_Encode4(181705),
63559 /* 181031 */ /*GILLT_v8s16*//*Label 5173*/ GIMT_Encode4(181860),
63560 /* 181035 */ /*GILLT_v16s16*//*Label 5174*/ GIMT_Encode4(182189),
63561 /* 181039 */ /*GILLT_v32s16*//*Label 5175*/ GIMT_Encode4(182498),
63562 /* 181043 */ /*GILLT_v4s32*//*Label 5176*/ GIMT_Encode4(182653),
63563 /* 181047 */ /*GILLT_v8s32*//*Label 5177*/ GIMT_Encode4(182982),
63564 /* 181051 */ /*GILLT_v16s32*//*Label 5178*/ GIMT_Encode4(183291),
63565 /* 181055 */ /*GILLT_v2s64*//*Label 5179*/ GIMT_Encode4(183446),
63566 /* 181059 */ /*GILLT_v4s64*//*Label 5180*/ GIMT_Encode4(183771),
63567 /* 181063 */ /*GILLT_v8s64*//*Label 5181*/ GIMT_Encode4(184084),
63568 /* 181067 */ // Label 5170: @181067
63569 /* 181067 */ GIM_Try, /*On fail goto*//*Label 5183*/ GIMT_Encode4(181395),
63570 /* 181072 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
63571 /* 181075 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
63572 /* 181078 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5184*/ GIMT_Encode4(181139), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23746 //
63573 /* 181085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63574 /* 181089 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63575 /* 181093 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63576 /* 181097 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63577 /* 181100 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63578 /* 181104 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63579 /* 181108 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63580 /* 181112 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63581 /* 181114 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63582 /* 181121 */ // (smin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMINSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63583 /* 181121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBrm),
63584 /* 181124 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63585 /* 181126 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
63586 /* 181128 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63587 /* 181132 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63588 /* 181137 */ GIR_RootConstrainSelectedInstOperands,
63589 /* 181138 */ // GIR_Coverage, 23746,
63590 /* 181138 */ GIR_EraseRootFromParent_Done,
63591 /* 181139 */ // Label 5184: @181139
63592 /* 181139 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5185*/ GIMT_Encode4(181200), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24275 //
63593 /* 181146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63594 /* 181150 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63595 /* 181154 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63596 /* 181158 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63597 /* 181161 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63598 /* 181165 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63599 /* 181169 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63600 /* 181173 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63601 /* 181175 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63602 /* 181182 */ // (smin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMINSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63603 /* 181182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rm),
63604 /* 181185 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63605 /* 181187 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
63606 /* 181189 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63607 /* 181193 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63608 /* 181198 */ GIR_RootConstrainSelectedInstOperands,
63609 /* 181199 */ // GIR_Coverage, 24275,
63610 /* 181199 */ GIR_EraseRootFromParent_Done,
63611 /* 181200 */ // Label 5185: @181200
63612 /* 181200 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5186*/ GIMT_Encode4(181261), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 3184 //
63613 /* 181207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63614 /* 181211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63615 /* 181215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
63616 /* 181219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63617 /* 181223 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63618 /* 181226 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63619 /* 181230 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63620 /* 181234 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63621 /* 181236 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63622 /* 181243 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63623 /* 181243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBrm),
63624 /* 181246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63625 /* 181248 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
63626 /* 181250 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63627 /* 181254 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63628 /* 181259 */ GIR_RootConstrainSelectedInstOperands,
63629 /* 181260 */ // GIR_Coverage, 3184,
63630 /* 181260 */ GIR_EraseRootFromParent_Done,
63631 /* 181261 */ // Label 5186: @181261
63632 /* 181261 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5187*/ GIMT_Encode4(181322), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5522 //
63633 /* 181268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63634 /* 181272 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63635 /* 181276 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
63636 /* 181280 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63637 /* 181284 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63638 /* 181287 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63639 /* 181291 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63640 /* 181295 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63641 /* 181297 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63642 /* 181304 */ // (smin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63643 /* 181304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rm),
63644 /* 181307 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63645 /* 181309 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
63646 /* 181311 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63647 /* 181315 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63648 /* 181320 */ GIR_RootConstrainSelectedInstOperands,
63649 /* 181321 */ // GIR_Coverage, 5522,
63650 /* 181321 */ GIR_EraseRootFromParent_Done,
63651 /* 181322 */ // Label 5187: @181322
63652 /* 181322 */ GIM_Try, /*On fail goto*//*Label 5188*/ GIMT_Encode4(181368),
63653 /* 181327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63654 /* 181331 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63655 /* 181335 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63656 /* 181339 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5189*/ GIMT_Encode4(181353), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 3183 //
63657 /* 181346 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMINSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
63658 /* 181346 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBrr),
63659 /* 181351 */ GIR_RootConstrainSelectedInstOperands,
63660 /* 181352 */ // GIR_Coverage, 3183,
63661 /* 181352 */ GIR_Done,
63662 /* 181353 */ // Label 5189: @181353
63663 /* 181353 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5190*/ GIMT_Encode4(181367), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3209 //
63664 /* 181360 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMINSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
63665 /* 181360 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSBrr),
63666 /* 181365 */ GIR_RootConstrainSelectedInstOperands,
63667 /* 181366 */ // GIR_Coverage, 3209,
63668 /* 181366 */ GIR_Done,
63669 /* 181367 */ // Label 5190: @181367
63670 /* 181367 */ GIM_Reject,
63671 /* 181368 */ // Label 5188: @181368
63672 /* 181368 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5191*/ GIMT_Encode4(181394), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5519 //
63673 /* 181375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63674 /* 181379 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63675 /* 181383 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63676 /* 181387 */ // (smin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMINSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
63677 /* 181387 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rr),
63678 /* 181392 */ GIR_RootConstrainSelectedInstOperands,
63679 /* 181393 */ // GIR_Coverage, 5519,
63680 /* 181393 */ GIR_Done,
63681 /* 181394 */ // Label 5191: @181394
63682 /* 181394 */ GIM_Reject,
63683 /* 181395 */ // Label 5183: @181395
63684 /* 181395 */ GIM_Reject,
63685 /* 181396 */ // Label 5171: @181396
63686 /* 181396 */ GIM_Try, /*On fail goto*//*Label 5192*/ GIMT_Encode4(181704),
63687 /* 181401 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
63688 /* 181404 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
63689 /* 181407 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5193*/ GIMT_Encode4(181468), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23755 //
63690 /* 181414 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63691 /* 181418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63692 /* 181422 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63693 /* 181426 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63694 /* 181429 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63695 /* 181433 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63696 /* 181437 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63697 /* 181441 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63698 /* 181443 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63699 /* 181450 */ // (smin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMINSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63700 /* 181450 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrm),
63701 /* 181453 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63702 /* 181455 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
63703 /* 181457 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63704 /* 181461 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63705 /* 181466 */ GIR_RootConstrainSelectedInstOperands,
63706 /* 181467 */ // GIR_Coverage, 23755,
63707 /* 181467 */ GIR_EraseRootFromParent_Done,
63708 /* 181468 */ // Label 5193: @181468
63709 /* 181468 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5194*/ GIMT_Encode4(181529), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24272 //
63710 /* 181475 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63711 /* 181479 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63712 /* 181483 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63713 /* 181487 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63714 /* 181490 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63715 /* 181494 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63716 /* 181498 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63717 /* 181502 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63718 /* 181504 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63719 /* 181511 */ // (smin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMINSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63720 /* 181511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rm),
63721 /* 181514 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63722 /* 181516 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
63723 /* 181518 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63724 /* 181522 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63725 /* 181527 */ GIR_RootConstrainSelectedInstOperands,
63726 /* 181528 */ // GIR_Coverage, 24272,
63727 /* 181528 */ GIR_EraseRootFromParent_Done,
63728 /* 181529 */ // Label 5194: @181529
63729 /* 181529 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5195*/ GIMT_Encode4(181590), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 3202 //
63730 /* 181536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63731 /* 181540 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63732 /* 181544 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
63733 /* 181548 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63734 /* 181552 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63735 /* 181555 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63736 /* 181559 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63737 /* 181563 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63738 /* 181565 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63739 /* 181572 */ // (smin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63740 /* 181572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrm),
63741 /* 181575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63742 /* 181577 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
63743 /* 181579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63744 /* 181583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63745 /* 181588 */ GIR_RootConstrainSelectedInstOperands,
63746 /* 181589 */ // GIR_Coverage, 3202,
63747 /* 181589 */ GIR_EraseRootFromParent_Done,
63748 /* 181590 */ // Label 5195: @181590
63749 /* 181590 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5196*/ GIMT_Encode4(181651), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5516 //
63750 /* 181597 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63751 /* 181601 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63752 /* 181605 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
63753 /* 181609 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63754 /* 181613 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63755 /* 181616 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63756 /* 181620 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63757 /* 181624 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63758 /* 181626 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63759 /* 181633 */ // (smin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63760 /* 181633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rm),
63761 /* 181636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63762 /* 181638 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
63763 /* 181640 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63764 /* 181644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63765 /* 181649 */ GIR_RootConstrainSelectedInstOperands,
63766 /* 181650 */ // GIR_Coverage, 5516,
63767 /* 181650 */ GIR_EraseRootFromParent_Done,
63768 /* 181651 */ // Label 5196: @181651
63769 /* 181651 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5197*/ GIMT_Encode4(181677), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 3201 //
63770 /* 181658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63771 /* 181662 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63772 /* 181666 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63773 /* 181670 */ // (smin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMINSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
63774 /* 181670 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrr),
63775 /* 181675 */ GIR_RootConstrainSelectedInstOperands,
63776 /* 181676 */ // GIR_Coverage, 3201,
63777 /* 181676 */ GIR_Done,
63778 /* 181677 */ // Label 5197: @181677
63779 /* 181677 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5198*/ GIMT_Encode4(181703), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5513 //
63780 /* 181684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63781 /* 181688 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63782 /* 181692 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63783 /* 181696 */ // (smin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMINSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
63784 /* 181696 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rr),
63785 /* 181701 */ GIR_RootConstrainSelectedInstOperands,
63786 /* 181702 */ // GIR_Coverage, 5513,
63787 /* 181702 */ GIR_Done,
63788 /* 181703 */ // Label 5198: @181703
63789 /* 181703 */ GIM_Reject,
63790 /* 181704 */ // Label 5192: @181704
63791 /* 181704 */ GIM_Reject,
63792 /* 181705 */ // Label 5172: @181705
63793 /* 181705 */ GIM_Try, /*On fail goto*//*Label 5199*/ GIMT_Encode4(181859),
63794 /* 181710 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
63795 /* 181713 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
63796 /* 181716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63797 /* 181720 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5200*/ GIMT_Encode4(181777), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24269 //
63798 /* 181727 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63799 /* 181731 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63800 /* 181735 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63801 /* 181738 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63802 /* 181742 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63803 /* 181746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63804 /* 181750 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63805 /* 181752 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63806 /* 181759 */ // (smin:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMINSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63807 /* 181759 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrm),
63808 /* 181762 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63809 /* 181764 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
63810 /* 181766 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63811 /* 181770 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63812 /* 181775 */ GIR_RootConstrainSelectedInstOperands,
63813 /* 181776 */ // GIR_Coverage, 24269,
63814 /* 181776 */ GIR_EraseRootFromParent_Done,
63815 /* 181777 */ // Label 5200: @181777
63816 /* 181777 */ GIM_Try, /*On fail goto*//*Label 5201*/ GIMT_Encode4(181858),
63817 /* 181782 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63818 /* 181786 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5202*/ GIMT_Encode4(181839), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5510 //
63819 /* 181793 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
63820 /* 181797 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63821 /* 181801 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63822 /* 181804 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63823 /* 181808 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63824 /* 181812 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63825 /* 181814 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63826 /* 181821 */ // (smin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
63827 /* 181821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrm),
63828 /* 181824 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63829 /* 181826 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
63830 /* 181828 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63831 /* 181832 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63832 /* 181837 */ GIR_RootConstrainSelectedInstOperands,
63833 /* 181838 */ // GIR_Coverage, 5510,
63834 /* 181838 */ GIR_EraseRootFromParent_Done,
63835 /* 181839 */ // Label 5202: @181839
63836 /* 181839 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5203*/ GIMT_Encode4(181857), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5507 //
63837 /* 181846 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63838 /* 181850 */ // (smin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMINSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
63839 /* 181850 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrr),
63840 /* 181855 */ GIR_RootConstrainSelectedInstOperands,
63841 /* 181856 */ // GIR_Coverage, 5507,
63842 /* 181856 */ GIR_Done,
63843 /* 181857 */ // Label 5203: @181857
63844 /* 181857 */ GIM_Reject,
63845 /* 181858 */ // Label 5201: @181858
63846 /* 181858 */ GIM_Reject,
63847 /* 181859 */ // Label 5199: @181859
63848 /* 181859 */ GIM_Reject,
63849 /* 181860 */ // Label 5173: @181860
63850 /* 181860 */ GIM_Try, /*On fail goto*//*Label 5204*/ GIMT_Encode4(182188),
63851 /* 181865 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
63852 /* 181868 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
63853 /* 181871 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5205*/ GIMT_Encode4(181932), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23705 //
63854 /* 181878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63855 /* 181882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63856 /* 181886 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63857 /* 181890 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63858 /* 181893 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63859 /* 181897 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63860 /* 181901 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63861 /* 181905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63862 /* 181907 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63863 /* 181914 */ // (smin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMINSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
63864 /* 181914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWrm),
63865 /* 181917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63866 /* 181919 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
63867 /* 181921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63868 /* 181925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63869 /* 181930 */ GIR_RootConstrainSelectedInstOperands,
63870 /* 181931 */ // GIR_Coverage, 23705,
63871 /* 181931 */ GIR_EraseRootFromParent_Done,
63872 /* 181932 */ // Label 5205: @181932
63873 /* 181932 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5206*/ GIMT_Encode4(181993), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24284 //
63874 /* 181939 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63875 /* 181943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63876 /* 181947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63877 /* 181951 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63878 /* 181954 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63879 /* 181958 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63880 /* 181962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63881 /* 181966 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63882 /* 181968 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63883 /* 181975 */ // (smin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMINSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
63884 /* 181975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rm),
63885 /* 181978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63886 /* 181980 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
63887 /* 181982 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63888 /* 181986 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63889 /* 181991 */ GIR_RootConstrainSelectedInstOperands,
63890 /* 181992 */ // GIR_Coverage, 24284,
63891 /* 181992 */ GIR_EraseRootFromParent_Done,
63892 /* 181993 */ // Label 5206: @181993
63893 /* 181993 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5207*/ GIMT_Encode4(182054), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2625 //
63894 /* 182000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63895 /* 182004 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63896 /* 182008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
63897 /* 182012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63898 /* 182016 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63899 /* 182019 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63900 /* 182023 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63901 /* 182027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63902 /* 182029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63903 /* 182036 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
63904 /* 182036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWrm),
63905 /* 182039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63906 /* 182041 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
63907 /* 182043 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63908 /* 182047 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63909 /* 182052 */ GIR_RootConstrainSelectedInstOperands,
63910 /* 182053 */ // GIR_Coverage, 2625,
63911 /* 182053 */ GIR_EraseRootFromParent_Done,
63912 /* 182054 */ // Label 5207: @182054
63913 /* 182054 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5208*/ GIMT_Encode4(182115), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5540 //
63914 /* 182061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63915 /* 182065 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63916 /* 182069 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
63917 /* 182073 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63918 /* 182077 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63919 /* 182080 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63920 /* 182084 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63921 /* 182088 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63922 /* 182090 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63923 /* 182097 */ // (smin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
63924 /* 182097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rm),
63925 /* 182100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63926 /* 182102 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
63927 /* 182104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63928 /* 182108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63929 /* 182113 */ GIR_RootConstrainSelectedInstOperands,
63930 /* 182114 */ // GIR_Coverage, 5540,
63931 /* 182114 */ GIR_EraseRootFromParent_Done,
63932 /* 182115 */ // Label 5208: @182115
63933 /* 182115 */ GIM_Try, /*On fail goto*//*Label 5209*/ GIMT_Encode4(182161),
63934 /* 182120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63935 /* 182124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63936 /* 182128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63937 /* 182132 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5210*/ GIMT_Encode4(182146), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2624 //
63938 /* 182139 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMINSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
63939 /* 182139 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWrr),
63940 /* 182144 */ GIR_RootConstrainSelectedInstOperands,
63941 /* 182145 */ // GIR_Coverage, 2624,
63942 /* 182145 */ GIR_Done,
63943 /* 182146 */ // Label 5210: @182146
63944 /* 182146 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5211*/ GIMT_Encode4(182160), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2626 //
63945 /* 182153 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMINSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
63946 /* 182153 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSWrr),
63947 /* 182158 */ GIR_RootConstrainSelectedInstOperands,
63948 /* 182159 */ // GIR_Coverage, 2626,
63949 /* 182159 */ GIR_Done,
63950 /* 182160 */ // Label 5211: @182160
63951 /* 182160 */ GIM_Reject,
63952 /* 182161 */ // Label 5209: @182161
63953 /* 182161 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5212*/ GIMT_Encode4(182187), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5537 //
63954 /* 182168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63955 /* 182172 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63956 /* 182176 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63957 /* 182180 */ // (smin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMINSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
63958 /* 182180 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rr),
63959 /* 182185 */ GIR_RootConstrainSelectedInstOperands,
63960 /* 182186 */ // GIR_Coverage, 5537,
63961 /* 182186 */ GIR_Done,
63962 /* 182187 */ // Label 5212: @182187
63963 /* 182187 */ GIM_Reject,
63964 /* 182188 */ // Label 5204: @182188
63965 /* 182188 */ GIM_Reject,
63966 /* 182189 */ // Label 5174: @182189
63967 /* 182189 */ GIM_Try, /*On fail goto*//*Label 5213*/ GIMT_Encode4(182497),
63968 /* 182194 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
63969 /* 182197 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
63970 /* 182200 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5214*/ GIMT_Encode4(182261), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23707 //
63971 /* 182207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63972 /* 182211 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63973 /* 182215 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63974 /* 182219 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63975 /* 182222 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63976 /* 182226 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63977 /* 182230 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63978 /* 182234 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63979 /* 182236 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63980 /* 182243 */ // (smin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMINSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
63981 /* 182243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrm),
63982 /* 182246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63983 /* 182248 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
63984 /* 182250 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
63985 /* 182254 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63986 /* 182259 */ GIR_RootConstrainSelectedInstOperands,
63987 /* 182260 */ // GIR_Coverage, 23707,
63988 /* 182260 */ GIR_EraseRootFromParent_Done,
63989 /* 182261 */ // Label 5214: @182261
63990 /* 182261 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5215*/ GIMT_Encode4(182322), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24281 //
63991 /* 182268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63992 /* 182272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63993 /* 182276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63994 /* 182280 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63995 /* 182283 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63996 /* 182287 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63997 /* 182291 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63998 /* 182295 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63999 /* 182297 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64000 /* 182304 */ // (smin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMINSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64001 /* 182304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rm),
64002 /* 182307 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64003 /* 182309 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64004 /* 182311 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64005 /* 182315 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64006 /* 182320 */ GIR_RootConstrainSelectedInstOperands,
64007 /* 182321 */ // GIR_Coverage, 24281,
64008 /* 182321 */ GIR_EraseRootFromParent_Done,
64009 /* 182322 */ // Label 5215: @182322
64010 /* 182322 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5216*/ GIMT_Encode4(182383), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2629 //
64011 /* 182329 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64012 /* 182333 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64013 /* 182337 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64014 /* 182341 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64015 /* 182345 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64016 /* 182348 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64017 /* 182352 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64018 /* 182356 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64019 /* 182358 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64020 /* 182365 */ // (smin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64021 /* 182365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrm),
64022 /* 182368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64023 /* 182370 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64024 /* 182372 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64025 /* 182376 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64026 /* 182381 */ GIR_RootConstrainSelectedInstOperands,
64027 /* 182382 */ // GIR_Coverage, 2629,
64028 /* 182382 */ GIR_EraseRootFromParent_Done,
64029 /* 182383 */ // Label 5216: @182383
64030 /* 182383 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5217*/ GIMT_Encode4(182444), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5534 //
64031 /* 182390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64032 /* 182394 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64033 /* 182398 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64034 /* 182402 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64035 /* 182406 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64036 /* 182409 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64037 /* 182413 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64038 /* 182417 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64039 /* 182419 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64040 /* 182426 */ // (smin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64041 /* 182426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rm),
64042 /* 182429 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64043 /* 182431 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64044 /* 182433 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64045 /* 182437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64046 /* 182442 */ GIR_RootConstrainSelectedInstOperands,
64047 /* 182443 */ // GIR_Coverage, 5534,
64048 /* 182443 */ GIR_EraseRootFromParent_Done,
64049 /* 182444 */ // Label 5217: @182444
64050 /* 182444 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5218*/ GIMT_Encode4(182470), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2628 //
64051 /* 182451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64052 /* 182455 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64053 /* 182459 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64054 /* 182463 */ // (smin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMINSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
64055 /* 182463 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrr),
64056 /* 182468 */ GIR_RootConstrainSelectedInstOperands,
64057 /* 182469 */ // GIR_Coverage, 2628,
64058 /* 182469 */ GIR_Done,
64059 /* 182470 */ // Label 5218: @182470
64060 /* 182470 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5219*/ GIMT_Encode4(182496), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5531 //
64061 /* 182477 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64062 /* 182481 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64063 /* 182485 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64064 /* 182489 */ // (smin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMINSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
64065 /* 182489 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rr),
64066 /* 182494 */ GIR_RootConstrainSelectedInstOperands,
64067 /* 182495 */ // GIR_Coverage, 5531,
64068 /* 182495 */ GIR_Done,
64069 /* 182496 */ // Label 5219: @182496
64070 /* 182496 */ GIM_Reject,
64071 /* 182497 */ // Label 5213: @182497
64072 /* 182497 */ GIM_Reject,
64073 /* 182498 */ // Label 5175: @182498
64074 /* 182498 */ GIM_Try, /*On fail goto*//*Label 5220*/ GIMT_Encode4(182652),
64075 /* 182503 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
64076 /* 182506 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
64077 /* 182509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64078 /* 182513 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5221*/ GIMT_Encode4(182570), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24278 //
64079 /* 182520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64080 /* 182524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64081 /* 182528 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64082 /* 182531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64083 /* 182535 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64084 /* 182539 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64085 /* 182543 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64086 /* 182545 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64087 /* 182552 */ // (smin:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMINSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64088 /* 182552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrm),
64089 /* 182555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64090 /* 182557 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64091 /* 182559 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64092 /* 182563 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64093 /* 182568 */ GIR_RootConstrainSelectedInstOperands,
64094 /* 182569 */ // GIR_Coverage, 24278,
64095 /* 182569 */ GIR_EraseRootFromParent_Done,
64096 /* 182570 */ // Label 5221: @182570
64097 /* 182570 */ GIM_Try, /*On fail goto*//*Label 5222*/ GIMT_Encode4(182651),
64098 /* 182575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64099 /* 182579 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5223*/ GIMT_Encode4(182632), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5528 //
64100 /* 182586 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64101 /* 182590 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64102 /* 182594 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64103 /* 182597 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64104 /* 182601 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64105 /* 182605 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64106 /* 182607 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64107 /* 182614 */ // (smin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64108 /* 182614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrm),
64109 /* 182617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64110 /* 182619 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64111 /* 182621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64112 /* 182625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64113 /* 182630 */ GIR_RootConstrainSelectedInstOperands,
64114 /* 182631 */ // GIR_Coverage, 5528,
64115 /* 182631 */ GIR_EraseRootFromParent_Done,
64116 /* 182632 */ // Label 5223: @182632
64117 /* 182632 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5224*/ GIMT_Encode4(182650), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5525 //
64118 /* 182639 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64119 /* 182643 */ // (smin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMINSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
64120 /* 182643 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrr),
64121 /* 182648 */ GIR_RootConstrainSelectedInstOperands,
64122 /* 182649 */ // GIR_Coverage, 5525,
64123 /* 182649 */ GIR_Done,
64124 /* 182650 */ // Label 5224: @182650
64125 /* 182650 */ GIM_Reject,
64126 /* 182651 */ // Label 5222: @182651
64127 /* 182651 */ GIM_Reject,
64128 /* 182652 */ // Label 5220: @182652
64129 /* 182652 */ GIM_Reject,
64130 /* 182653 */ // Label 5176: @182653
64131 /* 182653 */ GIM_Try, /*On fail goto*//*Label 5225*/ GIMT_Encode4(182981),
64132 /* 182658 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64133 /* 182661 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
64134 /* 182664 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5226*/ GIMT_Encode4(182725), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23741 //
64135 /* 182671 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64136 /* 182675 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64137 /* 182679 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64138 /* 182683 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64139 /* 182686 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64140 /* 182690 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64141 /* 182694 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64142 /* 182698 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64143 /* 182700 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64144 /* 182707 */ // (smin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMINSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64145 /* 182707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDrm),
64146 /* 182710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64147 /* 182712 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64148 /* 182714 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64149 /* 182718 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64150 /* 182723 */ GIR_RootConstrainSelectedInstOperands,
64151 /* 182724 */ // GIR_Coverage, 23741,
64152 /* 182724 */ GIR_EraseRootFromParent_Done,
64153 /* 182725 */ // Label 5226: @182725
64154 /* 182725 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5227*/ GIMT_Encode4(182786), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24299 //
64155 /* 182732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64156 /* 182736 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64157 /* 182740 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64158 /* 182744 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64159 /* 182747 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64160 /* 182751 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64161 /* 182755 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64162 /* 182759 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64163 /* 182761 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64164 /* 182768 */ // (smin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMINSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64165 /* 182768 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rm),
64166 /* 182771 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64167 /* 182773 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64168 /* 182775 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64169 /* 182779 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64170 /* 182784 */ GIR_RootConstrainSelectedInstOperands,
64171 /* 182785 */ // GIR_Coverage, 24299,
64172 /* 182785 */ GIR_EraseRootFromParent_Done,
64173 /* 182786 */ // Label 5227: @182786
64174 /* 182786 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5228*/ GIMT_Encode4(182847), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3174 //
64175 /* 182793 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64176 /* 182797 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64177 /* 182801 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64178 /* 182805 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64179 /* 182809 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64180 /* 182812 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64181 /* 182816 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64182 /* 182820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64183 /* 182822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64184 /* 182829 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64185 /* 182829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDrm),
64186 /* 182832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64187 /* 182834 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64188 /* 182836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64189 /* 182840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64190 /* 182845 */ GIR_RootConstrainSelectedInstOperands,
64191 /* 182846 */ // GIR_Coverage, 3174,
64192 /* 182846 */ GIR_EraseRootFromParent_Done,
64193 /* 182847 */ // Label 5228: @182847
64194 /* 182847 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5229*/ GIMT_Encode4(182908), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5564 //
64195 /* 182854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64196 /* 182858 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64197 /* 182862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64198 /* 182866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64199 /* 182870 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64200 /* 182873 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64201 /* 182877 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64202 /* 182881 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64203 /* 182883 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64204 /* 182890 */ // (smin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64205 /* 182890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rm),
64206 /* 182893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64207 /* 182895 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64208 /* 182897 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64209 /* 182901 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64210 /* 182906 */ GIR_RootConstrainSelectedInstOperands,
64211 /* 182907 */ // GIR_Coverage, 5564,
64212 /* 182907 */ GIR_EraseRootFromParent_Done,
64213 /* 182908 */ // Label 5229: @182908
64214 /* 182908 */ GIM_Try, /*On fail goto*//*Label 5230*/ GIMT_Encode4(182954),
64215 /* 182913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64216 /* 182917 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64217 /* 182921 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64218 /* 182925 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5231*/ GIMT_Encode4(182939), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3173 //
64219 /* 182932 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMINSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
64220 /* 182932 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDrr),
64221 /* 182937 */ GIR_RootConstrainSelectedInstOperands,
64222 /* 182938 */ // GIR_Coverage, 3173,
64223 /* 182938 */ GIR_Done,
64224 /* 182939 */ // Label 5231: @182939
64225 /* 182939 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5232*/ GIMT_Encode4(182953), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3211 //
64226 /* 182946 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMINSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
64227 /* 182946 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSDrr),
64228 /* 182951 */ GIR_RootConstrainSelectedInstOperands,
64229 /* 182952 */ // GIR_Coverage, 3211,
64230 /* 182952 */ GIR_Done,
64231 /* 182953 */ // Label 5232: @182953
64232 /* 182953 */ GIM_Reject,
64233 /* 182954 */ // Label 5230: @182954
64234 /* 182954 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5233*/ GIMT_Encode4(182980), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5561 //
64235 /* 182961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64236 /* 182965 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64237 /* 182969 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64238 /* 182973 */ // (smin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMINSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
64239 /* 182973 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rr),
64240 /* 182978 */ GIR_RootConstrainSelectedInstOperands,
64241 /* 182979 */ // GIR_Coverage, 5561,
64242 /* 182979 */ GIR_Done,
64243 /* 182980 */ // Label 5233: @182980
64244 /* 182980 */ GIM_Reject,
64245 /* 182981 */ // Label 5225: @182981
64246 /* 182981 */ GIM_Reject,
64247 /* 182982 */ // Label 5177: @182982
64248 /* 182982 */ GIM_Try, /*On fail goto*//*Label 5234*/ GIMT_Encode4(183290),
64249 /* 182987 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64250 /* 182990 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
64251 /* 182993 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5235*/ GIMT_Encode4(183054), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23750 //
64252 /* 183000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64253 /* 183004 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64254 /* 183008 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64255 /* 183012 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64256 /* 183015 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64257 /* 183019 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64258 /* 183023 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64259 /* 183027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64260 /* 183029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64261 /* 183036 */ // (smin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMINSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64262 /* 183036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrm),
64263 /* 183039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64264 /* 183041 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64265 /* 183043 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64266 /* 183047 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64267 /* 183052 */ GIR_RootConstrainSelectedInstOperands,
64268 /* 183053 */ // GIR_Coverage, 23750,
64269 /* 183053 */ GIR_EraseRootFromParent_Done,
64270 /* 183054 */ // Label 5235: @183054
64271 /* 183054 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5236*/ GIMT_Encode4(183115), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24293 //
64272 /* 183061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64273 /* 183065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64274 /* 183069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64275 /* 183073 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64276 /* 183076 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64277 /* 183080 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64278 /* 183084 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64279 /* 183088 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64280 /* 183090 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64281 /* 183097 */ // (smin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMINSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64282 /* 183097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rm),
64283 /* 183100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64284 /* 183102 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64285 /* 183104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64286 /* 183108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64287 /* 183113 */ GIR_RootConstrainSelectedInstOperands,
64288 /* 183114 */ // GIR_Coverage, 24293,
64289 /* 183114 */ GIR_EraseRootFromParent_Done,
64290 /* 183115 */ // Label 5236: @183115
64291 /* 183115 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5237*/ GIMT_Encode4(183176), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3192 //
64292 /* 183122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64293 /* 183126 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64294 /* 183130 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64295 /* 183134 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64296 /* 183138 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64297 /* 183141 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64298 /* 183145 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64299 /* 183149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64300 /* 183151 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64301 /* 183158 */ // (smin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64302 /* 183158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrm),
64303 /* 183161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64304 /* 183163 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64305 /* 183165 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64306 /* 183169 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64307 /* 183174 */ GIR_RootConstrainSelectedInstOperands,
64308 /* 183175 */ // GIR_Coverage, 3192,
64309 /* 183175 */ GIR_EraseRootFromParent_Done,
64310 /* 183176 */ // Label 5237: @183176
64311 /* 183176 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5238*/ GIMT_Encode4(183237), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5555 //
64312 /* 183183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64313 /* 183187 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64314 /* 183191 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64315 /* 183195 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64316 /* 183199 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64317 /* 183202 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64318 /* 183206 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64319 /* 183210 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64320 /* 183212 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64321 /* 183219 */ // (smin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64322 /* 183219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rm),
64323 /* 183222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64324 /* 183224 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64325 /* 183226 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64326 /* 183230 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64327 /* 183235 */ GIR_RootConstrainSelectedInstOperands,
64328 /* 183236 */ // GIR_Coverage, 5555,
64329 /* 183236 */ GIR_EraseRootFromParent_Done,
64330 /* 183237 */ // Label 5238: @183237
64331 /* 183237 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5239*/ GIMT_Encode4(183263), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3191 //
64332 /* 183244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64333 /* 183248 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64334 /* 183252 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64335 /* 183256 */ // (smin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMINSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
64336 /* 183256 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrr),
64337 /* 183261 */ GIR_RootConstrainSelectedInstOperands,
64338 /* 183262 */ // GIR_Coverage, 3191,
64339 /* 183262 */ GIR_Done,
64340 /* 183263 */ // Label 5239: @183263
64341 /* 183263 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5240*/ GIMT_Encode4(183289), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5552 //
64342 /* 183270 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64343 /* 183274 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64344 /* 183278 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64345 /* 183282 */ // (smin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMINSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
64346 /* 183282 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rr),
64347 /* 183287 */ GIR_RootConstrainSelectedInstOperands,
64348 /* 183288 */ // GIR_Coverage, 5552,
64349 /* 183288 */ GIR_Done,
64350 /* 183289 */ // Label 5240: @183289
64351 /* 183289 */ GIM_Reject,
64352 /* 183290 */ // Label 5234: @183290
64353 /* 183290 */ GIM_Reject,
64354 /* 183291 */ // Label 5178: @183291
64355 /* 183291 */ GIM_Try, /*On fail goto*//*Label 5241*/ GIMT_Encode4(183445),
64356 /* 183296 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
64357 /* 183299 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
64358 /* 183302 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64359 /* 183306 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5242*/ GIMT_Encode4(183363), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24287 //
64360 /* 183313 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64361 /* 183317 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64362 /* 183321 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64363 /* 183324 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64364 /* 183328 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64365 /* 183332 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64366 /* 183336 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64367 /* 183338 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64368 /* 183345 */ // (smin:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMINSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64369 /* 183345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrm),
64370 /* 183348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64371 /* 183350 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64372 /* 183352 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64373 /* 183356 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64374 /* 183361 */ GIR_RootConstrainSelectedInstOperands,
64375 /* 183362 */ // GIR_Coverage, 24287,
64376 /* 183362 */ GIR_EraseRootFromParent_Done,
64377 /* 183363 */ // Label 5242: @183363
64378 /* 183363 */ GIM_Try, /*On fail goto*//*Label 5243*/ GIMT_Encode4(183444),
64379 /* 183368 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64380 /* 183372 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5244*/ GIMT_Encode4(183425), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5546 //
64381 /* 183379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64382 /* 183383 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64383 /* 183387 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64384 /* 183390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64385 /* 183394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64386 /* 183398 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64387 /* 183400 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64388 /* 183407 */ // (smin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64389 /* 183407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrm),
64390 /* 183410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64391 /* 183412 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64392 /* 183414 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64393 /* 183418 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64394 /* 183423 */ GIR_RootConstrainSelectedInstOperands,
64395 /* 183424 */ // GIR_Coverage, 5546,
64396 /* 183424 */ GIR_EraseRootFromParent_Done,
64397 /* 183425 */ // Label 5244: @183425
64398 /* 183425 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5245*/ GIMT_Encode4(183443), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5543 //
64399 /* 183432 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64400 /* 183436 */ // (smin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMINSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
64401 /* 183436 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrr),
64402 /* 183441 */ GIR_RootConstrainSelectedInstOperands,
64403 /* 183442 */ // GIR_Coverage, 5543,
64404 /* 183442 */ GIR_Done,
64405 /* 183443 */ // Label 5245: @183443
64406 /* 183443 */ GIM_Reject,
64407 /* 183444 */ // Label 5243: @183444
64408 /* 183444 */ GIM_Reject,
64409 /* 183445 */ // Label 5241: @183445
64410 /* 183445 */ GIM_Reject,
64411 /* 183446 */ // Label 5179: @183446
64412 /* 183446 */ GIM_Try, /*On fail goto*//*Label 5246*/ GIMT_Encode4(183770),
64413 /* 183451 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
64414 /* 183454 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
64415 /* 183457 */ GIM_Try, /*On fail goto*//*Label 5247*/ GIMT_Encode4(183605),
64416 /* 183462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64417 /* 183466 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5248*/ GIMT_Encode4(183523), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24317 //
64418 /* 183473 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64419 /* 183477 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64420 /* 183481 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64421 /* 183484 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64422 /* 183488 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64423 /* 183492 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64424 /* 183496 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64425 /* 183498 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64426 /* 183505 */ // (smin:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMINSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64427 /* 183505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rm),
64428 /* 183508 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64429 /* 183510 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64430 /* 183512 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64431 /* 183516 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64432 /* 183521 */ GIR_RootConstrainSelectedInstOperands,
64433 /* 183522 */ // GIR_Coverage, 24317,
64434 /* 183522 */ GIR_EraseRootFromParent_Done,
64435 /* 183523 */ // Label 5248: @183523
64436 /* 183523 */ GIM_Try, /*On fail goto*//*Label 5249*/ GIMT_Encode4(183604),
64437 /* 183528 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64438 /* 183532 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5250*/ GIMT_Encode4(183585), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5591 //
64439 /* 183539 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64440 /* 183543 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64441 /* 183547 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64442 /* 183550 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64443 /* 183554 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64444 /* 183558 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64445 /* 183560 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64446 /* 183567 */ // (smin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64447 /* 183567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rm),
64448 /* 183570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64449 /* 183572 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64450 /* 183574 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64451 /* 183578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64452 /* 183583 */ GIR_RootConstrainSelectedInstOperands,
64453 /* 183584 */ // GIR_Coverage, 5591,
64454 /* 183584 */ GIR_EraseRootFromParent_Done,
64455 /* 183585 */ // Label 5250: @183585
64456 /* 183585 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5251*/ GIMT_Encode4(183603), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5588 //
64457 /* 183592 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64458 /* 183596 */ // (smin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMINSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
64459 /* 183596 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rr),
64460 /* 183601 */ GIR_RootConstrainSelectedInstOperands,
64461 /* 183602 */ // GIR_Coverage, 5588,
64462 /* 183602 */ GIR_Done,
64463 /* 183603 */ // Label 5251: @183603
64464 /* 183603 */ GIM_Reject,
64465 /* 183604 */ // Label 5249: @183604
64466 /* 183604 */ GIM_Reject,
64467 /* 183605 */ // Label 5247: @183605
64468 /* 183605 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5252*/ GIMT_Encode4(183769), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20139 //
64469 /* 183612 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
64470 /* 183616 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64471 /* 183620 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64472 /* 183624 */ // (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] })
64473 /* 183624 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
64474 /* 183627 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64475 /* 183631 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64476 /* 183636 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
64477 /* 183638 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
64478 /* 183641 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
64479 /* 183645 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64480 /* 183650 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
64481 /* 183653 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
64482 /* 183657 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
64483 /* 183660 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
64484 /* 183665 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64485 /* 183670 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
64486 /* 183675 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
64487 /* 183678 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64488 /* 183682 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64489 /* 183687 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
64490 /* 183689 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
64491 /* 183692 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
64492 /* 183696 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64493 /* 183701 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
64494 /* 183704 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
64495 /* 183708 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
64496 /* 183711 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
64497 /* 183716 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64498 /* 183721 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
64499 /* 183726 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
64500 /* 183729 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
64501 /* 183733 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64502 /* 183738 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
64503 /* 183741 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
64504 /* 183744 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64505 /* 183746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
64506 /* 183749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64507 /* 183751 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
64508 /* 183758 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
64509 /* 183763 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64510 /* 183768 */ // GIR_Coverage, 20139,
64511 /* 183768 */ GIR_EraseRootFromParent_Done,
64512 /* 183769 */ // Label 5252: @183769
64513 /* 183769 */ GIM_Reject,
64514 /* 183770 */ // Label 5246: @183770
64515 /* 183770 */ GIM_Reject,
64516 /* 183771 */ // Label 5180: @183771
64517 /* 183771 */ GIM_Try, /*On fail goto*//*Label 5253*/ GIMT_Encode4(184083),
64518 /* 183776 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
64519 /* 183779 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
64520 /* 183782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64521 /* 183786 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5254*/ GIMT_Encode4(183843), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24311 //
64522 /* 183793 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64523 /* 183797 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64524 /* 183801 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64525 /* 183804 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64526 /* 183808 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64527 /* 183812 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64528 /* 183816 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64529 /* 183818 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64530 /* 183825 */ // (smin:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMINSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64531 /* 183825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rm),
64532 /* 183828 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64533 /* 183830 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64534 /* 183832 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64535 /* 183836 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64536 /* 183841 */ GIR_RootConstrainSelectedInstOperands,
64537 /* 183842 */ // GIR_Coverage, 24311,
64538 /* 183842 */ GIR_EraseRootFromParent_Done,
64539 /* 183843 */ // Label 5254: @183843
64540 /* 183843 */ GIM_Try, /*On fail goto*//*Label 5255*/ GIMT_Encode4(184082),
64541 /* 183848 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64542 /* 183852 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5256*/ GIMT_Encode4(183905), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5582 //
64543 /* 183859 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64544 /* 183863 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64545 /* 183867 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64546 /* 183870 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64547 /* 183874 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64548 /* 183878 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64549 /* 183880 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64550 /* 183887 */ // (smin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64551 /* 183887 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rm),
64552 /* 183890 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64553 /* 183892 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64554 /* 183894 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64555 /* 183898 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64556 /* 183903 */ GIR_RootConstrainSelectedInstOperands,
64557 /* 183904 */ // GIR_Coverage, 5582,
64558 /* 183904 */ GIR_EraseRootFromParent_Done,
64559 /* 183905 */ // Label 5256: @183905
64560 /* 183905 */ GIM_Try, /*On fail goto*//*Label 5257*/ GIMT_Encode4(184081),
64561 /* 183910 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64562 /* 183914 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5258*/ GIMT_Encode4(183928), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5579 //
64563 /* 183921 */ // (smin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMINSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
64564 /* 183921 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rr),
64565 /* 183926 */ GIR_RootConstrainSelectedInstOperands,
64566 /* 183927 */ // GIR_Coverage, 5579,
64567 /* 183927 */ GIR_Done,
64568 /* 183928 */ // Label 5258: @183928
64569 /* 183928 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5259*/ GIMT_Encode4(184080), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20138 //
64570 /* 183935 */ // (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] })
64571 /* 183935 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
64572 /* 183938 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64573 /* 183942 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64574 /* 183947 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
64575 /* 183949 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
64576 /* 183952 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
64577 /* 183956 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64578 /* 183961 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
64579 /* 183964 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
64580 /* 183968 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
64581 /* 183971 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
64582 /* 183976 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64583 /* 183981 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
64584 /* 183986 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
64585 /* 183989 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64586 /* 183993 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64587 /* 183998 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
64588 /* 184000 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
64589 /* 184003 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
64590 /* 184007 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64591 /* 184012 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
64592 /* 184015 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
64593 /* 184019 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
64594 /* 184022 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
64595 /* 184027 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64596 /* 184032 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
64597 /* 184037 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
64598 /* 184040 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
64599 /* 184044 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64600 /* 184049 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
64601 /* 184052 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
64602 /* 184055 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64603 /* 184057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
64604 /* 184060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64605 /* 184062 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
64606 /* 184069 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
64607 /* 184074 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64608 /* 184079 */ // GIR_Coverage, 20138,
64609 /* 184079 */ GIR_EraseRootFromParent_Done,
64610 /* 184080 */ // Label 5259: @184080
64611 /* 184080 */ GIM_Reject,
64612 /* 184081 */ // Label 5257: @184081
64613 /* 184081 */ GIM_Reject,
64614 /* 184082 */ // Label 5255: @184082
64615 /* 184082 */ GIM_Reject,
64616 /* 184083 */ // Label 5253: @184083
64617 /* 184083 */ GIM_Reject,
64618 /* 184084 */ // Label 5181: @184084
64619 /* 184084 */ GIM_Try, /*On fail goto*//*Label 5260*/ GIMT_Encode4(184238),
64620 /* 184089 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64621 /* 184092 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
64622 /* 184095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64623 /* 184099 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5261*/ GIMT_Encode4(184156), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24305 //
64624 /* 184106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64625 /* 184110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64626 /* 184114 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64627 /* 184117 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64628 /* 184121 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64629 /* 184125 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64630 /* 184129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64631 /* 184131 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64632 /* 184138 */ // (smin:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMINSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64633 /* 184138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrm),
64634 /* 184141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64635 /* 184143 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64636 /* 184145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64637 /* 184149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64638 /* 184154 */ GIR_RootConstrainSelectedInstOperands,
64639 /* 184155 */ // GIR_Coverage, 24305,
64640 /* 184155 */ GIR_EraseRootFromParent_Done,
64641 /* 184156 */ // Label 5261: @184156
64642 /* 184156 */ GIM_Try, /*On fail goto*//*Label 5262*/ GIMT_Encode4(184237),
64643 /* 184161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64644 /* 184165 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5263*/ GIMT_Encode4(184218), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5573 //
64645 /* 184172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64646 /* 184176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64647 /* 184180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64648 /* 184183 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64649 /* 184187 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64650 /* 184191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64651 /* 184193 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64652 /* 184200 */ // (smin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64653 /* 184200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrm),
64654 /* 184203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64655 /* 184205 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64656 /* 184207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64657 /* 184211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64658 /* 184216 */ GIR_RootConstrainSelectedInstOperands,
64659 /* 184217 */ // GIR_Coverage, 5573,
64660 /* 184217 */ GIR_EraseRootFromParent_Done,
64661 /* 184218 */ // Label 5263: @184218
64662 /* 184218 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5264*/ GIMT_Encode4(184236), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5570 //
64663 /* 184225 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64664 /* 184229 */ // (smin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMINSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
64665 /* 184229 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
64666 /* 184234 */ GIR_RootConstrainSelectedInstOperands,
64667 /* 184235 */ // GIR_Coverage, 5570,
64668 /* 184235 */ GIR_Done,
64669 /* 184236 */ // Label 5264: @184236
64670 /* 184236 */ GIM_Reject,
64671 /* 184237 */ // Label 5262: @184237
64672 /* 184237 */ GIM_Reject,
64673 /* 184238 */ // Label 5260: @184238
64674 /* 184238 */ GIM_Reject,
64675 /* 184239 */ // Label 5182: @184239
64676 /* 184239 */ GIM_Reject,
64677 /* 184240 */ // Label 60: @184240
64678 /* 184240 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 5277*/ GIMT_Encode4(187471),
64679 /* 184251 */ /*GILLT_v16s8*//*Label 5265*/ GIMT_Encode4(184299),
64680 /* 184255 */ /*GILLT_v32s8*//*Label 5266*/ GIMT_Encode4(184628),
64681 /* 184259 */ /*GILLT_v64s8*//*Label 5267*/ GIMT_Encode4(184937),
64682 /* 184263 */ /*GILLT_v8s16*//*Label 5268*/ GIMT_Encode4(185092),
64683 /* 184267 */ /*GILLT_v16s16*//*Label 5269*/ GIMT_Encode4(185421),
64684 /* 184271 */ /*GILLT_v32s16*//*Label 5270*/ GIMT_Encode4(185730),
64685 /* 184275 */ /*GILLT_v4s32*//*Label 5271*/ GIMT_Encode4(185885),
64686 /* 184279 */ /*GILLT_v8s32*//*Label 5272*/ GIMT_Encode4(186214),
64687 /* 184283 */ /*GILLT_v16s32*//*Label 5273*/ GIMT_Encode4(186523),
64688 /* 184287 */ /*GILLT_v2s64*//*Label 5274*/ GIMT_Encode4(186678),
64689 /* 184291 */ /*GILLT_v4s64*//*Label 5275*/ GIMT_Encode4(187003),
64690 /* 184295 */ /*GILLT_v8s64*//*Label 5276*/ GIMT_Encode4(187316),
64691 /* 184299 */ // Label 5265: @184299
64692 /* 184299 */ GIM_Try, /*On fail goto*//*Label 5278*/ GIMT_Encode4(184627),
64693 /* 184304 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
64694 /* 184307 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
64695 /* 184310 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5279*/ GIMT_Encode4(184371), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23748 //
64696 /* 184317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64697 /* 184321 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64698 /* 184325 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64699 /* 184329 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64700 /* 184332 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64701 /* 184336 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64702 /* 184340 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64703 /* 184344 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64704 /* 184346 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64705 /* 184353 */ // (smax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMAXSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64706 /* 184353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrm),
64707 /* 184356 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64708 /* 184358 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64709 /* 184360 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64710 /* 184364 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64711 /* 184369 */ GIR_RootConstrainSelectedInstOperands,
64712 /* 184370 */ // GIR_Coverage, 23748,
64713 /* 184370 */ GIR_EraseRootFromParent_Done,
64714 /* 184371 */ // Label 5279: @184371
64715 /* 184371 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5280*/ GIMT_Encode4(184432), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24167 //
64716 /* 184378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64717 /* 184382 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64718 /* 184386 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64719 /* 184390 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64720 /* 184393 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64721 /* 184397 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64722 /* 184401 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64723 /* 184405 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64724 /* 184407 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64725 /* 184414 */ // (smax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMAXSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64726 /* 184414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rm),
64727 /* 184417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64728 /* 184419 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64729 /* 184421 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64730 /* 184425 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64731 /* 184430 */ GIR_RootConstrainSelectedInstOperands,
64732 /* 184431 */ // GIR_Coverage, 24167,
64733 /* 184431 */ GIR_EraseRootFromParent_Done,
64734 /* 184432 */ // Label 5280: @184432
64735 /* 184432 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5281*/ GIMT_Encode4(184493), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 3188 //
64736 /* 184439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64737 /* 184443 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64738 /* 184447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64739 /* 184451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64740 /* 184455 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64741 /* 184458 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64742 /* 184462 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64743 /* 184466 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64744 /* 184468 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64745 /* 184475 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64746 /* 184475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrm),
64747 /* 184478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64748 /* 184480 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64749 /* 184482 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64750 /* 184486 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64751 /* 184491 */ GIR_RootConstrainSelectedInstOperands,
64752 /* 184492 */ // GIR_Coverage, 3188,
64753 /* 184492 */ GIR_EraseRootFromParent_Done,
64754 /* 184493 */ // Label 5281: @184493
64755 /* 184493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5282*/ GIMT_Encode4(184554), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5342 //
64756 /* 184500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64757 /* 184504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64758 /* 184508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64759 /* 184512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64760 /* 184516 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64761 /* 184519 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64762 /* 184523 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64763 /* 184527 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64764 /* 184529 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64765 /* 184536 */ // (smax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64766 /* 184536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rm),
64767 /* 184539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64768 /* 184541 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64769 /* 184543 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64770 /* 184547 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64771 /* 184552 */ GIR_RootConstrainSelectedInstOperands,
64772 /* 184553 */ // GIR_Coverage, 5342,
64773 /* 184553 */ GIR_EraseRootFromParent_Done,
64774 /* 184554 */ // Label 5282: @184554
64775 /* 184554 */ GIM_Try, /*On fail goto*//*Label 5283*/ GIMT_Encode4(184600),
64776 /* 184559 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64777 /* 184563 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64778 /* 184567 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64779 /* 184571 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5284*/ GIMT_Encode4(184585), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 3187 //
64780 /* 184578 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMAXSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
64781 /* 184578 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrr),
64782 /* 184583 */ GIR_RootConstrainSelectedInstOperands,
64783 /* 184584 */ // GIR_Coverage, 3187,
64784 /* 184584 */ GIR_Done,
64785 /* 184585 */ // Label 5284: @184585
64786 /* 184585 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5285*/ GIMT_Encode4(184599), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3217 //
64787 /* 184592 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMAXSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
64788 /* 184592 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSBrr),
64789 /* 184597 */ GIR_RootConstrainSelectedInstOperands,
64790 /* 184598 */ // GIR_Coverage, 3217,
64791 /* 184598 */ GIR_Done,
64792 /* 184599 */ // Label 5285: @184599
64793 /* 184599 */ GIM_Reject,
64794 /* 184600 */ // Label 5283: @184600
64795 /* 184600 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5286*/ GIMT_Encode4(184626), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5339 //
64796 /* 184607 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64797 /* 184611 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64798 /* 184615 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64799 /* 184619 */ // (smax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMAXSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
64800 /* 184619 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rr),
64801 /* 184624 */ GIR_RootConstrainSelectedInstOperands,
64802 /* 184625 */ // GIR_Coverage, 5339,
64803 /* 184625 */ GIR_Done,
64804 /* 184626 */ // Label 5286: @184626
64805 /* 184626 */ GIM_Reject,
64806 /* 184627 */ // Label 5278: @184627
64807 /* 184627 */ GIM_Reject,
64808 /* 184628 */ // Label 5266: @184628
64809 /* 184628 */ GIM_Try, /*On fail goto*//*Label 5287*/ GIMT_Encode4(184936),
64810 /* 184633 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
64811 /* 184636 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
64812 /* 184639 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5288*/ GIMT_Encode4(184700), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23757 //
64813 /* 184646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64814 /* 184650 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64815 /* 184654 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64816 /* 184658 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64817 /* 184661 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64818 /* 184665 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64819 /* 184669 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64820 /* 184673 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64821 /* 184675 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64822 /* 184682 */ // (smax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMAXSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64823 /* 184682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrm),
64824 /* 184685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64825 /* 184687 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64826 /* 184689 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64827 /* 184693 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64828 /* 184698 */ GIR_RootConstrainSelectedInstOperands,
64829 /* 184699 */ // GIR_Coverage, 23757,
64830 /* 184699 */ GIR_EraseRootFromParent_Done,
64831 /* 184700 */ // Label 5288: @184700
64832 /* 184700 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5289*/ GIMT_Encode4(184761), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24164 //
64833 /* 184707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64834 /* 184711 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64835 /* 184715 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64836 /* 184719 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64837 /* 184722 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64838 /* 184726 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64839 /* 184730 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64840 /* 184734 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64841 /* 184736 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64842 /* 184743 */ // (smax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMAXSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64843 /* 184743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rm),
64844 /* 184746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64845 /* 184748 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64846 /* 184750 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64847 /* 184754 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64848 /* 184759 */ GIR_RootConstrainSelectedInstOperands,
64849 /* 184760 */ // GIR_Coverage, 24164,
64850 /* 184760 */ GIR_EraseRootFromParent_Done,
64851 /* 184761 */ // Label 5289: @184761
64852 /* 184761 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5290*/ GIMT_Encode4(184822), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 3206 //
64853 /* 184768 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64854 /* 184772 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64855 /* 184776 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64856 /* 184780 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64857 /* 184784 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64858 /* 184787 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64859 /* 184791 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64860 /* 184795 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64861 /* 184797 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64862 /* 184804 */ // (smax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64863 /* 184804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrm),
64864 /* 184807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64865 /* 184809 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64866 /* 184811 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64867 /* 184815 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64868 /* 184820 */ GIR_RootConstrainSelectedInstOperands,
64869 /* 184821 */ // GIR_Coverage, 3206,
64870 /* 184821 */ GIR_EraseRootFromParent_Done,
64871 /* 184822 */ // Label 5290: @184822
64872 /* 184822 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5291*/ GIMT_Encode4(184883), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5336 //
64873 /* 184829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64874 /* 184833 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64875 /* 184837 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64876 /* 184841 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64877 /* 184845 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64878 /* 184848 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64879 /* 184852 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64880 /* 184856 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64881 /* 184858 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64882 /* 184865 */ // (smax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64883 /* 184865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rm),
64884 /* 184868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64885 /* 184870 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64886 /* 184872 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64887 /* 184876 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64888 /* 184881 */ GIR_RootConstrainSelectedInstOperands,
64889 /* 184882 */ // GIR_Coverage, 5336,
64890 /* 184882 */ GIR_EraseRootFromParent_Done,
64891 /* 184883 */ // Label 5291: @184883
64892 /* 184883 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5292*/ GIMT_Encode4(184909), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 3205 //
64893 /* 184890 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64894 /* 184894 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64895 /* 184898 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64896 /* 184902 */ // (smax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMAXSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
64897 /* 184902 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrr),
64898 /* 184907 */ GIR_RootConstrainSelectedInstOperands,
64899 /* 184908 */ // GIR_Coverage, 3205,
64900 /* 184908 */ GIR_Done,
64901 /* 184909 */ // Label 5292: @184909
64902 /* 184909 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5293*/ GIMT_Encode4(184935), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5333 //
64903 /* 184916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64904 /* 184920 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64905 /* 184924 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64906 /* 184928 */ // (smax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMAXSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
64907 /* 184928 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rr),
64908 /* 184933 */ GIR_RootConstrainSelectedInstOperands,
64909 /* 184934 */ // GIR_Coverage, 5333,
64910 /* 184934 */ GIR_Done,
64911 /* 184935 */ // Label 5293: @184935
64912 /* 184935 */ GIM_Reject,
64913 /* 184936 */ // Label 5287: @184936
64914 /* 184936 */ GIM_Reject,
64915 /* 184937 */ // Label 5267: @184937
64916 /* 184937 */ GIM_Try, /*On fail goto*//*Label 5294*/ GIMT_Encode4(185091),
64917 /* 184942 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
64918 /* 184945 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
64919 /* 184948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64920 /* 184952 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5295*/ GIMT_Encode4(185009), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24161 //
64921 /* 184959 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64922 /* 184963 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64923 /* 184967 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64924 /* 184970 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64925 /* 184974 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64926 /* 184978 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64927 /* 184982 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64928 /* 184984 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64929 /* 184991 */ // (smax:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMAXSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64930 /* 184991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrm),
64931 /* 184994 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64932 /* 184996 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64933 /* 184998 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64934 /* 185002 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64935 /* 185007 */ GIR_RootConstrainSelectedInstOperands,
64936 /* 185008 */ // GIR_Coverage, 24161,
64937 /* 185008 */ GIR_EraseRootFromParent_Done,
64938 /* 185009 */ // Label 5295: @185009
64939 /* 185009 */ GIM_Try, /*On fail goto*//*Label 5296*/ GIMT_Encode4(185090),
64940 /* 185014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64941 /* 185018 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5297*/ GIMT_Encode4(185071), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5330 //
64942 /* 185025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64943 /* 185029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64944 /* 185033 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64945 /* 185036 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64946 /* 185040 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64947 /* 185044 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64948 /* 185046 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64949 /* 185053 */ // (smax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64950 /* 185053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrm),
64951 /* 185056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64952 /* 185058 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64953 /* 185060 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64954 /* 185064 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64955 /* 185069 */ GIR_RootConstrainSelectedInstOperands,
64956 /* 185070 */ // GIR_Coverage, 5330,
64957 /* 185070 */ GIR_EraseRootFromParent_Done,
64958 /* 185071 */ // Label 5297: @185071
64959 /* 185071 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5298*/ GIMT_Encode4(185089), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5327 //
64960 /* 185078 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64961 /* 185082 */ // (smax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMAXSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
64962 /* 185082 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrr),
64963 /* 185087 */ GIR_RootConstrainSelectedInstOperands,
64964 /* 185088 */ // GIR_Coverage, 5327,
64965 /* 185088 */ GIR_Done,
64966 /* 185089 */ // Label 5298: @185089
64967 /* 185089 */ GIM_Reject,
64968 /* 185090 */ // Label 5296: @185090
64969 /* 185090 */ GIM_Reject,
64970 /* 185091 */ // Label 5294: @185091
64971 /* 185091 */ GIM_Reject,
64972 /* 185092 */ // Label 5268: @185092
64973 /* 185092 */ GIM_Try, /*On fail goto*//*Label 5299*/ GIMT_Encode4(185420),
64974 /* 185097 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
64975 /* 185100 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
64976 /* 185103 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5300*/ GIMT_Encode4(185164), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23711 //
64977 /* 185110 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64978 /* 185114 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64979 /* 185118 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64980 /* 185122 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64981 /* 185125 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64982 /* 185129 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64983 /* 185133 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64984 /* 185137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64985 /* 185139 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64986 /* 185146 */ // (smax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMAXSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64987 /* 185146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrm),
64988 /* 185149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64989 /* 185151 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64990 /* 185153 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64991 /* 185157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64992 /* 185162 */ GIR_RootConstrainSelectedInstOperands,
64993 /* 185163 */ // GIR_Coverage, 23711,
64994 /* 185163 */ GIR_EraseRootFromParent_Done,
64995 /* 185164 */ // Label 5300: @185164
64996 /* 185164 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5301*/ GIMT_Encode4(185225), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24176 //
64997 /* 185171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64998 /* 185175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64999 /* 185179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65000 /* 185183 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65001 /* 185186 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65002 /* 185190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65003 /* 185194 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65004 /* 185198 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65005 /* 185200 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65006 /* 185207 */ // (smax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMAXSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65007 /* 185207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rm),
65008 /* 185210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65009 /* 185212 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65010 /* 185214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65011 /* 185218 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65012 /* 185223 */ GIR_RootConstrainSelectedInstOperands,
65013 /* 185224 */ // GIR_Coverage, 24176,
65014 /* 185224 */ GIR_EraseRootFromParent_Done,
65015 /* 185225 */ // Label 5301: @185225
65016 /* 185225 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5302*/ GIMT_Encode4(185286), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2637 //
65017 /* 185232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65018 /* 185236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65019 /* 185240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65020 /* 185244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65021 /* 185248 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65022 /* 185251 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65023 /* 185255 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65024 /* 185259 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65025 /* 185261 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65026 /* 185268 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65027 /* 185268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrm),
65028 /* 185271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65029 /* 185273 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65030 /* 185275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65031 /* 185279 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65032 /* 185284 */ GIR_RootConstrainSelectedInstOperands,
65033 /* 185285 */ // GIR_Coverage, 2637,
65034 /* 185285 */ GIR_EraseRootFromParent_Done,
65035 /* 185286 */ // Label 5302: @185286
65036 /* 185286 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5303*/ GIMT_Encode4(185347), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5360 //
65037 /* 185293 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65038 /* 185297 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65039 /* 185301 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65040 /* 185305 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65041 /* 185309 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65042 /* 185312 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65043 /* 185316 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65044 /* 185320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65045 /* 185322 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65046 /* 185329 */ // (smax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65047 /* 185329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rm),
65048 /* 185332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65049 /* 185334 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65050 /* 185336 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65051 /* 185340 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65052 /* 185345 */ GIR_RootConstrainSelectedInstOperands,
65053 /* 185346 */ // GIR_Coverage, 5360,
65054 /* 185346 */ GIR_EraseRootFromParent_Done,
65055 /* 185347 */ // Label 5303: @185347
65056 /* 185347 */ GIM_Try, /*On fail goto*//*Label 5304*/ GIMT_Encode4(185393),
65057 /* 185352 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65058 /* 185356 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65059 /* 185360 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65060 /* 185364 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5305*/ GIMT_Encode4(185378), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2636 //
65061 /* 185371 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMAXSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
65062 /* 185371 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrr),
65063 /* 185376 */ GIR_RootConstrainSelectedInstOperands,
65064 /* 185377 */ // GIR_Coverage, 2636,
65065 /* 185377 */ GIR_Done,
65066 /* 185378 */ // Label 5305: @185378
65067 /* 185378 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5306*/ GIMT_Encode4(185392), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2638 //
65068 /* 185385 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMAXSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
65069 /* 185385 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSWrr),
65070 /* 185390 */ GIR_RootConstrainSelectedInstOperands,
65071 /* 185391 */ // GIR_Coverage, 2638,
65072 /* 185391 */ GIR_Done,
65073 /* 185392 */ // Label 5306: @185392
65074 /* 185392 */ GIM_Reject,
65075 /* 185393 */ // Label 5304: @185393
65076 /* 185393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5307*/ GIMT_Encode4(185419), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5357 //
65077 /* 185400 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65078 /* 185404 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65079 /* 185408 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65080 /* 185412 */ // (smax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMAXSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
65081 /* 185412 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rr),
65082 /* 185417 */ GIR_RootConstrainSelectedInstOperands,
65083 /* 185418 */ // GIR_Coverage, 5357,
65084 /* 185418 */ GIR_Done,
65085 /* 185419 */ // Label 5307: @185419
65086 /* 185419 */ GIM_Reject,
65087 /* 185420 */ // Label 5299: @185420
65088 /* 185420 */ GIM_Reject,
65089 /* 185421 */ // Label 5269: @185421
65090 /* 185421 */ GIM_Try, /*On fail goto*//*Label 5308*/ GIMT_Encode4(185729),
65091 /* 185426 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
65092 /* 185429 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
65093 /* 185432 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5309*/ GIMT_Encode4(185493), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23713 //
65094 /* 185439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65095 /* 185443 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65096 /* 185447 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65097 /* 185451 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65098 /* 185454 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65099 /* 185458 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65100 /* 185462 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65101 /* 185466 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65102 /* 185468 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65103 /* 185475 */ // (smax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMAXSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65104 /* 185475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrm),
65105 /* 185478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65106 /* 185480 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65107 /* 185482 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65108 /* 185486 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65109 /* 185491 */ GIR_RootConstrainSelectedInstOperands,
65110 /* 185492 */ // GIR_Coverage, 23713,
65111 /* 185492 */ GIR_EraseRootFromParent_Done,
65112 /* 185493 */ // Label 5309: @185493
65113 /* 185493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5310*/ GIMT_Encode4(185554), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24173 //
65114 /* 185500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65115 /* 185504 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65116 /* 185508 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65117 /* 185512 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65118 /* 185515 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65119 /* 185519 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65120 /* 185523 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65121 /* 185527 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65122 /* 185529 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65123 /* 185536 */ // (smax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMAXSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65124 /* 185536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rm),
65125 /* 185539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65126 /* 185541 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65127 /* 185543 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65128 /* 185547 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65129 /* 185552 */ GIR_RootConstrainSelectedInstOperands,
65130 /* 185553 */ // GIR_Coverage, 24173,
65131 /* 185553 */ GIR_EraseRootFromParent_Done,
65132 /* 185554 */ // Label 5310: @185554
65133 /* 185554 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5311*/ GIMT_Encode4(185615), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2641 //
65134 /* 185561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65135 /* 185565 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65136 /* 185569 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65137 /* 185573 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65138 /* 185577 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65139 /* 185580 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65140 /* 185584 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65141 /* 185588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65142 /* 185590 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65143 /* 185597 */ // (smax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65144 /* 185597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrm),
65145 /* 185600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65146 /* 185602 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65147 /* 185604 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65148 /* 185608 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65149 /* 185613 */ GIR_RootConstrainSelectedInstOperands,
65150 /* 185614 */ // GIR_Coverage, 2641,
65151 /* 185614 */ GIR_EraseRootFromParent_Done,
65152 /* 185615 */ // Label 5311: @185615
65153 /* 185615 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5312*/ GIMT_Encode4(185676), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5354 //
65154 /* 185622 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65155 /* 185626 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65156 /* 185630 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65157 /* 185634 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65158 /* 185638 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65159 /* 185641 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65160 /* 185645 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65161 /* 185649 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65162 /* 185651 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65163 /* 185658 */ // (smax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65164 /* 185658 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rm),
65165 /* 185661 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65166 /* 185663 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65167 /* 185665 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65168 /* 185669 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65169 /* 185674 */ GIR_RootConstrainSelectedInstOperands,
65170 /* 185675 */ // GIR_Coverage, 5354,
65171 /* 185675 */ GIR_EraseRootFromParent_Done,
65172 /* 185676 */ // Label 5312: @185676
65173 /* 185676 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5313*/ GIMT_Encode4(185702), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2640 //
65174 /* 185683 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65175 /* 185687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65176 /* 185691 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65177 /* 185695 */ // (smax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMAXSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
65178 /* 185695 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrr),
65179 /* 185700 */ GIR_RootConstrainSelectedInstOperands,
65180 /* 185701 */ // GIR_Coverage, 2640,
65181 /* 185701 */ GIR_Done,
65182 /* 185702 */ // Label 5313: @185702
65183 /* 185702 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5314*/ GIMT_Encode4(185728), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5351 //
65184 /* 185709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65185 /* 185713 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65186 /* 185717 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65187 /* 185721 */ // (smax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMAXSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
65188 /* 185721 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rr),
65189 /* 185726 */ GIR_RootConstrainSelectedInstOperands,
65190 /* 185727 */ // GIR_Coverage, 5351,
65191 /* 185727 */ GIR_Done,
65192 /* 185728 */ // Label 5314: @185728
65193 /* 185728 */ GIM_Reject,
65194 /* 185729 */ // Label 5308: @185729
65195 /* 185729 */ GIM_Reject,
65196 /* 185730 */ // Label 5270: @185730
65197 /* 185730 */ GIM_Try, /*On fail goto*//*Label 5315*/ GIMT_Encode4(185884),
65198 /* 185735 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
65199 /* 185738 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
65200 /* 185741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65201 /* 185745 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5316*/ GIMT_Encode4(185802), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24170 //
65202 /* 185752 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65203 /* 185756 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65204 /* 185760 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65205 /* 185763 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65206 /* 185767 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65207 /* 185771 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65208 /* 185775 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65209 /* 185777 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65210 /* 185784 */ // (smax:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMAXSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65211 /* 185784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrm),
65212 /* 185787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65213 /* 185789 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65214 /* 185791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65215 /* 185795 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65216 /* 185800 */ GIR_RootConstrainSelectedInstOperands,
65217 /* 185801 */ // GIR_Coverage, 24170,
65218 /* 185801 */ GIR_EraseRootFromParent_Done,
65219 /* 185802 */ // Label 5316: @185802
65220 /* 185802 */ GIM_Try, /*On fail goto*//*Label 5317*/ GIMT_Encode4(185883),
65221 /* 185807 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65222 /* 185811 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5318*/ GIMT_Encode4(185864), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5348 //
65223 /* 185818 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65224 /* 185822 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65225 /* 185826 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65226 /* 185829 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65227 /* 185833 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65228 /* 185837 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65229 /* 185839 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65230 /* 185846 */ // (smax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65231 /* 185846 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrm),
65232 /* 185849 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65233 /* 185851 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65234 /* 185853 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65235 /* 185857 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65236 /* 185862 */ GIR_RootConstrainSelectedInstOperands,
65237 /* 185863 */ // GIR_Coverage, 5348,
65238 /* 185863 */ GIR_EraseRootFromParent_Done,
65239 /* 185864 */ // Label 5318: @185864
65240 /* 185864 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5319*/ GIMT_Encode4(185882), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5345 //
65241 /* 185871 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65242 /* 185875 */ // (smax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMAXSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
65243 /* 185875 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrr),
65244 /* 185880 */ GIR_RootConstrainSelectedInstOperands,
65245 /* 185881 */ // GIR_Coverage, 5345,
65246 /* 185881 */ GIR_Done,
65247 /* 185882 */ // Label 5319: @185882
65248 /* 185882 */ GIM_Reject,
65249 /* 185883 */ // Label 5317: @185883
65250 /* 185883 */ GIM_Reject,
65251 /* 185884 */ // Label 5315: @185884
65252 /* 185884 */ GIM_Reject,
65253 /* 185885 */ // Label 5271: @185885
65254 /* 185885 */ GIM_Try, /*On fail goto*//*Label 5320*/ GIMT_Encode4(186213),
65255 /* 185890 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
65256 /* 185893 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
65257 /* 185896 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5321*/ GIMT_Encode4(185957), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23743 //
65258 /* 185903 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65259 /* 185907 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65260 /* 185911 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65261 /* 185915 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65262 /* 185918 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65263 /* 185922 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65264 /* 185926 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65265 /* 185930 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65266 /* 185932 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65267 /* 185939 */ // (smax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMAXSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65268 /* 185939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrm),
65269 /* 185942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65270 /* 185944 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65271 /* 185946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65272 /* 185950 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65273 /* 185955 */ GIR_RootConstrainSelectedInstOperands,
65274 /* 185956 */ // GIR_Coverage, 23743,
65275 /* 185956 */ GIR_EraseRootFromParent_Done,
65276 /* 185957 */ // Label 5321: @185957
65277 /* 185957 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5322*/ GIMT_Encode4(186018), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24191 //
65278 /* 185964 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65279 /* 185968 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65280 /* 185972 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65281 /* 185976 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65282 /* 185979 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65283 /* 185983 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65284 /* 185987 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65285 /* 185991 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65286 /* 185993 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65287 /* 186000 */ // (smax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMAXSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65288 /* 186000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rm),
65289 /* 186003 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65290 /* 186005 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65291 /* 186007 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65292 /* 186011 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65293 /* 186016 */ GIR_RootConstrainSelectedInstOperands,
65294 /* 186017 */ // GIR_Coverage, 24191,
65295 /* 186017 */ GIR_EraseRootFromParent_Done,
65296 /* 186018 */ // Label 5322: @186018
65297 /* 186018 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5323*/ GIMT_Encode4(186079), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3178 //
65298 /* 186025 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65299 /* 186029 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65300 /* 186033 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65301 /* 186037 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65302 /* 186041 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65303 /* 186044 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65304 /* 186048 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65305 /* 186052 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65306 /* 186054 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65307 /* 186061 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65308 /* 186061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrm),
65309 /* 186064 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65310 /* 186066 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65311 /* 186068 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65312 /* 186072 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65313 /* 186077 */ GIR_RootConstrainSelectedInstOperands,
65314 /* 186078 */ // GIR_Coverage, 3178,
65315 /* 186078 */ GIR_EraseRootFromParent_Done,
65316 /* 186079 */ // Label 5323: @186079
65317 /* 186079 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5324*/ GIMT_Encode4(186140), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5384 //
65318 /* 186086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65319 /* 186090 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65320 /* 186094 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65321 /* 186098 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65322 /* 186102 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65323 /* 186105 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65324 /* 186109 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65325 /* 186113 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65326 /* 186115 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65327 /* 186122 */ // (smax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65328 /* 186122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rm),
65329 /* 186125 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65330 /* 186127 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65331 /* 186129 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65332 /* 186133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65333 /* 186138 */ GIR_RootConstrainSelectedInstOperands,
65334 /* 186139 */ // GIR_Coverage, 5384,
65335 /* 186139 */ GIR_EraseRootFromParent_Done,
65336 /* 186140 */ // Label 5324: @186140
65337 /* 186140 */ GIM_Try, /*On fail goto*//*Label 5325*/ GIMT_Encode4(186186),
65338 /* 186145 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65339 /* 186149 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65340 /* 186153 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65341 /* 186157 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5326*/ GIMT_Encode4(186171), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3177 //
65342 /* 186164 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMAXSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
65343 /* 186164 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrr),
65344 /* 186169 */ GIR_RootConstrainSelectedInstOperands,
65345 /* 186170 */ // GIR_Coverage, 3177,
65346 /* 186170 */ GIR_Done,
65347 /* 186171 */ // Label 5326: @186171
65348 /* 186171 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5327*/ GIMT_Encode4(186185), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3219 //
65349 /* 186178 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMAXSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
65350 /* 186178 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSDrr),
65351 /* 186183 */ GIR_RootConstrainSelectedInstOperands,
65352 /* 186184 */ // GIR_Coverage, 3219,
65353 /* 186184 */ GIR_Done,
65354 /* 186185 */ // Label 5327: @186185
65355 /* 186185 */ GIM_Reject,
65356 /* 186186 */ // Label 5325: @186186
65357 /* 186186 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5328*/ GIMT_Encode4(186212), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5381 //
65358 /* 186193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65359 /* 186197 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65360 /* 186201 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65361 /* 186205 */ // (smax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMAXSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
65362 /* 186205 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rr),
65363 /* 186210 */ GIR_RootConstrainSelectedInstOperands,
65364 /* 186211 */ // GIR_Coverage, 5381,
65365 /* 186211 */ GIR_Done,
65366 /* 186212 */ // Label 5328: @186212
65367 /* 186212 */ GIM_Reject,
65368 /* 186213 */ // Label 5320: @186213
65369 /* 186213 */ GIM_Reject,
65370 /* 186214 */ // Label 5272: @186214
65371 /* 186214 */ GIM_Try, /*On fail goto*//*Label 5329*/ GIMT_Encode4(186522),
65372 /* 186219 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
65373 /* 186222 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
65374 /* 186225 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5330*/ GIMT_Encode4(186286), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23752 //
65375 /* 186232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65376 /* 186236 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65377 /* 186240 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65378 /* 186244 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65379 /* 186247 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65380 /* 186251 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65381 /* 186255 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65382 /* 186259 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65383 /* 186261 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65384 /* 186268 */ // (smax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMAXSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65385 /* 186268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrm),
65386 /* 186271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65387 /* 186273 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65388 /* 186275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65389 /* 186279 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65390 /* 186284 */ GIR_RootConstrainSelectedInstOperands,
65391 /* 186285 */ // GIR_Coverage, 23752,
65392 /* 186285 */ GIR_EraseRootFromParent_Done,
65393 /* 186286 */ // Label 5330: @186286
65394 /* 186286 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5331*/ GIMT_Encode4(186347), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24185 //
65395 /* 186293 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65396 /* 186297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65397 /* 186301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65398 /* 186305 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65399 /* 186308 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65400 /* 186312 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65401 /* 186316 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65402 /* 186320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65403 /* 186322 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65404 /* 186329 */ // (smax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMAXSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65405 /* 186329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rm),
65406 /* 186332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65407 /* 186334 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65408 /* 186336 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65409 /* 186340 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65410 /* 186345 */ GIR_RootConstrainSelectedInstOperands,
65411 /* 186346 */ // GIR_Coverage, 24185,
65412 /* 186346 */ GIR_EraseRootFromParent_Done,
65413 /* 186347 */ // Label 5331: @186347
65414 /* 186347 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5332*/ GIMT_Encode4(186408), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3196 //
65415 /* 186354 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65416 /* 186358 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65417 /* 186362 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65418 /* 186366 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65419 /* 186370 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65420 /* 186373 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65421 /* 186377 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65422 /* 186381 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65423 /* 186383 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65424 /* 186390 */ // (smax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65425 /* 186390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrm),
65426 /* 186393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65427 /* 186395 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65428 /* 186397 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65429 /* 186401 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65430 /* 186406 */ GIR_RootConstrainSelectedInstOperands,
65431 /* 186407 */ // GIR_Coverage, 3196,
65432 /* 186407 */ GIR_EraseRootFromParent_Done,
65433 /* 186408 */ // Label 5332: @186408
65434 /* 186408 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5333*/ GIMT_Encode4(186469), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5375 //
65435 /* 186415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65436 /* 186419 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65437 /* 186423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65438 /* 186427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65439 /* 186431 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65440 /* 186434 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65441 /* 186438 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65442 /* 186442 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65443 /* 186444 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65444 /* 186451 */ // (smax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65445 /* 186451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rm),
65446 /* 186454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65447 /* 186456 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65448 /* 186458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65449 /* 186462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65450 /* 186467 */ GIR_RootConstrainSelectedInstOperands,
65451 /* 186468 */ // GIR_Coverage, 5375,
65452 /* 186468 */ GIR_EraseRootFromParent_Done,
65453 /* 186469 */ // Label 5333: @186469
65454 /* 186469 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5334*/ GIMT_Encode4(186495), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3195 //
65455 /* 186476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65456 /* 186480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65457 /* 186484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65458 /* 186488 */ // (smax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMAXSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
65459 /* 186488 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrr),
65460 /* 186493 */ GIR_RootConstrainSelectedInstOperands,
65461 /* 186494 */ // GIR_Coverage, 3195,
65462 /* 186494 */ GIR_Done,
65463 /* 186495 */ // Label 5334: @186495
65464 /* 186495 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5335*/ GIMT_Encode4(186521), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5372 //
65465 /* 186502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65466 /* 186506 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65467 /* 186510 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65468 /* 186514 */ // (smax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMAXSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
65469 /* 186514 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rr),
65470 /* 186519 */ GIR_RootConstrainSelectedInstOperands,
65471 /* 186520 */ // GIR_Coverage, 5372,
65472 /* 186520 */ GIR_Done,
65473 /* 186521 */ // Label 5335: @186521
65474 /* 186521 */ GIM_Reject,
65475 /* 186522 */ // Label 5329: @186522
65476 /* 186522 */ GIM_Reject,
65477 /* 186523 */ // Label 5273: @186523
65478 /* 186523 */ GIM_Try, /*On fail goto*//*Label 5336*/ GIMT_Encode4(186677),
65479 /* 186528 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
65480 /* 186531 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
65481 /* 186534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65482 /* 186538 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5337*/ GIMT_Encode4(186595), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24179 //
65483 /* 186545 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65484 /* 186549 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65485 /* 186553 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65486 /* 186556 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65487 /* 186560 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65488 /* 186564 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65489 /* 186568 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65490 /* 186570 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65491 /* 186577 */ // (smax:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMAXSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65492 /* 186577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrm),
65493 /* 186580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65494 /* 186582 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65495 /* 186584 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65496 /* 186588 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65497 /* 186593 */ GIR_RootConstrainSelectedInstOperands,
65498 /* 186594 */ // GIR_Coverage, 24179,
65499 /* 186594 */ GIR_EraseRootFromParent_Done,
65500 /* 186595 */ // Label 5337: @186595
65501 /* 186595 */ GIM_Try, /*On fail goto*//*Label 5338*/ GIMT_Encode4(186676),
65502 /* 186600 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65503 /* 186604 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5339*/ GIMT_Encode4(186657), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5366 //
65504 /* 186611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65505 /* 186615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65506 /* 186619 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65507 /* 186622 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65508 /* 186626 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65509 /* 186630 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65510 /* 186632 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65511 /* 186639 */ // (smax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65512 /* 186639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrm),
65513 /* 186642 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65514 /* 186644 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65515 /* 186646 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65516 /* 186650 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65517 /* 186655 */ GIR_RootConstrainSelectedInstOperands,
65518 /* 186656 */ // GIR_Coverage, 5366,
65519 /* 186656 */ GIR_EraseRootFromParent_Done,
65520 /* 186657 */ // Label 5339: @186657
65521 /* 186657 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5340*/ GIMT_Encode4(186675), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5363 //
65522 /* 186664 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65523 /* 186668 */ // (smax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMAXSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
65524 /* 186668 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrr),
65525 /* 186673 */ GIR_RootConstrainSelectedInstOperands,
65526 /* 186674 */ // GIR_Coverage, 5363,
65527 /* 186674 */ GIR_Done,
65528 /* 186675 */ // Label 5340: @186675
65529 /* 186675 */ GIM_Reject,
65530 /* 186676 */ // Label 5338: @186676
65531 /* 186676 */ GIM_Reject,
65532 /* 186677 */ // Label 5336: @186677
65533 /* 186677 */ GIM_Reject,
65534 /* 186678 */ // Label 5274: @186678
65535 /* 186678 */ GIM_Try, /*On fail goto*//*Label 5341*/ GIMT_Encode4(187002),
65536 /* 186683 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
65537 /* 186686 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
65538 /* 186689 */ GIM_Try, /*On fail goto*//*Label 5342*/ GIMT_Encode4(186837),
65539 /* 186694 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65540 /* 186698 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5343*/ GIMT_Encode4(186755), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24209 //
65541 /* 186705 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65542 /* 186709 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65543 /* 186713 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65544 /* 186716 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65545 /* 186720 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65546 /* 186724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65547 /* 186728 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65548 /* 186730 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65549 /* 186737 */ // (smax:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMAXSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65550 /* 186737 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rm),
65551 /* 186740 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65552 /* 186742 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65553 /* 186744 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65554 /* 186748 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65555 /* 186753 */ GIR_RootConstrainSelectedInstOperands,
65556 /* 186754 */ // GIR_Coverage, 24209,
65557 /* 186754 */ GIR_EraseRootFromParent_Done,
65558 /* 186755 */ // Label 5343: @186755
65559 /* 186755 */ GIM_Try, /*On fail goto*//*Label 5344*/ GIMT_Encode4(186836),
65560 /* 186760 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65561 /* 186764 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5345*/ GIMT_Encode4(186817), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5411 //
65562 /* 186771 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65563 /* 186775 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65564 /* 186779 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65565 /* 186782 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65566 /* 186786 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65567 /* 186790 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65568 /* 186792 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65569 /* 186799 */ // (smax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65570 /* 186799 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rm),
65571 /* 186802 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65572 /* 186804 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65573 /* 186806 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65574 /* 186810 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65575 /* 186815 */ GIR_RootConstrainSelectedInstOperands,
65576 /* 186816 */ // GIR_Coverage, 5411,
65577 /* 186816 */ GIR_EraseRootFromParent_Done,
65578 /* 186817 */ // Label 5345: @186817
65579 /* 186817 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5346*/ GIMT_Encode4(186835), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5408 //
65580 /* 186824 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65581 /* 186828 */ // (smax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMAXSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
65582 /* 186828 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rr),
65583 /* 186833 */ GIR_RootConstrainSelectedInstOperands,
65584 /* 186834 */ // GIR_Coverage, 5408,
65585 /* 186834 */ GIR_Done,
65586 /* 186835 */ // Label 5346: @186835
65587 /* 186835 */ GIM_Reject,
65588 /* 186836 */ // Label 5344: @186836
65589 /* 186836 */ GIM_Reject,
65590 /* 186837 */ // Label 5342: @186837
65591 /* 186837 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5347*/ GIMT_Encode4(187001), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20131 //
65592 /* 186844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
65593 /* 186848 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65594 /* 186852 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65595 /* 186856 */ // (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] })
65596 /* 186856 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
65597 /* 186859 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65598 /* 186863 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65599 /* 186868 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
65600 /* 186870 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
65601 /* 186873 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65602 /* 186877 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65603 /* 186882 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
65604 /* 186885 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
65605 /* 186889 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
65606 /* 186892 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65607 /* 186897 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65608 /* 186902 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
65609 /* 186907 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
65610 /* 186910 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65611 /* 186914 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65612 /* 186919 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
65613 /* 186921 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
65614 /* 186924 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65615 /* 186928 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65616 /* 186933 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
65617 /* 186936 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
65618 /* 186940 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
65619 /* 186943 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65620 /* 186948 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65621 /* 186953 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
65622 /* 186958 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
65623 /* 186961 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
65624 /* 186965 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65625 /* 186970 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
65626 /* 186973 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
65627 /* 186976 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
65628 /* 186978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
65629 /* 186981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65630 /* 186983 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
65631 /* 186990 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
65632 /* 186995 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65633 /* 187000 */ // GIR_Coverage, 20131,
65634 /* 187000 */ GIR_EraseRootFromParent_Done,
65635 /* 187001 */ // Label 5347: @187001
65636 /* 187001 */ GIM_Reject,
65637 /* 187002 */ // Label 5341: @187002
65638 /* 187002 */ GIM_Reject,
65639 /* 187003 */ // Label 5275: @187003
65640 /* 187003 */ GIM_Try, /*On fail goto*//*Label 5348*/ GIMT_Encode4(187315),
65641 /* 187008 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
65642 /* 187011 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
65643 /* 187014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65644 /* 187018 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5349*/ GIMT_Encode4(187075), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24203 //
65645 /* 187025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65646 /* 187029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65647 /* 187033 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65648 /* 187036 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65649 /* 187040 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65650 /* 187044 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65651 /* 187048 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65652 /* 187050 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65653 /* 187057 */ // (smax:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMAXSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65654 /* 187057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rm),
65655 /* 187060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65656 /* 187062 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65657 /* 187064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65658 /* 187068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65659 /* 187073 */ GIR_RootConstrainSelectedInstOperands,
65660 /* 187074 */ // GIR_Coverage, 24203,
65661 /* 187074 */ GIR_EraseRootFromParent_Done,
65662 /* 187075 */ // Label 5349: @187075
65663 /* 187075 */ GIM_Try, /*On fail goto*//*Label 5350*/ GIMT_Encode4(187314),
65664 /* 187080 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65665 /* 187084 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5351*/ GIMT_Encode4(187137), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5402 //
65666 /* 187091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65667 /* 187095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65668 /* 187099 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65669 /* 187102 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65670 /* 187106 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65671 /* 187110 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65672 /* 187112 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65673 /* 187119 */ // (smax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65674 /* 187119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rm),
65675 /* 187122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65676 /* 187124 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65677 /* 187126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65678 /* 187130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65679 /* 187135 */ GIR_RootConstrainSelectedInstOperands,
65680 /* 187136 */ // GIR_Coverage, 5402,
65681 /* 187136 */ GIR_EraseRootFromParent_Done,
65682 /* 187137 */ // Label 5351: @187137
65683 /* 187137 */ GIM_Try, /*On fail goto*//*Label 5352*/ GIMT_Encode4(187313),
65684 /* 187142 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65685 /* 187146 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5353*/ GIMT_Encode4(187160), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5399 //
65686 /* 187153 */ // (smax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMAXSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
65687 /* 187153 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rr),
65688 /* 187158 */ GIR_RootConstrainSelectedInstOperands,
65689 /* 187159 */ // GIR_Coverage, 5399,
65690 /* 187159 */ GIR_Done,
65691 /* 187160 */ // Label 5353: @187160
65692 /* 187160 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5354*/ GIMT_Encode4(187312), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20130 //
65693 /* 187167 */ // (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] })
65694 /* 187167 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
65695 /* 187170 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65696 /* 187174 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65697 /* 187179 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
65698 /* 187181 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
65699 /* 187184 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65700 /* 187188 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65701 /* 187193 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
65702 /* 187196 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
65703 /* 187200 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
65704 /* 187203 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65705 /* 187208 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65706 /* 187213 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
65707 /* 187218 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
65708 /* 187221 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65709 /* 187225 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65710 /* 187230 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
65711 /* 187232 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
65712 /* 187235 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65713 /* 187239 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65714 /* 187244 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
65715 /* 187247 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
65716 /* 187251 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
65717 /* 187254 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65718 /* 187259 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65719 /* 187264 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
65720 /* 187269 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
65721 /* 187272 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
65722 /* 187276 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65723 /* 187281 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
65724 /* 187284 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
65725 /* 187287 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
65726 /* 187289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
65727 /* 187292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65728 /* 187294 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
65729 /* 187301 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
65730 /* 187306 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65731 /* 187311 */ // GIR_Coverage, 20130,
65732 /* 187311 */ GIR_EraseRootFromParent_Done,
65733 /* 187312 */ // Label 5354: @187312
65734 /* 187312 */ GIM_Reject,
65735 /* 187313 */ // Label 5352: @187313
65736 /* 187313 */ GIM_Reject,
65737 /* 187314 */ // Label 5350: @187314
65738 /* 187314 */ GIM_Reject,
65739 /* 187315 */ // Label 5348: @187315
65740 /* 187315 */ GIM_Reject,
65741 /* 187316 */ // Label 5276: @187316
65742 /* 187316 */ GIM_Try, /*On fail goto*//*Label 5355*/ GIMT_Encode4(187470),
65743 /* 187321 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
65744 /* 187324 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
65745 /* 187327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65746 /* 187331 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5356*/ GIMT_Encode4(187388), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24197 //
65747 /* 187338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65748 /* 187342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65749 /* 187346 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65750 /* 187349 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65751 /* 187353 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65752 /* 187357 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65753 /* 187361 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65754 /* 187363 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65755 /* 187370 */ // (smax:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMAXSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65756 /* 187370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrm),
65757 /* 187373 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65758 /* 187375 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65759 /* 187377 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65760 /* 187381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65761 /* 187386 */ GIR_RootConstrainSelectedInstOperands,
65762 /* 187387 */ // GIR_Coverage, 24197,
65763 /* 187387 */ GIR_EraseRootFromParent_Done,
65764 /* 187388 */ // Label 5356: @187388
65765 /* 187388 */ GIM_Try, /*On fail goto*//*Label 5357*/ GIMT_Encode4(187469),
65766 /* 187393 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65767 /* 187397 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5358*/ GIMT_Encode4(187450), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5393 //
65768 /* 187404 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65769 /* 187408 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65770 /* 187412 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65771 /* 187415 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65772 /* 187419 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65773 /* 187423 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65774 /* 187425 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65775 /* 187432 */ // (smax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65776 /* 187432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrm),
65777 /* 187435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65778 /* 187437 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65779 /* 187439 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65780 /* 187443 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65781 /* 187448 */ GIR_RootConstrainSelectedInstOperands,
65782 /* 187449 */ // GIR_Coverage, 5393,
65783 /* 187449 */ GIR_EraseRootFromParent_Done,
65784 /* 187450 */ // Label 5358: @187450
65785 /* 187450 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5359*/ GIMT_Encode4(187468), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5390 //
65786 /* 187457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65787 /* 187461 */ // (smax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMAXSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
65788 /* 187461 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
65789 /* 187466 */ GIR_RootConstrainSelectedInstOperands,
65790 /* 187467 */ // GIR_Coverage, 5390,
65791 /* 187467 */ GIR_Done,
65792 /* 187468 */ // Label 5359: @187468
65793 /* 187468 */ GIM_Reject,
65794 /* 187469 */ // Label 5357: @187469
65795 /* 187469 */ GIM_Reject,
65796 /* 187470 */ // Label 5355: @187470
65797 /* 187470 */ GIM_Reject,
65798 /* 187471 */ // Label 5277: @187471
65799 /* 187471 */ GIM_Reject,
65800 /* 187472 */ // Label 61: @187472
65801 /* 187472 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 5372*/ GIMT_Encode4(190703),
65802 /* 187483 */ /*GILLT_v16s8*//*Label 5360*/ GIMT_Encode4(187531),
65803 /* 187487 */ /*GILLT_v32s8*//*Label 5361*/ GIMT_Encode4(187860),
65804 /* 187491 */ /*GILLT_v64s8*//*Label 5362*/ GIMT_Encode4(188169),
65805 /* 187495 */ /*GILLT_v8s16*//*Label 5363*/ GIMT_Encode4(188324),
65806 /* 187499 */ /*GILLT_v16s16*//*Label 5364*/ GIMT_Encode4(188653),
65807 /* 187503 */ /*GILLT_v32s16*//*Label 5365*/ GIMT_Encode4(188962),
65808 /* 187507 */ /*GILLT_v4s32*//*Label 5366*/ GIMT_Encode4(189117),
65809 /* 187511 */ /*GILLT_v8s32*//*Label 5367*/ GIMT_Encode4(189446),
65810 /* 187515 */ /*GILLT_v16s32*//*Label 5368*/ GIMT_Encode4(189755),
65811 /* 187519 */ /*GILLT_v2s64*//*Label 5369*/ GIMT_Encode4(189910),
65812 /* 187523 */ /*GILLT_v4s64*//*Label 5370*/ GIMT_Encode4(190235),
65813 /* 187527 */ /*GILLT_v8s64*//*Label 5371*/ GIMT_Encode4(190548),
65814 /* 187531 */ // Label 5360: @187531
65815 /* 187531 */ GIM_Try, /*On fail goto*//*Label 5373*/ GIMT_Encode4(187859),
65816 /* 187536 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
65817 /* 187539 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
65818 /* 187542 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5374*/ GIMT_Encode4(187603), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23702 //
65819 /* 187549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65820 /* 187553 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65821 /* 187557 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65822 /* 187561 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65823 /* 187564 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65824 /* 187568 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65825 /* 187572 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65826 /* 187576 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65827 /* 187578 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65828 /* 187585 */ // (umin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMINUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65829 /* 187585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBrm),
65830 /* 187588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65831 /* 187590 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65832 /* 187592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65833 /* 187596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65834 /* 187601 */ GIR_RootConstrainSelectedInstOperands,
65835 /* 187602 */ // GIR_Coverage, 23702,
65836 /* 187602 */ GIR_EraseRootFromParent_Done,
65837 /* 187603 */ // Label 5374: @187603
65838 /* 187603 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5375*/ GIMT_Encode4(187664), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24329 //
65839 /* 187610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65840 /* 187614 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65841 /* 187618 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65842 /* 187622 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65843 /* 187625 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65844 /* 187629 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65845 /* 187633 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65846 /* 187637 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65847 /* 187639 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65848 /* 187646 */ // (umin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMINUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65849 /* 187646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rm),
65850 /* 187649 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65851 /* 187651 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65852 /* 187653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65853 /* 187657 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65854 /* 187662 */ GIR_RootConstrainSelectedInstOperands,
65855 /* 187663 */ // GIR_Coverage, 24329,
65856 /* 187663 */ GIR_EraseRootFromParent_Done,
65857 /* 187664 */ // Label 5375: @187664
65858 /* 187664 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5376*/ GIMT_Encode4(187725), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2619 //
65859 /* 187671 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65860 /* 187675 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65861 /* 187679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65862 /* 187683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65863 /* 187687 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65864 /* 187690 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65865 /* 187694 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65866 /* 187698 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65867 /* 187700 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65868 /* 187707 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65869 /* 187707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBrm),
65870 /* 187710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65871 /* 187712 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65872 /* 187714 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65873 /* 187718 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65874 /* 187723 */ GIR_RootConstrainSelectedInstOperands,
65875 /* 187724 */ // GIR_Coverage, 2619,
65876 /* 187724 */ GIR_EraseRootFromParent_Done,
65877 /* 187725 */ // Label 5376: @187725
65878 /* 187725 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5377*/ GIMT_Encode4(187786), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5612 //
65879 /* 187732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65880 /* 187736 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65881 /* 187740 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65882 /* 187744 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65883 /* 187748 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65884 /* 187751 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65885 /* 187755 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65886 /* 187759 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65887 /* 187761 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65888 /* 187768 */ // (umin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65889 /* 187768 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rm),
65890 /* 187771 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65891 /* 187773 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65892 /* 187775 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65893 /* 187779 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65894 /* 187784 */ GIR_RootConstrainSelectedInstOperands,
65895 /* 187785 */ // GIR_Coverage, 5612,
65896 /* 187785 */ GIR_EraseRootFromParent_Done,
65897 /* 187786 */ // Label 5377: @187786
65898 /* 187786 */ GIM_Try, /*On fail goto*//*Label 5378*/ GIMT_Encode4(187832),
65899 /* 187791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65900 /* 187795 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65901 /* 187799 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65902 /* 187803 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5379*/ GIMT_Encode4(187817), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2618 //
65903 /* 187810 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMINUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
65904 /* 187810 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBrr),
65905 /* 187815 */ GIR_RootConstrainSelectedInstOperands,
65906 /* 187816 */ // GIR_Coverage, 2618,
65907 /* 187816 */ GIR_Done,
65908 /* 187817 */ // Label 5379: @187817
65909 /* 187817 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5380*/ GIMT_Encode4(187831), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2620 //
65910 /* 187824 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMINUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
65911 /* 187824 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUBrr),
65912 /* 187829 */ GIR_RootConstrainSelectedInstOperands,
65913 /* 187830 */ // GIR_Coverage, 2620,
65914 /* 187830 */ GIR_Done,
65915 /* 187831 */ // Label 5380: @187831
65916 /* 187831 */ GIM_Reject,
65917 /* 187832 */ // Label 5378: @187832
65918 /* 187832 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5381*/ GIMT_Encode4(187858), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5609 //
65919 /* 187839 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65920 /* 187843 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65921 /* 187847 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65922 /* 187851 */ // (umin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMINUBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
65923 /* 187851 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rr),
65924 /* 187856 */ GIR_RootConstrainSelectedInstOperands,
65925 /* 187857 */ // GIR_Coverage, 5609,
65926 /* 187857 */ GIR_Done,
65927 /* 187858 */ // Label 5381: @187858
65928 /* 187858 */ GIM_Reject,
65929 /* 187859 */ // Label 5373: @187859
65930 /* 187859 */ GIM_Reject,
65931 /* 187860 */ // Label 5361: @187860
65932 /* 187860 */ GIM_Try, /*On fail goto*//*Label 5382*/ GIMT_Encode4(188168),
65933 /* 187865 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
65934 /* 187868 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
65935 /* 187871 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5383*/ GIMT_Encode4(187932), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23704 //
65936 /* 187878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65937 /* 187882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65938 /* 187886 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65939 /* 187890 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65940 /* 187893 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65941 /* 187897 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65942 /* 187901 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65943 /* 187905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65944 /* 187907 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65945 /* 187914 */ // (umin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMINUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65946 /* 187914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrm),
65947 /* 187917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65948 /* 187919 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65949 /* 187921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65950 /* 187925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65951 /* 187930 */ GIR_RootConstrainSelectedInstOperands,
65952 /* 187931 */ // GIR_Coverage, 23704,
65953 /* 187931 */ GIR_EraseRootFromParent_Done,
65954 /* 187932 */ // Label 5383: @187932
65955 /* 187932 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5384*/ GIMT_Encode4(187993), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24326 //
65956 /* 187939 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65957 /* 187943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65958 /* 187947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65959 /* 187951 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65960 /* 187954 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65961 /* 187958 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65962 /* 187962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65963 /* 187966 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65964 /* 187968 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65965 /* 187975 */ // (umin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMINUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65966 /* 187975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rm),
65967 /* 187978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65968 /* 187980 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65969 /* 187982 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65970 /* 187986 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65971 /* 187991 */ GIR_RootConstrainSelectedInstOperands,
65972 /* 187992 */ // GIR_Coverage, 24326,
65973 /* 187992 */ GIR_EraseRootFromParent_Done,
65974 /* 187993 */ // Label 5384: @187993
65975 /* 187993 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5385*/ GIMT_Encode4(188054), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2623 //
65976 /* 188000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65977 /* 188004 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65978 /* 188008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65979 /* 188012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65980 /* 188016 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65981 /* 188019 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65982 /* 188023 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65983 /* 188027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65984 /* 188029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65985 /* 188036 */ // (umin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65986 /* 188036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrm),
65987 /* 188039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65988 /* 188041 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65989 /* 188043 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65990 /* 188047 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65991 /* 188052 */ GIR_RootConstrainSelectedInstOperands,
65992 /* 188053 */ // GIR_Coverage, 2623,
65993 /* 188053 */ GIR_EraseRootFromParent_Done,
65994 /* 188054 */ // Label 5385: @188054
65995 /* 188054 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5386*/ GIMT_Encode4(188115), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5606 //
65996 /* 188061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65997 /* 188065 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65998 /* 188069 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65999 /* 188073 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66000 /* 188077 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66001 /* 188080 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66002 /* 188084 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66003 /* 188088 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66004 /* 188090 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66005 /* 188097 */ // (umin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66006 /* 188097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rm),
66007 /* 188100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66008 /* 188102 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66009 /* 188104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66010 /* 188108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66011 /* 188113 */ GIR_RootConstrainSelectedInstOperands,
66012 /* 188114 */ // GIR_Coverage, 5606,
66013 /* 188114 */ GIR_EraseRootFromParent_Done,
66014 /* 188115 */ // Label 5386: @188115
66015 /* 188115 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5387*/ GIMT_Encode4(188141), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2622 //
66016 /* 188122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66017 /* 188126 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66018 /* 188130 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66019 /* 188134 */ // (umin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMINUBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
66020 /* 188134 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrr),
66021 /* 188139 */ GIR_RootConstrainSelectedInstOperands,
66022 /* 188140 */ // GIR_Coverage, 2622,
66023 /* 188140 */ GIR_Done,
66024 /* 188141 */ // Label 5387: @188141
66025 /* 188141 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5388*/ GIMT_Encode4(188167), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5603 //
66026 /* 188148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66027 /* 188152 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66028 /* 188156 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66029 /* 188160 */ // (umin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMINUBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
66030 /* 188160 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rr),
66031 /* 188165 */ GIR_RootConstrainSelectedInstOperands,
66032 /* 188166 */ // GIR_Coverage, 5603,
66033 /* 188166 */ GIR_Done,
66034 /* 188167 */ // Label 5388: @188167
66035 /* 188167 */ GIM_Reject,
66036 /* 188168 */ // Label 5382: @188168
66037 /* 188168 */ GIM_Reject,
66038 /* 188169 */ // Label 5362: @188169
66039 /* 188169 */ GIM_Try, /*On fail goto*//*Label 5389*/ GIMT_Encode4(188323),
66040 /* 188174 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
66041 /* 188177 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
66042 /* 188180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66043 /* 188184 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5390*/ GIMT_Encode4(188241), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24323 //
66044 /* 188191 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66045 /* 188195 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66046 /* 188199 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66047 /* 188202 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66048 /* 188206 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66049 /* 188210 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66050 /* 188214 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66051 /* 188216 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66052 /* 188223 */ // (umin:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMINUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66053 /* 188223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrm),
66054 /* 188226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66055 /* 188228 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66056 /* 188230 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66057 /* 188234 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66058 /* 188239 */ GIR_RootConstrainSelectedInstOperands,
66059 /* 188240 */ // GIR_Coverage, 24323,
66060 /* 188240 */ GIR_EraseRootFromParent_Done,
66061 /* 188241 */ // Label 5390: @188241
66062 /* 188241 */ GIM_Try, /*On fail goto*//*Label 5391*/ GIMT_Encode4(188322),
66063 /* 188246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66064 /* 188250 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5392*/ GIMT_Encode4(188303), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5600 //
66065 /* 188257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66066 /* 188261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66067 /* 188265 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66068 /* 188268 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66069 /* 188272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66070 /* 188276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66071 /* 188278 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66072 /* 188285 */ // (umin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66073 /* 188285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrm),
66074 /* 188288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66075 /* 188290 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66076 /* 188292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66077 /* 188296 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66078 /* 188301 */ GIR_RootConstrainSelectedInstOperands,
66079 /* 188302 */ // GIR_Coverage, 5600,
66080 /* 188302 */ GIR_EraseRootFromParent_Done,
66081 /* 188303 */ // Label 5392: @188303
66082 /* 188303 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5393*/ GIMT_Encode4(188321), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5597 //
66083 /* 188310 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66084 /* 188314 */ // (umin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMINUBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
66085 /* 188314 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrr),
66086 /* 188319 */ GIR_RootConstrainSelectedInstOperands,
66087 /* 188320 */ // GIR_Coverage, 5597,
66088 /* 188320 */ GIR_Done,
66089 /* 188321 */ // Label 5393: @188321
66090 /* 188321 */ GIM_Reject,
66091 /* 188322 */ // Label 5391: @188322
66092 /* 188322 */ GIM_Reject,
66093 /* 188323 */ // Label 5389: @188323
66094 /* 188323 */ GIM_Reject,
66095 /* 188324 */ // Label 5363: @188324
66096 /* 188324 */ GIM_Try, /*On fail goto*//*Label 5394*/ GIMT_Encode4(188652),
66097 /* 188329 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
66098 /* 188332 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
66099 /* 188335 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5395*/ GIMT_Encode4(188396), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23747 //
66100 /* 188342 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66101 /* 188346 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66102 /* 188350 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66103 /* 188354 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66104 /* 188357 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66105 /* 188361 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66106 /* 188365 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66107 /* 188369 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66108 /* 188371 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66109 /* 188378 */ // (umin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMINUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66110 /* 188378 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWrm),
66111 /* 188381 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66112 /* 188383 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66113 /* 188385 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66114 /* 188389 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66115 /* 188394 */ GIR_RootConstrainSelectedInstOperands,
66116 /* 188395 */ // GIR_Coverage, 23747,
66117 /* 188395 */ GIR_EraseRootFromParent_Done,
66118 /* 188396 */ // Label 5395: @188396
66119 /* 188396 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5396*/ GIMT_Encode4(188457), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24338 //
66120 /* 188403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66121 /* 188407 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66122 /* 188411 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66123 /* 188415 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66124 /* 188418 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66125 /* 188422 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66126 /* 188426 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66127 /* 188430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66128 /* 188432 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66129 /* 188439 */ // (umin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMINUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66130 /* 188439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rm),
66131 /* 188442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66132 /* 188444 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66133 /* 188446 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66134 /* 188450 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66135 /* 188455 */ GIR_RootConstrainSelectedInstOperands,
66136 /* 188456 */ // GIR_Coverage, 24338,
66137 /* 188456 */ GIR_EraseRootFromParent_Done,
66138 /* 188457 */ // Label 5396: @188457
66139 /* 188457 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5397*/ GIMT_Encode4(188518), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 3186 //
66140 /* 188464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66141 /* 188468 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66142 /* 188472 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66143 /* 188476 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66144 /* 188480 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66145 /* 188483 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66146 /* 188487 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66147 /* 188491 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66148 /* 188493 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66149 /* 188500 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66150 /* 188500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWrm),
66151 /* 188503 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66152 /* 188505 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66153 /* 188507 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66154 /* 188511 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66155 /* 188516 */ GIR_RootConstrainSelectedInstOperands,
66156 /* 188517 */ // GIR_Coverage, 3186,
66157 /* 188517 */ GIR_EraseRootFromParent_Done,
66158 /* 188518 */ // Label 5397: @188518
66159 /* 188518 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5398*/ GIMT_Encode4(188579), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5630 //
66160 /* 188525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66161 /* 188529 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66162 /* 188533 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66163 /* 188537 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66164 /* 188541 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66165 /* 188544 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66166 /* 188548 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66167 /* 188552 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66168 /* 188554 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66169 /* 188561 */ // (umin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66170 /* 188561 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rm),
66171 /* 188564 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66172 /* 188566 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66173 /* 188568 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66174 /* 188572 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66175 /* 188577 */ GIR_RootConstrainSelectedInstOperands,
66176 /* 188578 */ // GIR_Coverage, 5630,
66177 /* 188578 */ GIR_EraseRootFromParent_Done,
66178 /* 188579 */ // Label 5398: @188579
66179 /* 188579 */ GIM_Try, /*On fail goto*//*Label 5399*/ GIMT_Encode4(188625),
66180 /* 188584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66181 /* 188588 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66182 /* 188592 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66183 /* 188596 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5400*/ GIMT_Encode4(188610), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 3185 //
66184 /* 188603 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMINUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
66185 /* 188603 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWrr),
66186 /* 188608 */ GIR_RootConstrainSelectedInstOperands,
66187 /* 188609 */ // GIR_Coverage, 3185,
66188 /* 188609 */ GIR_Done,
66189 /* 188610 */ // Label 5400: @188610
66190 /* 188610 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5401*/ GIMT_Encode4(188624), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3215 //
66191 /* 188617 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMINUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
66192 /* 188617 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUWrr),
66193 /* 188622 */ GIR_RootConstrainSelectedInstOperands,
66194 /* 188623 */ // GIR_Coverage, 3215,
66195 /* 188623 */ GIR_Done,
66196 /* 188624 */ // Label 5401: @188624
66197 /* 188624 */ GIM_Reject,
66198 /* 188625 */ // Label 5399: @188625
66199 /* 188625 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5402*/ GIMT_Encode4(188651), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5627 //
66200 /* 188632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66201 /* 188636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66202 /* 188640 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66203 /* 188644 */ // (umin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMINUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
66204 /* 188644 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rr),
66205 /* 188649 */ GIR_RootConstrainSelectedInstOperands,
66206 /* 188650 */ // GIR_Coverage, 5627,
66207 /* 188650 */ GIR_Done,
66208 /* 188651 */ // Label 5402: @188651
66209 /* 188651 */ GIM_Reject,
66210 /* 188652 */ // Label 5394: @188652
66211 /* 188652 */ GIM_Reject,
66212 /* 188653 */ // Label 5364: @188653
66213 /* 188653 */ GIM_Try, /*On fail goto*//*Label 5403*/ GIMT_Encode4(188961),
66214 /* 188658 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
66215 /* 188661 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
66216 /* 188664 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5404*/ GIMT_Encode4(188725), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23756 //
66217 /* 188671 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66218 /* 188675 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66219 /* 188679 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66220 /* 188683 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66221 /* 188686 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66222 /* 188690 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66223 /* 188694 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66224 /* 188698 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66225 /* 188700 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66226 /* 188707 */ // (umin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMINUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66227 /* 188707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrm),
66228 /* 188710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66229 /* 188712 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66230 /* 188714 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66231 /* 188718 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66232 /* 188723 */ GIR_RootConstrainSelectedInstOperands,
66233 /* 188724 */ // GIR_Coverage, 23756,
66234 /* 188724 */ GIR_EraseRootFromParent_Done,
66235 /* 188725 */ // Label 5404: @188725
66236 /* 188725 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5405*/ GIMT_Encode4(188786), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24335 //
66237 /* 188732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66238 /* 188736 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66239 /* 188740 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66240 /* 188744 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66241 /* 188747 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66242 /* 188751 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66243 /* 188755 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66244 /* 188759 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66245 /* 188761 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66246 /* 188768 */ // (umin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMINUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66247 /* 188768 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rm),
66248 /* 188771 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66249 /* 188773 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66250 /* 188775 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66251 /* 188779 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66252 /* 188784 */ GIR_RootConstrainSelectedInstOperands,
66253 /* 188785 */ // GIR_Coverage, 24335,
66254 /* 188785 */ GIR_EraseRootFromParent_Done,
66255 /* 188786 */ // Label 5405: @188786
66256 /* 188786 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5406*/ GIMT_Encode4(188847), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 3204 //
66257 /* 188793 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66258 /* 188797 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66259 /* 188801 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66260 /* 188805 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66261 /* 188809 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66262 /* 188812 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66263 /* 188816 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66264 /* 188820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66265 /* 188822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66266 /* 188829 */ // (umin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66267 /* 188829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrm),
66268 /* 188832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66269 /* 188834 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66270 /* 188836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66271 /* 188840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66272 /* 188845 */ GIR_RootConstrainSelectedInstOperands,
66273 /* 188846 */ // GIR_Coverage, 3204,
66274 /* 188846 */ GIR_EraseRootFromParent_Done,
66275 /* 188847 */ // Label 5406: @188847
66276 /* 188847 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5407*/ GIMT_Encode4(188908), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5624 //
66277 /* 188854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66278 /* 188858 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66279 /* 188862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66280 /* 188866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66281 /* 188870 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66282 /* 188873 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66283 /* 188877 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66284 /* 188881 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66285 /* 188883 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66286 /* 188890 */ // (umin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66287 /* 188890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rm),
66288 /* 188893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66289 /* 188895 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66290 /* 188897 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66291 /* 188901 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66292 /* 188906 */ GIR_RootConstrainSelectedInstOperands,
66293 /* 188907 */ // GIR_Coverage, 5624,
66294 /* 188907 */ GIR_EraseRootFromParent_Done,
66295 /* 188908 */ // Label 5407: @188908
66296 /* 188908 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5408*/ GIMT_Encode4(188934), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 3203 //
66297 /* 188915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66298 /* 188919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66299 /* 188923 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66300 /* 188927 */ // (umin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMINUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
66301 /* 188927 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrr),
66302 /* 188932 */ GIR_RootConstrainSelectedInstOperands,
66303 /* 188933 */ // GIR_Coverage, 3203,
66304 /* 188933 */ GIR_Done,
66305 /* 188934 */ // Label 5408: @188934
66306 /* 188934 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5409*/ GIMT_Encode4(188960), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5621 //
66307 /* 188941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66308 /* 188945 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66309 /* 188949 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66310 /* 188953 */ // (umin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMINUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
66311 /* 188953 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rr),
66312 /* 188958 */ GIR_RootConstrainSelectedInstOperands,
66313 /* 188959 */ // GIR_Coverage, 5621,
66314 /* 188959 */ GIR_Done,
66315 /* 188960 */ // Label 5409: @188960
66316 /* 188960 */ GIM_Reject,
66317 /* 188961 */ // Label 5403: @188961
66318 /* 188961 */ GIM_Reject,
66319 /* 188962 */ // Label 5365: @188962
66320 /* 188962 */ GIM_Try, /*On fail goto*//*Label 5410*/ GIMT_Encode4(189116),
66321 /* 188967 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
66322 /* 188970 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
66323 /* 188973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66324 /* 188977 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5411*/ GIMT_Encode4(189034), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24332 //
66325 /* 188984 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66326 /* 188988 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66327 /* 188992 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66328 /* 188995 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66329 /* 188999 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66330 /* 189003 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66331 /* 189007 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66332 /* 189009 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66333 /* 189016 */ // (umin:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMINUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66334 /* 189016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrm),
66335 /* 189019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66336 /* 189021 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66337 /* 189023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66338 /* 189027 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66339 /* 189032 */ GIR_RootConstrainSelectedInstOperands,
66340 /* 189033 */ // GIR_Coverage, 24332,
66341 /* 189033 */ GIR_EraseRootFromParent_Done,
66342 /* 189034 */ // Label 5411: @189034
66343 /* 189034 */ GIM_Try, /*On fail goto*//*Label 5412*/ GIMT_Encode4(189115),
66344 /* 189039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66345 /* 189043 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5413*/ GIMT_Encode4(189096), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5618 //
66346 /* 189050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66347 /* 189054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66348 /* 189058 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66349 /* 189061 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66350 /* 189065 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66351 /* 189069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66352 /* 189071 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66353 /* 189078 */ // (umin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66354 /* 189078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrm),
66355 /* 189081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66356 /* 189083 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66357 /* 189085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66358 /* 189089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66359 /* 189094 */ GIR_RootConstrainSelectedInstOperands,
66360 /* 189095 */ // GIR_Coverage, 5618,
66361 /* 189095 */ GIR_EraseRootFromParent_Done,
66362 /* 189096 */ // Label 5413: @189096
66363 /* 189096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5414*/ GIMT_Encode4(189114), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5615 //
66364 /* 189103 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66365 /* 189107 */ // (umin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMINUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
66366 /* 189107 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrr),
66367 /* 189112 */ GIR_RootConstrainSelectedInstOperands,
66368 /* 189113 */ // GIR_Coverage, 5615,
66369 /* 189113 */ GIR_Done,
66370 /* 189114 */ // Label 5414: @189114
66371 /* 189114 */ GIM_Reject,
66372 /* 189115 */ // Label 5412: @189115
66373 /* 189115 */ GIM_Reject,
66374 /* 189116 */ // Label 5410: @189116
66375 /* 189116 */ GIM_Reject,
66376 /* 189117 */ // Label 5366: @189117
66377 /* 189117 */ GIM_Try, /*On fail goto*//*Label 5415*/ GIMT_Encode4(189445),
66378 /* 189122 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
66379 /* 189125 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
66380 /* 189128 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5416*/ GIMT_Encode4(189189), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23742 //
66381 /* 189135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66382 /* 189139 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66383 /* 189143 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66384 /* 189147 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66385 /* 189150 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66386 /* 189154 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66387 /* 189158 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66388 /* 189162 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66389 /* 189164 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66390 /* 189171 */ // (umin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMINUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66391 /* 189171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDrm),
66392 /* 189174 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66393 /* 189176 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66394 /* 189178 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66395 /* 189182 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66396 /* 189187 */ GIR_RootConstrainSelectedInstOperands,
66397 /* 189188 */ // GIR_Coverage, 23742,
66398 /* 189188 */ GIR_EraseRootFromParent_Done,
66399 /* 189189 */ // Label 5416: @189189
66400 /* 189189 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5417*/ GIMT_Encode4(189250), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24353 //
66401 /* 189196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66402 /* 189200 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66403 /* 189204 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66404 /* 189208 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66405 /* 189211 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66406 /* 189215 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66407 /* 189219 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66408 /* 189223 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66409 /* 189225 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66410 /* 189232 */ // (umin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMINUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66411 /* 189232 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rm),
66412 /* 189235 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66413 /* 189237 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66414 /* 189239 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66415 /* 189243 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66416 /* 189248 */ GIR_RootConstrainSelectedInstOperands,
66417 /* 189249 */ // GIR_Coverage, 24353,
66418 /* 189249 */ GIR_EraseRootFromParent_Done,
66419 /* 189250 */ // Label 5417: @189250
66420 /* 189250 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5418*/ GIMT_Encode4(189311), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3176 //
66421 /* 189257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66422 /* 189261 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66423 /* 189265 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66424 /* 189269 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66425 /* 189273 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66426 /* 189276 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66427 /* 189280 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66428 /* 189284 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66429 /* 189286 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66430 /* 189293 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66431 /* 189293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDrm),
66432 /* 189296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66433 /* 189298 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66434 /* 189300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66435 /* 189304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66436 /* 189309 */ GIR_RootConstrainSelectedInstOperands,
66437 /* 189310 */ // GIR_Coverage, 3176,
66438 /* 189310 */ GIR_EraseRootFromParent_Done,
66439 /* 189311 */ // Label 5418: @189311
66440 /* 189311 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5419*/ GIMT_Encode4(189372), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5654 //
66441 /* 189318 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66442 /* 189322 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66443 /* 189326 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66444 /* 189330 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66445 /* 189334 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66446 /* 189337 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66447 /* 189341 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66448 /* 189345 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66449 /* 189347 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66450 /* 189354 */ // (umin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66451 /* 189354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rm),
66452 /* 189357 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66453 /* 189359 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66454 /* 189361 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66455 /* 189365 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66456 /* 189370 */ GIR_RootConstrainSelectedInstOperands,
66457 /* 189371 */ // GIR_Coverage, 5654,
66458 /* 189371 */ GIR_EraseRootFromParent_Done,
66459 /* 189372 */ // Label 5419: @189372
66460 /* 189372 */ GIM_Try, /*On fail goto*//*Label 5420*/ GIMT_Encode4(189418),
66461 /* 189377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66462 /* 189381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66463 /* 189385 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66464 /* 189389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5421*/ GIMT_Encode4(189403), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3175 //
66465 /* 189396 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMINUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
66466 /* 189396 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDrr),
66467 /* 189401 */ GIR_RootConstrainSelectedInstOperands,
66468 /* 189402 */ // GIR_Coverage, 3175,
66469 /* 189402 */ GIR_Done,
66470 /* 189403 */ // Label 5421: @189403
66471 /* 189403 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5422*/ GIMT_Encode4(189417), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3213 //
66472 /* 189410 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMINUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
66473 /* 189410 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUDrr),
66474 /* 189415 */ GIR_RootConstrainSelectedInstOperands,
66475 /* 189416 */ // GIR_Coverage, 3213,
66476 /* 189416 */ GIR_Done,
66477 /* 189417 */ // Label 5422: @189417
66478 /* 189417 */ GIM_Reject,
66479 /* 189418 */ // Label 5420: @189418
66480 /* 189418 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5423*/ GIMT_Encode4(189444), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5651 //
66481 /* 189425 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66482 /* 189429 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66483 /* 189433 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66484 /* 189437 */ // (umin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMINUDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
66485 /* 189437 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rr),
66486 /* 189442 */ GIR_RootConstrainSelectedInstOperands,
66487 /* 189443 */ // GIR_Coverage, 5651,
66488 /* 189443 */ GIR_Done,
66489 /* 189444 */ // Label 5423: @189444
66490 /* 189444 */ GIM_Reject,
66491 /* 189445 */ // Label 5415: @189445
66492 /* 189445 */ GIM_Reject,
66493 /* 189446 */ // Label 5367: @189446
66494 /* 189446 */ GIM_Try, /*On fail goto*//*Label 5424*/ GIMT_Encode4(189754),
66495 /* 189451 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
66496 /* 189454 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
66497 /* 189457 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5425*/ GIMT_Encode4(189518), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23751 //
66498 /* 189464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66499 /* 189468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66500 /* 189472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66501 /* 189476 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66502 /* 189479 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66503 /* 189483 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66504 /* 189487 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66505 /* 189491 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66506 /* 189493 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66507 /* 189500 */ // (umin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMINUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66508 /* 189500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrm),
66509 /* 189503 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66510 /* 189505 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66511 /* 189507 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66512 /* 189511 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66513 /* 189516 */ GIR_RootConstrainSelectedInstOperands,
66514 /* 189517 */ // GIR_Coverage, 23751,
66515 /* 189517 */ GIR_EraseRootFromParent_Done,
66516 /* 189518 */ // Label 5425: @189518
66517 /* 189518 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5426*/ GIMT_Encode4(189579), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24347 //
66518 /* 189525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66519 /* 189529 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66520 /* 189533 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66521 /* 189537 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66522 /* 189540 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66523 /* 189544 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66524 /* 189548 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66525 /* 189552 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66526 /* 189554 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66527 /* 189561 */ // (umin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMINUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66528 /* 189561 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rm),
66529 /* 189564 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66530 /* 189566 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66531 /* 189568 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66532 /* 189572 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66533 /* 189577 */ GIR_RootConstrainSelectedInstOperands,
66534 /* 189578 */ // GIR_Coverage, 24347,
66535 /* 189578 */ GIR_EraseRootFromParent_Done,
66536 /* 189579 */ // Label 5426: @189579
66537 /* 189579 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5427*/ GIMT_Encode4(189640), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3194 //
66538 /* 189586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66539 /* 189590 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66540 /* 189594 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66541 /* 189598 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66542 /* 189602 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66543 /* 189605 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66544 /* 189609 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66545 /* 189613 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66546 /* 189615 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66547 /* 189622 */ // (umin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66548 /* 189622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrm),
66549 /* 189625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66550 /* 189627 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66551 /* 189629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66552 /* 189633 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66553 /* 189638 */ GIR_RootConstrainSelectedInstOperands,
66554 /* 189639 */ // GIR_Coverage, 3194,
66555 /* 189639 */ GIR_EraseRootFromParent_Done,
66556 /* 189640 */ // Label 5427: @189640
66557 /* 189640 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5428*/ GIMT_Encode4(189701), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5645 //
66558 /* 189647 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66559 /* 189651 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66560 /* 189655 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66561 /* 189659 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66562 /* 189663 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66563 /* 189666 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66564 /* 189670 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66565 /* 189674 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66566 /* 189676 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66567 /* 189683 */ // (umin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66568 /* 189683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rm),
66569 /* 189686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66570 /* 189688 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66571 /* 189690 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66572 /* 189694 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66573 /* 189699 */ GIR_RootConstrainSelectedInstOperands,
66574 /* 189700 */ // GIR_Coverage, 5645,
66575 /* 189700 */ GIR_EraseRootFromParent_Done,
66576 /* 189701 */ // Label 5428: @189701
66577 /* 189701 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5429*/ GIMT_Encode4(189727), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3193 //
66578 /* 189708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66579 /* 189712 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66580 /* 189716 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66581 /* 189720 */ // (umin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMINUDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
66582 /* 189720 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrr),
66583 /* 189725 */ GIR_RootConstrainSelectedInstOperands,
66584 /* 189726 */ // GIR_Coverage, 3193,
66585 /* 189726 */ GIR_Done,
66586 /* 189727 */ // Label 5429: @189727
66587 /* 189727 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5430*/ GIMT_Encode4(189753), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5642 //
66588 /* 189734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66589 /* 189738 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66590 /* 189742 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66591 /* 189746 */ // (umin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMINUDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
66592 /* 189746 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rr),
66593 /* 189751 */ GIR_RootConstrainSelectedInstOperands,
66594 /* 189752 */ // GIR_Coverage, 5642,
66595 /* 189752 */ GIR_Done,
66596 /* 189753 */ // Label 5430: @189753
66597 /* 189753 */ GIM_Reject,
66598 /* 189754 */ // Label 5424: @189754
66599 /* 189754 */ GIM_Reject,
66600 /* 189755 */ // Label 5368: @189755
66601 /* 189755 */ GIM_Try, /*On fail goto*//*Label 5431*/ GIMT_Encode4(189909),
66602 /* 189760 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
66603 /* 189763 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
66604 /* 189766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66605 /* 189770 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5432*/ GIMT_Encode4(189827), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24341 //
66606 /* 189777 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66607 /* 189781 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66608 /* 189785 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66609 /* 189788 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66610 /* 189792 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66611 /* 189796 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66612 /* 189800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66613 /* 189802 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66614 /* 189809 */ // (umin:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMINUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66615 /* 189809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrm),
66616 /* 189812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66617 /* 189814 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66618 /* 189816 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66619 /* 189820 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66620 /* 189825 */ GIR_RootConstrainSelectedInstOperands,
66621 /* 189826 */ // GIR_Coverage, 24341,
66622 /* 189826 */ GIR_EraseRootFromParent_Done,
66623 /* 189827 */ // Label 5432: @189827
66624 /* 189827 */ GIM_Try, /*On fail goto*//*Label 5433*/ GIMT_Encode4(189908),
66625 /* 189832 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66626 /* 189836 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5434*/ GIMT_Encode4(189889), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5636 //
66627 /* 189843 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66628 /* 189847 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66629 /* 189851 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66630 /* 189854 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66631 /* 189858 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66632 /* 189862 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66633 /* 189864 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66634 /* 189871 */ // (umin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66635 /* 189871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrm),
66636 /* 189874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66637 /* 189876 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66638 /* 189878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66639 /* 189882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66640 /* 189887 */ GIR_RootConstrainSelectedInstOperands,
66641 /* 189888 */ // GIR_Coverage, 5636,
66642 /* 189888 */ GIR_EraseRootFromParent_Done,
66643 /* 189889 */ // Label 5434: @189889
66644 /* 189889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5435*/ GIMT_Encode4(189907), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5633 //
66645 /* 189896 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66646 /* 189900 */ // (umin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMINUDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
66647 /* 189900 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrr),
66648 /* 189905 */ GIR_RootConstrainSelectedInstOperands,
66649 /* 189906 */ // GIR_Coverage, 5633,
66650 /* 189906 */ GIR_Done,
66651 /* 189907 */ // Label 5435: @189907
66652 /* 189907 */ GIM_Reject,
66653 /* 189908 */ // Label 5433: @189908
66654 /* 189908 */ GIM_Reject,
66655 /* 189909 */ // Label 5431: @189909
66656 /* 189909 */ GIM_Reject,
66657 /* 189910 */ // Label 5369: @189910
66658 /* 189910 */ GIM_Try, /*On fail goto*//*Label 5436*/ GIMT_Encode4(190234),
66659 /* 189915 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
66660 /* 189918 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
66661 /* 189921 */ GIM_Try, /*On fail goto*//*Label 5437*/ GIMT_Encode4(190069),
66662 /* 189926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66663 /* 189930 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5438*/ GIMT_Encode4(189987), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24371 //
66664 /* 189937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66665 /* 189941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66666 /* 189945 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66667 /* 189948 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66668 /* 189952 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66669 /* 189956 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66670 /* 189960 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66671 /* 189962 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66672 /* 189969 */ // (umin:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMINUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66673 /* 189969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rm),
66674 /* 189972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66675 /* 189974 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66676 /* 189976 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66677 /* 189980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66678 /* 189985 */ GIR_RootConstrainSelectedInstOperands,
66679 /* 189986 */ // GIR_Coverage, 24371,
66680 /* 189986 */ GIR_EraseRootFromParent_Done,
66681 /* 189987 */ // Label 5438: @189987
66682 /* 189987 */ GIM_Try, /*On fail goto*//*Label 5439*/ GIMT_Encode4(190068),
66683 /* 189992 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66684 /* 189996 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5440*/ GIMT_Encode4(190049), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5681 //
66685 /* 190003 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66686 /* 190007 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66687 /* 190011 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66688 /* 190014 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66689 /* 190018 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66690 /* 190022 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66691 /* 190024 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66692 /* 190031 */ // (umin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66693 /* 190031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rm),
66694 /* 190034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66695 /* 190036 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66696 /* 190038 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66697 /* 190042 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66698 /* 190047 */ GIR_RootConstrainSelectedInstOperands,
66699 /* 190048 */ // GIR_Coverage, 5681,
66700 /* 190048 */ GIR_EraseRootFromParent_Done,
66701 /* 190049 */ // Label 5440: @190049
66702 /* 190049 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5441*/ GIMT_Encode4(190067), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5678 //
66703 /* 190056 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66704 /* 190060 */ // (umin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMINUQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
66705 /* 190060 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rr),
66706 /* 190065 */ GIR_RootConstrainSelectedInstOperands,
66707 /* 190066 */ // GIR_Coverage, 5678,
66708 /* 190066 */ GIR_Done,
66709 /* 190067 */ // Label 5441: @190067
66710 /* 190067 */ GIM_Reject,
66711 /* 190068 */ // Label 5439: @190068
66712 /* 190068 */ GIM_Reject,
66713 /* 190069 */ // Label 5437: @190069
66714 /* 190069 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5442*/ GIMT_Encode4(190233), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20135 //
66715 /* 190076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
66716 /* 190080 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66717 /* 190084 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66718 /* 190088 */ // (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] })
66719 /* 190088 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
66720 /* 190091 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66721 /* 190095 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66722 /* 190100 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
66723 /* 190102 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
66724 /* 190105 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66725 /* 190109 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66726 /* 190114 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
66727 /* 190117 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
66728 /* 190121 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
66729 /* 190124 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66730 /* 190129 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66731 /* 190134 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
66732 /* 190139 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
66733 /* 190142 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66734 /* 190146 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66735 /* 190151 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
66736 /* 190153 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
66737 /* 190156 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66738 /* 190160 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66739 /* 190165 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
66740 /* 190168 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
66741 /* 190172 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
66742 /* 190175 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66743 /* 190180 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66744 /* 190185 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
66745 /* 190190 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
66746 /* 190193 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
66747 /* 190197 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66748 /* 190202 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
66749 /* 190205 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
66750 /* 190208 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
66751 /* 190210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
66752 /* 190213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66753 /* 190215 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
66754 /* 190222 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
66755 /* 190227 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66756 /* 190232 */ // GIR_Coverage, 20135,
66757 /* 190232 */ GIR_EraseRootFromParent_Done,
66758 /* 190233 */ // Label 5442: @190233
66759 /* 190233 */ GIM_Reject,
66760 /* 190234 */ // Label 5436: @190234
66761 /* 190234 */ GIM_Reject,
66762 /* 190235 */ // Label 5370: @190235
66763 /* 190235 */ GIM_Try, /*On fail goto*//*Label 5443*/ GIMT_Encode4(190547),
66764 /* 190240 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
66765 /* 190243 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
66766 /* 190246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66767 /* 190250 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5444*/ GIMT_Encode4(190307), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24365 //
66768 /* 190257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66769 /* 190261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66770 /* 190265 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66771 /* 190268 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66772 /* 190272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66773 /* 190276 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66774 /* 190280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66775 /* 190282 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66776 /* 190289 */ // (umin:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMINUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66777 /* 190289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rm),
66778 /* 190292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66779 /* 190294 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66780 /* 190296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66781 /* 190300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66782 /* 190305 */ GIR_RootConstrainSelectedInstOperands,
66783 /* 190306 */ // GIR_Coverage, 24365,
66784 /* 190306 */ GIR_EraseRootFromParent_Done,
66785 /* 190307 */ // Label 5444: @190307
66786 /* 190307 */ GIM_Try, /*On fail goto*//*Label 5445*/ GIMT_Encode4(190546),
66787 /* 190312 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66788 /* 190316 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5446*/ GIMT_Encode4(190369), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5672 //
66789 /* 190323 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66790 /* 190327 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66791 /* 190331 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66792 /* 190334 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66793 /* 190338 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66794 /* 190342 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66795 /* 190344 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66796 /* 190351 */ // (umin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66797 /* 190351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rm),
66798 /* 190354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66799 /* 190356 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66800 /* 190358 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66801 /* 190362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66802 /* 190367 */ GIR_RootConstrainSelectedInstOperands,
66803 /* 190368 */ // GIR_Coverage, 5672,
66804 /* 190368 */ GIR_EraseRootFromParent_Done,
66805 /* 190369 */ // Label 5446: @190369
66806 /* 190369 */ GIM_Try, /*On fail goto*//*Label 5447*/ GIMT_Encode4(190545),
66807 /* 190374 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66808 /* 190378 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5448*/ GIMT_Encode4(190392), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5669 //
66809 /* 190385 */ // (umin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMINUQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
66810 /* 190385 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rr),
66811 /* 190390 */ GIR_RootConstrainSelectedInstOperands,
66812 /* 190391 */ // GIR_Coverage, 5669,
66813 /* 190391 */ GIR_Done,
66814 /* 190392 */ // Label 5448: @190392
66815 /* 190392 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5449*/ GIMT_Encode4(190544), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20134 //
66816 /* 190399 */ // (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] })
66817 /* 190399 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
66818 /* 190402 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66819 /* 190406 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66820 /* 190411 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
66821 /* 190413 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
66822 /* 190416 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66823 /* 190420 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66824 /* 190425 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
66825 /* 190428 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
66826 /* 190432 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
66827 /* 190435 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66828 /* 190440 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66829 /* 190445 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
66830 /* 190450 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
66831 /* 190453 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66832 /* 190457 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66833 /* 190462 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
66834 /* 190464 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
66835 /* 190467 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66836 /* 190471 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66837 /* 190476 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
66838 /* 190479 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
66839 /* 190483 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
66840 /* 190486 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66841 /* 190491 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66842 /* 190496 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
66843 /* 190501 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
66844 /* 190504 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
66845 /* 190508 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66846 /* 190513 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
66847 /* 190516 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
66848 /* 190519 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
66849 /* 190521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
66850 /* 190524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66851 /* 190526 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
66852 /* 190533 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
66853 /* 190538 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66854 /* 190543 */ // GIR_Coverage, 20134,
66855 /* 190543 */ GIR_EraseRootFromParent_Done,
66856 /* 190544 */ // Label 5449: @190544
66857 /* 190544 */ GIM_Reject,
66858 /* 190545 */ // Label 5447: @190545
66859 /* 190545 */ GIM_Reject,
66860 /* 190546 */ // Label 5445: @190546
66861 /* 190546 */ GIM_Reject,
66862 /* 190547 */ // Label 5443: @190547
66863 /* 190547 */ GIM_Reject,
66864 /* 190548 */ // Label 5371: @190548
66865 /* 190548 */ GIM_Try, /*On fail goto*//*Label 5450*/ GIMT_Encode4(190702),
66866 /* 190553 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
66867 /* 190556 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
66868 /* 190559 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66869 /* 190563 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5451*/ GIMT_Encode4(190620), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24359 //
66870 /* 190570 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66871 /* 190574 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66872 /* 190578 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66873 /* 190581 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66874 /* 190585 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66875 /* 190589 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66876 /* 190593 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66877 /* 190595 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66878 /* 190602 */ // (umin:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMINUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66879 /* 190602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrm),
66880 /* 190605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66881 /* 190607 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66882 /* 190609 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66883 /* 190613 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66884 /* 190618 */ GIR_RootConstrainSelectedInstOperands,
66885 /* 190619 */ // GIR_Coverage, 24359,
66886 /* 190619 */ GIR_EraseRootFromParent_Done,
66887 /* 190620 */ // Label 5451: @190620
66888 /* 190620 */ GIM_Try, /*On fail goto*//*Label 5452*/ GIMT_Encode4(190701),
66889 /* 190625 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66890 /* 190629 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5453*/ GIMT_Encode4(190682), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5663 //
66891 /* 190636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66892 /* 190640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66893 /* 190644 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66894 /* 190647 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66895 /* 190651 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66896 /* 190655 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66897 /* 190657 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66898 /* 190664 */ // (umin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66899 /* 190664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrm),
66900 /* 190667 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66901 /* 190669 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66902 /* 190671 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66903 /* 190675 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66904 /* 190680 */ GIR_RootConstrainSelectedInstOperands,
66905 /* 190681 */ // GIR_Coverage, 5663,
66906 /* 190681 */ GIR_EraseRootFromParent_Done,
66907 /* 190682 */ // Label 5453: @190682
66908 /* 190682 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5454*/ GIMT_Encode4(190700), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5660 //
66909 /* 190689 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66910 /* 190693 */ // (umin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMINUQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
66911 /* 190693 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
66912 /* 190698 */ GIR_RootConstrainSelectedInstOperands,
66913 /* 190699 */ // GIR_Coverage, 5660,
66914 /* 190699 */ GIR_Done,
66915 /* 190700 */ // Label 5454: @190700
66916 /* 190700 */ GIM_Reject,
66917 /* 190701 */ // Label 5452: @190701
66918 /* 190701 */ GIM_Reject,
66919 /* 190702 */ // Label 5450: @190702
66920 /* 190702 */ GIM_Reject,
66921 /* 190703 */ // Label 5372: @190703
66922 /* 190703 */ GIM_Reject,
66923 /* 190704 */ // Label 62: @190704
66924 /* 190704 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 5467*/ GIMT_Encode4(193935),
66925 /* 190715 */ /*GILLT_v16s8*//*Label 5455*/ GIMT_Encode4(190763),
66926 /* 190719 */ /*GILLT_v32s8*//*Label 5456*/ GIMT_Encode4(191092),
66927 /* 190723 */ /*GILLT_v64s8*//*Label 5457*/ GIMT_Encode4(191401),
66928 /* 190727 */ /*GILLT_v8s16*//*Label 5458*/ GIMT_Encode4(191556),
66929 /* 190731 */ /*GILLT_v16s16*//*Label 5459*/ GIMT_Encode4(191885),
66930 /* 190735 */ /*GILLT_v32s16*//*Label 5460*/ GIMT_Encode4(192194),
66931 /* 190739 */ /*GILLT_v4s32*//*Label 5461*/ GIMT_Encode4(192349),
66932 /* 190743 */ /*GILLT_v8s32*//*Label 5462*/ GIMT_Encode4(192678),
66933 /* 190747 */ /*GILLT_v16s32*//*Label 5463*/ GIMT_Encode4(192987),
66934 /* 190751 */ /*GILLT_v2s64*//*Label 5464*/ GIMT_Encode4(193142),
66935 /* 190755 */ /*GILLT_v4s64*//*Label 5465*/ GIMT_Encode4(193467),
66936 /* 190759 */ /*GILLT_v8s64*//*Label 5466*/ GIMT_Encode4(193780),
66937 /* 190763 */ // Label 5455: @190763
66938 /* 190763 */ GIM_Try, /*On fail goto*//*Label 5468*/ GIMT_Encode4(191091),
66939 /* 190768 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
66940 /* 190771 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
66941 /* 190774 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5469*/ GIMT_Encode4(190835), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23708 //
66942 /* 190781 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66943 /* 190785 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66944 /* 190789 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66945 /* 190793 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66946 /* 190796 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66947 /* 190800 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66948 /* 190804 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66949 /* 190808 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66950 /* 190810 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66951 /* 190817 */ // (umax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMAXUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66952 /* 190817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrm),
66953 /* 190820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66954 /* 190822 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66955 /* 190824 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66956 /* 190828 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66957 /* 190833 */ GIR_RootConstrainSelectedInstOperands,
66958 /* 190834 */ // GIR_Coverage, 23708,
66959 /* 190834 */ GIR_EraseRootFromParent_Done,
66960 /* 190835 */ // Label 5469: @190835
66961 /* 190835 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5470*/ GIMT_Encode4(190896), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24221 //
66962 /* 190842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66963 /* 190846 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66964 /* 190850 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66965 /* 190854 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66966 /* 190857 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66967 /* 190861 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66968 /* 190865 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66969 /* 190869 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66970 /* 190871 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66971 /* 190878 */ // (umax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMAXUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66972 /* 190878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rm),
66973 /* 190881 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66974 /* 190883 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66975 /* 190885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66976 /* 190889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66977 /* 190894 */ GIR_RootConstrainSelectedInstOperands,
66978 /* 190895 */ // GIR_Coverage, 24221,
66979 /* 190895 */ GIR_EraseRootFromParent_Done,
66980 /* 190896 */ // Label 5470: @190896
66981 /* 190896 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5471*/ GIMT_Encode4(190957), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2631 //
66982 /* 190903 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66983 /* 190907 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66984 /* 190911 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66985 /* 190915 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66986 /* 190919 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66987 /* 190922 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66988 /* 190926 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66989 /* 190930 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66990 /* 190932 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66991 /* 190939 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66992 /* 190939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrm),
66993 /* 190942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66994 /* 190944 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66995 /* 190946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66996 /* 190950 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66997 /* 190955 */ GIR_RootConstrainSelectedInstOperands,
66998 /* 190956 */ // GIR_Coverage, 2631,
66999 /* 190956 */ GIR_EraseRootFromParent_Done,
67000 /* 190957 */ // Label 5471: @190957
67001 /* 190957 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5472*/ GIMT_Encode4(191018), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5432 //
67002 /* 190964 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67003 /* 190968 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67004 /* 190972 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67005 /* 190976 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67006 /* 190980 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67007 /* 190983 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67008 /* 190987 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67009 /* 190991 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67010 /* 190993 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67011 /* 191000 */ // (umax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67012 /* 191000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rm),
67013 /* 191003 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67014 /* 191005 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67015 /* 191007 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67016 /* 191011 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67017 /* 191016 */ GIR_RootConstrainSelectedInstOperands,
67018 /* 191017 */ // GIR_Coverage, 5432,
67019 /* 191017 */ GIR_EraseRootFromParent_Done,
67020 /* 191018 */ // Label 5472: @191018
67021 /* 191018 */ GIM_Try, /*On fail goto*//*Label 5473*/ GIMT_Encode4(191064),
67022 /* 191023 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67023 /* 191027 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67024 /* 191031 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67025 /* 191035 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5474*/ GIMT_Encode4(191049), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2630 //
67026 /* 191042 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMAXUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
67027 /* 191042 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrr),
67028 /* 191047 */ GIR_RootConstrainSelectedInstOperands,
67029 /* 191048 */ // GIR_Coverage, 2630,
67030 /* 191048 */ GIR_Done,
67031 /* 191049 */ // Label 5474: @191049
67032 /* 191049 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5475*/ GIMT_Encode4(191063), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2632 //
67033 /* 191056 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMAXUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
67034 /* 191056 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUBrr),
67035 /* 191061 */ GIR_RootConstrainSelectedInstOperands,
67036 /* 191062 */ // GIR_Coverage, 2632,
67037 /* 191062 */ GIR_Done,
67038 /* 191063 */ // Label 5475: @191063
67039 /* 191063 */ GIM_Reject,
67040 /* 191064 */ // Label 5473: @191064
67041 /* 191064 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5476*/ GIMT_Encode4(191090), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5429 //
67042 /* 191071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67043 /* 191075 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67044 /* 191079 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67045 /* 191083 */ // (umax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMAXUBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
67046 /* 191083 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rr),
67047 /* 191088 */ GIR_RootConstrainSelectedInstOperands,
67048 /* 191089 */ // GIR_Coverage, 5429,
67049 /* 191089 */ GIR_Done,
67050 /* 191090 */ // Label 5476: @191090
67051 /* 191090 */ GIM_Reject,
67052 /* 191091 */ // Label 5468: @191091
67053 /* 191091 */ GIM_Reject,
67054 /* 191092 */ // Label 5456: @191092
67055 /* 191092 */ GIM_Try, /*On fail goto*//*Label 5477*/ GIMT_Encode4(191400),
67056 /* 191097 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
67057 /* 191100 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
67058 /* 191103 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5478*/ GIMT_Encode4(191164), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23710 //
67059 /* 191110 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67060 /* 191114 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67061 /* 191118 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67062 /* 191122 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67063 /* 191125 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67064 /* 191129 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67065 /* 191133 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67066 /* 191137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67067 /* 191139 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67068 /* 191146 */ // (umax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMAXUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67069 /* 191146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrm),
67070 /* 191149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67071 /* 191151 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67072 /* 191153 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67073 /* 191157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67074 /* 191162 */ GIR_RootConstrainSelectedInstOperands,
67075 /* 191163 */ // GIR_Coverage, 23710,
67076 /* 191163 */ GIR_EraseRootFromParent_Done,
67077 /* 191164 */ // Label 5478: @191164
67078 /* 191164 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5479*/ GIMT_Encode4(191225), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24218 //
67079 /* 191171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67080 /* 191175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67081 /* 191179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67082 /* 191183 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67083 /* 191186 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67084 /* 191190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67085 /* 191194 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67086 /* 191198 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67087 /* 191200 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67088 /* 191207 */ // (umax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMAXUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67089 /* 191207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rm),
67090 /* 191210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67091 /* 191212 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67092 /* 191214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67093 /* 191218 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67094 /* 191223 */ GIR_RootConstrainSelectedInstOperands,
67095 /* 191224 */ // GIR_Coverage, 24218,
67096 /* 191224 */ GIR_EraseRootFromParent_Done,
67097 /* 191225 */ // Label 5479: @191225
67098 /* 191225 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5480*/ GIMT_Encode4(191286), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2635 //
67099 /* 191232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67100 /* 191236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67101 /* 191240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67102 /* 191244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67103 /* 191248 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67104 /* 191251 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67105 /* 191255 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67106 /* 191259 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67107 /* 191261 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67108 /* 191268 */ // (umax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67109 /* 191268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrm),
67110 /* 191271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67111 /* 191273 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67112 /* 191275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67113 /* 191279 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67114 /* 191284 */ GIR_RootConstrainSelectedInstOperands,
67115 /* 191285 */ // GIR_Coverage, 2635,
67116 /* 191285 */ GIR_EraseRootFromParent_Done,
67117 /* 191286 */ // Label 5480: @191286
67118 /* 191286 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5481*/ GIMT_Encode4(191347), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5426 //
67119 /* 191293 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67120 /* 191297 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67121 /* 191301 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67122 /* 191305 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67123 /* 191309 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67124 /* 191312 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67125 /* 191316 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67126 /* 191320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67127 /* 191322 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67128 /* 191329 */ // (umax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67129 /* 191329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rm),
67130 /* 191332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67131 /* 191334 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67132 /* 191336 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67133 /* 191340 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67134 /* 191345 */ GIR_RootConstrainSelectedInstOperands,
67135 /* 191346 */ // GIR_Coverage, 5426,
67136 /* 191346 */ GIR_EraseRootFromParent_Done,
67137 /* 191347 */ // Label 5481: @191347
67138 /* 191347 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5482*/ GIMT_Encode4(191373), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2634 //
67139 /* 191354 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67140 /* 191358 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67141 /* 191362 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67142 /* 191366 */ // (umax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMAXUBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
67143 /* 191366 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrr),
67144 /* 191371 */ GIR_RootConstrainSelectedInstOperands,
67145 /* 191372 */ // GIR_Coverage, 2634,
67146 /* 191372 */ GIR_Done,
67147 /* 191373 */ // Label 5482: @191373
67148 /* 191373 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5483*/ GIMT_Encode4(191399), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5423 //
67149 /* 191380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67150 /* 191384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67151 /* 191388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67152 /* 191392 */ // (umax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMAXUBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
67153 /* 191392 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rr),
67154 /* 191397 */ GIR_RootConstrainSelectedInstOperands,
67155 /* 191398 */ // GIR_Coverage, 5423,
67156 /* 191398 */ GIR_Done,
67157 /* 191399 */ // Label 5483: @191399
67158 /* 191399 */ GIM_Reject,
67159 /* 191400 */ // Label 5477: @191400
67160 /* 191400 */ GIM_Reject,
67161 /* 191401 */ // Label 5457: @191401
67162 /* 191401 */ GIM_Try, /*On fail goto*//*Label 5484*/ GIMT_Encode4(191555),
67163 /* 191406 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
67164 /* 191409 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
67165 /* 191412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67166 /* 191416 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5485*/ GIMT_Encode4(191473), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24215 //
67167 /* 191423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67168 /* 191427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67169 /* 191431 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67170 /* 191434 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67171 /* 191438 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67172 /* 191442 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67173 /* 191446 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67174 /* 191448 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67175 /* 191455 */ // (umax:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMAXUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67176 /* 191455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrm),
67177 /* 191458 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67178 /* 191460 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67179 /* 191462 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67180 /* 191466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67181 /* 191471 */ GIR_RootConstrainSelectedInstOperands,
67182 /* 191472 */ // GIR_Coverage, 24215,
67183 /* 191472 */ GIR_EraseRootFromParent_Done,
67184 /* 191473 */ // Label 5485: @191473
67185 /* 191473 */ GIM_Try, /*On fail goto*//*Label 5486*/ GIMT_Encode4(191554),
67186 /* 191478 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67187 /* 191482 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5487*/ GIMT_Encode4(191535), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5420 //
67188 /* 191489 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67189 /* 191493 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67190 /* 191497 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67191 /* 191500 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67192 /* 191504 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67193 /* 191508 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67194 /* 191510 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67195 /* 191517 */ // (umax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67196 /* 191517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrm),
67197 /* 191520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67198 /* 191522 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67199 /* 191524 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67200 /* 191528 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67201 /* 191533 */ GIR_RootConstrainSelectedInstOperands,
67202 /* 191534 */ // GIR_Coverage, 5420,
67203 /* 191534 */ GIR_EraseRootFromParent_Done,
67204 /* 191535 */ // Label 5487: @191535
67205 /* 191535 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5488*/ GIMT_Encode4(191553), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5417 //
67206 /* 191542 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67207 /* 191546 */ // (umax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMAXUBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
67208 /* 191546 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrr),
67209 /* 191551 */ GIR_RootConstrainSelectedInstOperands,
67210 /* 191552 */ // GIR_Coverage, 5417,
67211 /* 191552 */ GIR_Done,
67212 /* 191553 */ // Label 5488: @191553
67213 /* 191553 */ GIM_Reject,
67214 /* 191554 */ // Label 5486: @191554
67215 /* 191554 */ GIM_Reject,
67216 /* 191555 */ // Label 5484: @191555
67217 /* 191555 */ GIM_Reject,
67218 /* 191556 */ // Label 5458: @191556
67219 /* 191556 */ GIM_Try, /*On fail goto*//*Label 5489*/ GIMT_Encode4(191884),
67220 /* 191561 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
67221 /* 191564 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
67222 /* 191567 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5490*/ GIMT_Encode4(191628), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 23749 //
67223 /* 191574 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67224 /* 191578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67225 /* 191582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67226 /* 191586 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67227 /* 191589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67228 /* 191593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67229 /* 191597 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67230 /* 191601 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67231 /* 191603 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67232 /* 191610 */ // (umax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMAXUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67233 /* 191610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrm),
67234 /* 191613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67235 /* 191615 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67236 /* 191617 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67237 /* 191621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67238 /* 191626 */ GIR_RootConstrainSelectedInstOperands,
67239 /* 191627 */ // GIR_Coverage, 23749,
67240 /* 191627 */ GIR_EraseRootFromParent_Done,
67241 /* 191628 */ // Label 5490: @191628
67242 /* 191628 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5491*/ GIMT_Encode4(191689), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24230 //
67243 /* 191635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67244 /* 191639 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67245 /* 191643 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67246 /* 191647 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67247 /* 191650 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67248 /* 191654 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67249 /* 191658 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67250 /* 191662 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67251 /* 191664 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67252 /* 191671 */ // (umax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMAXUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67253 /* 191671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rm),
67254 /* 191674 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67255 /* 191676 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67256 /* 191678 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67257 /* 191682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67258 /* 191687 */ GIR_RootConstrainSelectedInstOperands,
67259 /* 191688 */ // GIR_Coverage, 24230,
67260 /* 191688 */ GIR_EraseRootFromParent_Done,
67261 /* 191689 */ // Label 5491: @191689
67262 /* 191689 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5492*/ GIMT_Encode4(191750), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 3190 //
67263 /* 191696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67264 /* 191700 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67265 /* 191704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67266 /* 191708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67267 /* 191712 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67268 /* 191715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67269 /* 191719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67270 /* 191723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67271 /* 191725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67272 /* 191732 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67273 /* 191732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrm),
67274 /* 191735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67275 /* 191737 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67276 /* 191739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67277 /* 191743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67278 /* 191748 */ GIR_RootConstrainSelectedInstOperands,
67279 /* 191749 */ // GIR_Coverage, 3190,
67280 /* 191749 */ GIR_EraseRootFromParent_Done,
67281 /* 191750 */ // Label 5492: @191750
67282 /* 191750 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5493*/ GIMT_Encode4(191811), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5450 //
67283 /* 191757 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67284 /* 191761 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67285 /* 191765 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67286 /* 191769 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67287 /* 191773 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67288 /* 191776 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67289 /* 191780 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67290 /* 191784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67291 /* 191786 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67292 /* 191793 */ // (umax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67293 /* 191793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rm),
67294 /* 191796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67295 /* 191798 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67296 /* 191800 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67297 /* 191804 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67298 /* 191809 */ GIR_RootConstrainSelectedInstOperands,
67299 /* 191810 */ // GIR_Coverage, 5450,
67300 /* 191810 */ GIR_EraseRootFromParent_Done,
67301 /* 191811 */ // Label 5493: @191811
67302 /* 191811 */ GIM_Try, /*On fail goto*//*Label 5494*/ GIMT_Encode4(191857),
67303 /* 191816 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67304 /* 191820 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67305 /* 191824 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67306 /* 191828 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5495*/ GIMT_Encode4(191842), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 3189 //
67307 /* 191835 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMAXUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
67308 /* 191835 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrr),
67309 /* 191840 */ GIR_RootConstrainSelectedInstOperands,
67310 /* 191841 */ // GIR_Coverage, 3189,
67311 /* 191841 */ GIR_Done,
67312 /* 191842 */ // Label 5495: @191842
67313 /* 191842 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5496*/ GIMT_Encode4(191856), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3223 //
67314 /* 191849 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMAXUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
67315 /* 191849 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUWrr),
67316 /* 191854 */ GIR_RootConstrainSelectedInstOperands,
67317 /* 191855 */ // GIR_Coverage, 3223,
67318 /* 191855 */ GIR_Done,
67319 /* 191856 */ // Label 5496: @191856
67320 /* 191856 */ GIM_Reject,
67321 /* 191857 */ // Label 5494: @191857
67322 /* 191857 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5497*/ GIMT_Encode4(191883), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5447 //
67323 /* 191864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67324 /* 191868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67325 /* 191872 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67326 /* 191876 */ // (umax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMAXUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
67327 /* 191876 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rr),
67328 /* 191881 */ GIR_RootConstrainSelectedInstOperands,
67329 /* 191882 */ // GIR_Coverage, 5447,
67330 /* 191882 */ GIR_Done,
67331 /* 191883 */ // Label 5497: @191883
67332 /* 191883 */ GIM_Reject,
67333 /* 191884 */ // Label 5489: @191884
67334 /* 191884 */ GIM_Reject,
67335 /* 191885 */ // Label 5459: @191885
67336 /* 191885 */ GIM_Try, /*On fail goto*//*Label 5498*/ GIMT_Encode4(192193),
67337 /* 191890 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
67338 /* 191893 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
67339 /* 191896 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5499*/ GIMT_Encode4(191957), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 23758 //
67340 /* 191903 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67341 /* 191907 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67342 /* 191911 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67343 /* 191915 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67344 /* 191918 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67345 /* 191922 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67346 /* 191926 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67347 /* 191930 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67348 /* 191932 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67349 /* 191939 */ // (umax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMAXUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67350 /* 191939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrm),
67351 /* 191942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67352 /* 191944 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67353 /* 191946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67354 /* 191950 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67355 /* 191955 */ GIR_RootConstrainSelectedInstOperands,
67356 /* 191956 */ // GIR_Coverage, 23758,
67357 /* 191956 */ GIR_EraseRootFromParent_Done,
67358 /* 191957 */ // Label 5499: @191957
67359 /* 191957 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5500*/ GIMT_Encode4(192018), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 24227 //
67360 /* 191964 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67361 /* 191968 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67362 /* 191972 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67363 /* 191976 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67364 /* 191979 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67365 /* 191983 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67366 /* 191987 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67367 /* 191991 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67368 /* 191993 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67369 /* 192000 */ // (umax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMAXUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67370 /* 192000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rm),
67371 /* 192003 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67372 /* 192005 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67373 /* 192007 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67374 /* 192011 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67375 /* 192016 */ GIR_RootConstrainSelectedInstOperands,
67376 /* 192017 */ // GIR_Coverage, 24227,
67377 /* 192017 */ GIR_EraseRootFromParent_Done,
67378 /* 192018 */ // Label 5500: @192018
67379 /* 192018 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5501*/ GIMT_Encode4(192079), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 3208 //
67380 /* 192025 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67381 /* 192029 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67382 /* 192033 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67383 /* 192037 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67384 /* 192041 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67385 /* 192044 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67386 /* 192048 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67387 /* 192052 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67388 /* 192054 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67389 /* 192061 */ // (umax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67390 /* 192061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrm),
67391 /* 192064 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67392 /* 192066 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67393 /* 192068 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67394 /* 192072 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67395 /* 192077 */ GIR_RootConstrainSelectedInstOperands,
67396 /* 192078 */ // GIR_Coverage, 3208,
67397 /* 192078 */ GIR_EraseRootFromParent_Done,
67398 /* 192079 */ // Label 5501: @192079
67399 /* 192079 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5502*/ GIMT_Encode4(192140), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5444 //
67400 /* 192086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67401 /* 192090 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67402 /* 192094 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67403 /* 192098 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67404 /* 192102 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67405 /* 192105 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67406 /* 192109 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67407 /* 192113 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67408 /* 192115 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67409 /* 192122 */ // (umax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67410 /* 192122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rm),
67411 /* 192125 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67412 /* 192127 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67413 /* 192129 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67414 /* 192133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67415 /* 192138 */ GIR_RootConstrainSelectedInstOperands,
67416 /* 192139 */ // GIR_Coverage, 5444,
67417 /* 192139 */ GIR_EraseRootFromParent_Done,
67418 /* 192140 */ // Label 5502: @192140
67419 /* 192140 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5503*/ GIMT_Encode4(192166), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 3207 //
67420 /* 192147 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67421 /* 192151 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67422 /* 192155 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67423 /* 192159 */ // (umax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMAXUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
67424 /* 192159 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrr),
67425 /* 192164 */ GIR_RootConstrainSelectedInstOperands,
67426 /* 192165 */ // GIR_Coverage, 3207,
67427 /* 192165 */ GIR_Done,
67428 /* 192166 */ // Label 5503: @192166
67429 /* 192166 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5504*/ GIMT_Encode4(192192), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 5441 //
67430 /* 192173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67431 /* 192177 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67432 /* 192181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67433 /* 192185 */ // (umax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMAXUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
67434 /* 192185 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rr),
67435 /* 192190 */ GIR_RootConstrainSelectedInstOperands,
67436 /* 192191 */ // GIR_Coverage, 5441,
67437 /* 192191 */ GIR_Done,
67438 /* 192192 */ // Label 5504: @192192
67439 /* 192192 */ GIM_Reject,
67440 /* 192193 */ // Label 5498: @192193
67441 /* 192193 */ GIM_Reject,
67442 /* 192194 */ // Label 5460: @192194
67443 /* 192194 */ GIM_Try, /*On fail goto*//*Label 5505*/ GIMT_Encode4(192348),
67444 /* 192199 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
67445 /* 192202 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
67446 /* 192205 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67447 /* 192209 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5506*/ GIMT_Encode4(192266), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 24224 //
67448 /* 192216 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67449 /* 192220 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67450 /* 192224 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67451 /* 192227 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67452 /* 192231 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67453 /* 192235 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67454 /* 192239 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67455 /* 192241 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67456 /* 192248 */ // (umax:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMAXUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67457 /* 192248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrm),
67458 /* 192251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67459 /* 192253 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67460 /* 192255 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67461 /* 192259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67462 /* 192264 */ GIR_RootConstrainSelectedInstOperands,
67463 /* 192265 */ // GIR_Coverage, 24224,
67464 /* 192265 */ GIR_EraseRootFromParent_Done,
67465 /* 192266 */ // Label 5506: @192266
67466 /* 192266 */ GIM_Try, /*On fail goto*//*Label 5507*/ GIMT_Encode4(192347),
67467 /* 192271 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67468 /* 192275 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5508*/ GIMT_Encode4(192328), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5438 //
67469 /* 192282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67470 /* 192286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67471 /* 192290 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67472 /* 192293 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67473 /* 192297 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67474 /* 192301 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67475 /* 192303 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67476 /* 192310 */ // (umax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67477 /* 192310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrm),
67478 /* 192313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67479 /* 192315 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67480 /* 192317 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67481 /* 192321 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67482 /* 192326 */ GIR_RootConstrainSelectedInstOperands,
67483 /* 192327 */ // GIR_Coverage, 5438,
67484 /* 192327 */ GIR_EraseRootFromParent_Done,
67485 /* 192328 */ // Label 5508: @192328
67486 /* 192328 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5509*/ GIMT_Encode4(192346), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 5435 //
67487 /* 192335 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67488 /* 192339 */ // (umax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMAXUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
67489 /* 192339 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrr),
67490 /* 192344 */ GIR_RootConstrainSelectedInstOperands,
67491 /* 192345 */ // GIR_Coverage, 5435,
67492 /* 192345 */ GIR_Done,
67493 /* 192346 */ // Label 5509: @192346
67494 /* 192346 */ GIM_Reject,
67495 /* 192347 */ // Label 5507: @192347
67496 /* 192347 */ GIM_Reject,
67497 /* 192348 */ // Label 5505: @192348
67498 /* 192348 */ GIM_Reject,
67499 /* 192349 */ // Label 5461: @192349
67500 /* 192349 */ GIM_Try, /*On fail goto*//*Label 5510*/ GIMT_Encode4(192677),
67501 /* 192354 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
67502 /* 192357 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
67503 /* 192360 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5511*/ GIMT_Encode4(192421), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23744 //
67504 /* 192367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67505 /* 192371 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67506 /* 192375 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67507 /* 192379 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67508 /* 192382 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67509 /* 192386 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67510 /* 192390 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67511 /* 192394 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67512 /* 192396 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67513 /* 192403 */ // (umax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMAXUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67514 /* 192403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrm),
67515 /* 192406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67516 /* 192408 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67517 /* 192410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67518 /* 192414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67519 /* 192419 */ GIR_RootConstrainSelectedInstOperands,
67520 /* 192420 */ // GIR_Coverage, 23744,
67521 /* 192420 */ GIR_EraseRootFromParent_Done,
67522 /* 192421 */ // Label 5511: @192421
67523 /* 192421 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5512*/ GIMT_Encode4(192482), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24245 //
67524 /* 192428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67525 /* 192432 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67526 /* 192436 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67527 /* 192440 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67528 /* 192443 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67529 /* 192447 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67530 /* 192451 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67531 /* 192455 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67532 /* 192457 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67533 /* 192464 */ // (umax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMAXUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67534 /* 192464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rm),
67535 /* 192467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67536 /* 192469 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67537 /* 192471 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67538 /* 192475 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67539 /* 192480 */ GIR_RootConstrainSelectedInstOperands,
67540 /* 192481 */ // GIR_Coverage, 24245,
67541 /* 192481 */ GIR_EraseRootFromParent_Done,
67542 /* 192482 */ // Label 5512: @192482
67543 /* 192482 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5513*/ GIMT_Encode4(192543), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3180 //
67544 /* 192489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67545 /* 192493 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67546 /* 192497 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67547 /* 192501 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67548 /* 192505 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67549 /* 192508 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67550 /* 192512 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67551 /* 192516 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67552 /* 192518 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67553 /* 192525 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67554 /* 192525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrm),
67555 /* 192528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67556 /* 192530 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67557 /* 192532 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67558 /* 192536 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67559 /* 192541 */ GIR_RootConstrainSelectedInstOperands,
67560 /* 192542 */ // GIR_Coverage, 3180,
67561 /* 192542 */ GIR_EraseRootFromParent_Done,
67562 /* 192543 */ // Label 5513: @192543
67563 /* 192543 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5514*/ GIMT_Encode4(192604), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5474 //
67564 /* 192550 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67565 /* 192554 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67566 /* 192558 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67567 /* 192562 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67568 /* 192566 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67569 /* 192569 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67570 /* 192573 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67571 /* 192577 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67572 /* 192579 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67573 /* 192586 */ // (umax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67574 /* 192586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rm),
67575 /* 192589 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67576 /* 192591 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67577 /* 192593 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67578 /* 192597 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67579 /* 192602 */ GIR_RootConstrainSelectedInstOperands,
67580 /* 192603 */ // GIR_Coverage, 5474,
67581 /* 192603 */ GIR_EraseRootFromParent_Done,
67582 /* 192604 */ // Label 5514: @192604
67583 /* 192604 */ GIM_Try, /*On fail goto*//*Label 5515*/ GIMT_Encode4(192650),
67584 /* 192609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67585 /* 192613 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67586 /* 192617 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67587 /* 192621 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5516*/ GIMT_Encode4(192635), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 3179 //
67588 /* 192628 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMAXUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
67589 /* 192628 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrr),
67590 /* 192633 */ GIR_RootConstrainSelectedInstOperands,
67591 /* 192634 */ // GIR_Coverage, 3179,
67592 /* 192634 */ GIR_Done,
67593 /* 192635 */ // Label 5516: @192635
67594 /* 192635 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5517*/ GIMT_Encode4(192649), GIMT_Encode2(GIFBS_UseSSE41), // Rule ID 3221 //
67595 /* 192642 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMAXUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
67596 /* 192642 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUDrr),
67597 /* 192647 */ GIR_RootConstrainSelectedInstOperands,
67598 /* 192648 */ // GIR_Coverage, 3221,
67599 /* 192648 */ GIR_Done,
67600 /* 192649 */ // Label 5517: @192649
67601 /* 192649 */ GIM_Reject,
67602 /* 192650 */ // Label 5515: @192650
67603 /* 192650 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5518*/ GIMT_Encode4(192676), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5471 //
67604 /* 192657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67605 /* 192661 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67606 /* 192665 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67607 /* 192669 */ // (umax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMAXUDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
67608 /* 192669 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rr),
67609 /* 192674 */ GIR_RootConstrainSelectedInstOperands,
67610 /* 192675 */ // GIR_Coverage, 5471,
67611 /* 192675 */ GIR_Done,
67612 /* 192676 */ // Label 5518: @192676
67613 /* 192676 */ GIM_Reject,
67614 /* 192677 */ // Label 5510: @192677
67615 /* 192677 */ GIM_Reject,
67616 /* 192678 */ // Label 5462: @192678
67617 /* 192678 */ GIM_Try, /*On fail goto*//*Label 5519*/ GIMT_Encode4(192986),
67618 /* 192683 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
67619 /* 192686 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
67620 /* 192689 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5520*/ GIMT_Encode4(192750), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 23753 //
67621 /* 192696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67622 /* 192700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67623 /* 192704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67624 /* 192708 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67625 /* 192711 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67626 /* 192715 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67627 /* 192719 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67628 /* 192723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67629 /* 192725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67630 /* 192732 */ // (umax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMAXUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67631 /* 192732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrm),
67632 /* 192735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67633 /* 192737 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67634 /* 192739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67635 /* 192743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67636 /* 192748 */ GIR_RootConstrainSelectedInstOperands,
67637 /* 192749 */ // GIR_Coverage, 23753,
67638 /* 192749 */ GIR_EraseRootFromParent_Done,
67639 /* 192750 */ // Label 5520: @192750
67640 /* 192750 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5521*/ GIMT_Encode4(192811), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24239 //
67641 /* 192757 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67642 /* 192761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67643 /* 192765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67644 /* 192769 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67645 /* 192772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67646 /* 192776 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67647 /* 192780 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67648 /* 192784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67649 /* 192786 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67650 /* 192793 */ // (umax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMAXUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67651 /* 192793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rm),
67652 /* 192796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67653 /* 192798 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67654 /* 192800 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67655 /* 192804 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67656 /* 192809 */ GIR_RootConstrainSelectedInstOperands,
67657 /* 192810 */ // GIR_Coverage, 24239,
67658 /* 192810 */ GIR_EraseRootFromParent_Done,
67659 /* 192811 */ // Label 5521: @192811
67660 /* 192811 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5522*/ GIMT_Encode4(192872), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3198 //
67661 /* 192818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67662 /* 192822 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67663 /* 192826 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67664 /* 192830 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67665 /* 192834 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67666 /* 192837 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67667 /* 192841 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67668 /* 192845 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67669 /* 192847 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67670 /* 192854 */ // (umax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67671 /* 192854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrm),
67672 /* 192857 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67673 /* 192859 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67674 /* 192861 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67675 /* 192865 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67676 /* 192870 */ GIR_RootConstrainSelectedInstOperands,
67677 /* 192871 */ // GIR_Coverage, 3198,
67678 /* 192871 */ GIR_EraseRootFromParent_Done,
67679 /* 192872 */ // Label 5522: @192872
67680 /* 192872 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5523*/ GIMT_Encode4(192933), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5465 //
67681 /* 192879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67682 /* 192883 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67683 /* 192887 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67684 /* 192891 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67685 /* 192895 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67686 /* 192898 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67687 /* 192902 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67688 /* 192906 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67689 /* 192908 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67690 /* 192915 */ // (umax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67691 /* 192915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rm),
67692 /* 192918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67693 /* 192920 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67694 /* 192922 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67695 /* 192926 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67696 /* 192931 */ GIR_RootConstrainSelectedInstOperands,
67697 /* 192932 */ // GIR_Coverage, 5465,
67698 /* 192932 */ GIR_EraseRootFromParent_Done,
67699 /* 192933 */ // Label 5523: @192933
67700 /* 192933 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5524*/ GIMT_Encode4(192959), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 3197 //
67701 /* 192940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67702 /* 192944 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67703 /* 192948 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67704 /* 192952 */ // (umax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMAXUDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
67705 /* 192952 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrr),
67706 /* 192957 */ GIR_RootConstrainSelectedInstOperands,
67707 /* 192958 */ // GIR_Coverage, 3197,
67708 /* 192958 */ GIR_Done,
67709 /* 192959 */ // Label 5524: @192959
67710 /* 192959 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5525*/ GIMT_Encode4(192985), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5462 //
67711 /* 192966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67712 /* 192970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67713 /* 192974 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67714 /* 192978 */ // (umax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMAXUDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
67715 /* 192978 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rr),
67716 /* 192983 */ GIR_RootConstrainSelectedInstOperands,
67717 /* 192984 */ // GIR_Coverage, 5462,
67718 /* 192984 */ GIR_Done,
67719 /* 192985 */ // Label 5525: @192985
67720 /* 192985 */ GIM_Reject,
67721 /* 192986 */ // Label 5519: @192986
67722 /* 192986 */ GIM_Reject,
67723 /* 192987 */ // Label 5463: @192987
67724 /* 192987 */ GIM_Try, /*On fail goto*//*Label 5526*/ GIMT_Encode4(193141),
67725 /* 192992 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
67726 /* 192995 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
67727 /* 192998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67728 /* 193002 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5527*/ GIMT_Encode4(193059), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24233 //
67729 /* 193009 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67730 /* 193013 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67731 /* 193017 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67732 /* 193020 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67733 /* 193024 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67734 /* 193028 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67735 /* 193032 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67736 /* 193034 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67737 /* 193041 */ // (umax:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMAXUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67738 /* 193041 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrm),
67739 /* 193044 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67740 /* 193046 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67741 /* 193048 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67742 /* 193052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67743 /* 193057 */ GIR_RootConstrainSelectedInstOperands,
67744 /* 193058 */ // GIR_Coverage, 24233,
67745 /* 193058 */ GIR_EraseRootFromParent_Done,
67746 /* 193059 */ // Label 5527: @193059
67747 /* 193059 */ GIM_Try, /*On fail goto*//*Label 5528*/ GIMT_Encode4(193140),
67748 /* 193064 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67749 /* 193068 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5529*/ GIMT_Encode4(193121), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5456 //
67750 /* 193075 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67751 /* 193079 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67752 /* 193083 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67753 /* 193086 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67754 /* 193090 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67755 /* 193094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67756 /* 193096 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67757 /* 193103 */ // (umax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67758 /* 193103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrm),
67759 /* 193106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67760 /* 193108 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67761 /* 193110 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67762 /* 193114 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67763 /* 193119 */ GIR_RootConstrainSelectedInstOperands,
67764 /* 193120 */ // GIR_Coverage, 5456,
67765 /* 193120 */ GIR_EraseRootFromParent_Done,
67766 /* 193121 */ // Label 5529: @193121
67767 /* 193121 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5530*/ GIMT_Encode4(193139), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5453 //
67768 /* 193128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67769 /* 193132 */ // (umax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMAXUDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
67770 /* 193132 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrr),
67771 /* 193137 */ GIR_RootConstrainSelectedInstOperands,
67772 /* 193138 */ // GIR_Coverage, 5453,
67773 /* 193138 */ GIR_Done,
67774 /* 193139 */ // Label 5530: @193139
67775 /* 193139 */ GIM_Reject,
67776 /* 193140 */ // Label 5528: @193140
67777 /* 193140 */ GIM_Reject,
67778 /* 193141 */ // Label 5526: @193141
67779 /* 193141 */ GIM_Reject,
67780 /* 193142 */ // Label 5464: @193142
67781 /* 193142 */ GIM_Try, /*On fail goto*//*Label 5531*/ GIMT_Encode4(193466),
67782 /* 193147 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
67783 /* 193150 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
67784 /* 193153 */ GIM_Try, /*On fail goto*//*Label 5532*/ GIMT_Encode4(193301),
67785 /* 193158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67786 /* 193162 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5533*/ GIMT_Encode4(193219), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24263 //
67787 /* 193169 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67788 /* 193173 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67789 /* 193177 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67790 /* 193180 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67791 /* 193184 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67792 /* 193188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67793 /* 193192 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67794 /* 193194 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67795 /* 193201 */ // (umax:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMAXUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67796 /* 193201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rm),
67797 /* 193204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67798 /* 193206 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67799 /* 193208 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67800 /* 193212 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67801 /* 193217 */ GIR_RootConstrainSelectedInstOperands,
67802 /* 193218 */ // GIR_Coverage, 24263,
67803 /* 193218 */ GIR_EraseRootFromParent_Done,
67804 /* 193219 */ // Label 5533: @193219
67805 /* 193219 */ GIM_Try, /*On fail goto*//*Label 5534*/ GIMT_Encode4(193300),
67806 /* 193224 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67807 /* 193228 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5535*/ GIMT_Encode4(193281), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5501 //
67808 /* 193235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67809 /* 193239 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67810 /* 193243 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67811 /* 193246 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67812 /* 193250 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67813 /* 193254 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67814 /* 193256 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67815 /* 193263 */ // (umax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67816 /* 193263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rm),
67817 /* 193266 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67818 /* 193268 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67819 /* 193270 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67820 /* 193274 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67821 /* 193279 */ GIR_RootConstrainSelectedInstOperands,
67822 /* 193280 */ // GIR_Coverage, 5501,
67823 /* 193280 */ GIR_EraseRootFromParent_Done,
67824 /* 193281 */ // Label 5535: @193281
67825 /* 193281 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5536*/ GIMT_Encode4(193299), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5498 //
67826 /* 193288 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67827 /* 193292 */ // (umax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMAXUQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
67828 /* 193292 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rr),
67829 /* 193297 */ GIR_RootConstrainSelectedInstOperands,
67830 /* 193298 */ // GIR_Coverage, 5498,
67831 /* 193298 */ GIR_Done,
67832 /* 193299 */ // Label 5536: @193299
67833 /* 193299 */ GIM_Reject,
67834 /* 193300 */ // Label 5534: @193300
67835 /* 193300 */ GIM_Reject,
67836 /* 193301 */ // Label 5532: @193301
67837 /* 193301 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5537*/ GIMT_Encode4(193465), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20127 //
67838 /* 193308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
67839 /* 193312 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67840 /* 193316 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67841 /* 193320 */ // (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] })
67842 /* 193320 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
67843 /* 193323 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67844 /* 193327 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67845 /* 193332 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
67846 /* 193334 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
67847 /* 193337 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67848 /* 193341 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67849 /* 193346 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
67850 /* 193349 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
67851 /* 193353 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
67852 /* 193356 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67853 /* 193361 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67854 /* 193366 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
67855 /* 193371 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
67856 /* 193374 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67857 /* 193378 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67858 /* 193383 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
67859 /* 193385 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
67860 /* 193388 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67861 /* 193392 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67862 /* 193397 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
67863 /* 193400 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
67864 /* 193404 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
67865 /* 193407 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67866 /* 193412 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67867 /* 193417 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
67868 /* 193422 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
67869 /* 193425 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
67870 /* 193429 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67871 /* 193434 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
67872 /* 193437 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
67873 /* 193440 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
67874 /* 193442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
67875 /* 193445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67876 /* 193447 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
67877 /* 193454 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
67878 /* 193459 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67879 /* 193464 */ // GIR_Coverage, 20127,
67880 /* 193464 */ GIR_EraseRootFromParent_Done,
67881 /* 193465 */ // Label 5537: @193465
67882 /* 193465 */ GIM_Reject,
67883 /* 193466 */ // Label 5531: @193466
67884 /* 193466 */ GIM_Reject,
67885 /* 193467 */ // Label 5465: @193467
67886 /* 193467 */ GIM_Try, /*On fail goto*//*Label 5538*/ GIMT_Encode4(193779),
67887 /* 193472 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
67888 /* 193475 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
67889 /* 193478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67890 /* 193482 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5539*/ GIMT_Encode4(193539), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24257 //
67891 /* 193489 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67892 /* 193493 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67893 /* 193497 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67894 /* 193500 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67895 /* 193504 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67896 /* 193508 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67897 /* 193512 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67898 /* 193514 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67899 /* 193521 */ // (umax:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMAXUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67900 /* 193521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rm),
67901 /* 193524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67902 /* 193526 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67903 /* 193528 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67904 /* 193532 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67905 /* 193537 */ GIR_RootConstrainSelectedInstOperands,
67906 /* 193538 */ // GIR_Coverage, 24257,
67907 /* 193538 */ GIR_EraseRootFromParent_Done,
67908 /* 193539 */ // Label 5539: @193539
67909 /* 193539 */ GIM_Try, /*On fail goto*//*Label 5540*/ GIMT_Encode4(193778),
67910 /* 193544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67911 /* 193548 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5541*/ GIMT_Encode4(193601), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5492 //
67912 /* 193555 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67913 /* 193559 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67914 /* 193563 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67915 /* 193566 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67916 /* 193570 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67917 /* 193574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67918 /* 193576 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67919 /* 193583 */ // (umax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67920 /* 193583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rm),
67921 /* 193586 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67922 /* 193588 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67923 /* 193590 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67924 /* 193594 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67925 /* 193599 */ GIR_RootConstrainSelectedInstOperands,
67926 /* 193600 */ // GIR_Coverage, 5492,
67927 /* 193600 */ GIR_EraseRootFromParent_Done,
67928 /* 193601 */ // Label 5541: @193601
67929 /* 193601 */ GIM_Try, /*On fail goto*//*Label 5542*/ GIMT_Encode4(193777),
67930 /* 193606 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67931 /* 193610 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5543*/ GIMT_Encode4(193624), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 5489 //
67932 /* 193617 */ // (umax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMAXUQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
67933 /* 193617 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rr),
67934 /* 193622 */ GIR_RootConstrainSelectedInstOperands,
67935 /* 193623 */ // GIR_Coverage, 5489,
67936 /* 193623 */ GIR_Done,
67937 /* 193624 */ // Label 5543: @193624
67938 /* 193624 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5544*/ GIMT_Encode4(193776), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 20126 //
67939 /* 193631 */ // (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] })
67940 /* 193631 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
67941 /* 193634 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67942 /* 193638 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67943 /* 193643 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
67944 /* 193645 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
67945 /* 193648 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67946 /* 193652 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67947 /* 193657 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
67948 /* 193660 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
67949 /* 193664 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
67950 /* 193667 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67951 /* 193672 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67952 /* 193677 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
67953 /* 193682 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
67954 /* 193685 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67955 /* 193689 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67956 /* 193694 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
67957 /* 193696 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
67958 /* 193699 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67959 /* 193703 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67960 /* 193708 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
67961 /* 193711 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
67962 /* 193715 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
67963 /* 193718 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67964 /* 193723 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67965 /* 193728 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
67966 /* 193733 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
67967 /* 193736 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
67968 /* 193740 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67969 /* 193745 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
67970 /* 193748 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
67971 /* 193751 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
67972 /* 193753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
67973 /* 193756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67974 /* 193758 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
67975 /* 193765 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
67976 /* 193770 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67977 /* 193775 */ // GIR_Coverage, 20126,
67978 /* 193775 */ GIR_EraseRootFromParent_Done,
67979 /* 193776 */ // Label 5544: @193776
67980 /* 193776 */ GIM_Reject,
67981 /* 193777 */ // Label 5542: @193777
67982 /* 193777 */ GIM_Reject,
67983 /* 193778 */ // Label 5540: @193778
67984 /* 193778 */ GIM_Reject,
67985 /* 193779 */ // Label 5538: @193779
67986 /* 193779 */ GIM_Reject,
67987 /* 193780 */ // Label 5466: @193780
67988 /* 193780 */ GIM_Try, /*On fail goto*//*Label 5545*/ GIMT_Encode4(193934),
67989 /* 193785 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
67990 /* 193788 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
67991 /* 193791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67992 /* 193795 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5546*/ GIMT_Encode4(193852), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24251 //
67993 /* 193802 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67994 /* 193806 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67995 /* 193810 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67996 /* 193813 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67997 /* 193817 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67998 /* 193821 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67999 /* 193825 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68000 /* 193827 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68001 /* 193834 */ // (umax:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMAXUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68002 /* 193834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrm),
68003 /* 193837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68004 /* 193839 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68005 /* 193841 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68006 /* 193845 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68007 /* 193850 */ GIR_RootConstrainSelectedInstOperands,
68008 /* 193851 */ // GIR_Coverage, 24251,
68009 /* 193851 */ GIR_EraseRootFromParent_Done,
68010 /* 193852 */ // Label 5546: @193852
68011 /* 193852 */ GIM_Try, /*On fail goto*//*Label 5547*/ GIMT_Encode4(193933),
68012 /* 193857 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68013 /* 193861 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5548*/ GIMT_Encode4(193914), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5483 //
68014 /* 193868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68015 /* 193872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68016 /* 193876 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68017 /* 193879 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68018 /* 193883 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68019 /* 193887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68020 /* 193889 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68021 /* 193896 */ // (umax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68022 /* 193896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrm),
68023 /* 193899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68024 /* 193901 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68025 /* 193903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68026 /* 193907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68027 /* 193912 */ GIR_RootConstrainSelectedInstOperands,
68028 /* 193913 */ // GIR_Coverage, 5483,
68029 /* 193913 */ GIR_EraseRootFromParent_Done,
68030 /* 193914 */ // Label 5548: @193914
68031 /* 193914 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5549*/ GIMT_Encode4(193932), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5480 //
68032 /* 193921 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68033 /* 193925 */ // (umax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMAXUQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
68034 /* 193925 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
68035 /* 193930 */ GIR_RootConstrainSelectedInstOperands,
68036 /* 193931 */ // GIR_Coverage, 5480,
68037 /* 193931 */ GIR_Done,
68038 /* 193932 */ // Label 5549: @193932
68039 /* 193932 */ GIM_Reject,
68040 /* 193933 */ // Label 5547: @193933
68041 /* 193933 */ GIM_Reject,
68042 /* 193934 */ // Label 5545: @193934
68043 /* 193934 */ GIM_Reject,
68044 /* 193935 */ // Label 5467: @193935
68045 /* 193935 */ GIM_Reject,
68046 /* 193936 */ // Label 63: @193936
68047 /* 193936 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 5562*/ GIMT_Encode4(195753),
68048 /* 193947 */ /*GILLT_v16s8*//*Label 5550*/ GIMT_Encode4(193995),
68049 /* 193951 */ /*GILLT_v32s8*//*Label 5551*/ GIMT_Encode4(194179),
68050 /* 193955 */ /*GILLT_v64s8*//*Label 5552*/ GIMT_Encode4(194343),
68051 /* 193959 */ /*GILLT_v8s16*//*Label 5553*/ GIMT_Encode4(194426),
68052 /* 193963 */ /*GILLT_v16s16*//*Label 5554*/ GIMT_Encode4(194610),
68053 /* 193967 */ /*GILLT_v32s16*//*Label 5555*/ GIMT_Encode4(194774),
68054 /* 193971 */ /*GILLT_v4s32*//*Label 5556*/ GIMT_Encode4(194857),
68055 /* 193975 */ /*GILLT_v8s32*//*Label 5557*/ GIMT_Encode4(195041),
68056 /* 193979 */ /*GILLT_v16s32*//*Label 5558*/ GIMT_Encode4(195205),
68057 /* 193983 */ /*GILLT_v2s64*//*Label 5559*/ GIMT_Encode4(195288),
68058 /* 193987 */ /*GILLT_v4s64*//*Label 5560*/ GIMT_Encode4(195483),
68059 /* 193991 */ /*GILLT_v8s64*//*Label 5561*/ GIMT_Encode4(195670),
68060 /* 193995 */ // Label 5550: @193995
68061 /* 193995 */ GIM_Try, /*On fail goto*//*Label 5563*/ GIMT_Encode4(194178),
68062 /* 194000 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
68063 /* 194003 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5564*/ GIMT_Encode4(194058), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2977 //
68064 /* 194010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68065 /* 194014 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68066 /* 194018 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68067 /* 194022 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68068 /* 194025 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68069 /* 194029 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68070 /* 194033 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68071 /* 194035 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68072 /* 194042 */ // (abs:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
68073 /* 194042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBrm),
68074 /* 194045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68075 /* 194047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
68076 /* 194051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68077 /* 194056 */ GIR_RootConstrainSelectedInstOperands,
68078 /* 194057 */ // GIR_Coverage, 2977,
68079 /* 194057 */ GIR_EraseRootFromParent_Done,
68080 /* 194058 */ // Label 5564: @194058
68081 /* 194058 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5565*/ GIMT_Encode4(194113), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 13334 //
68082 /* 194065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68083 /* 194069 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68084 /* 194073 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68085 /* 194077 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68086 /* 194080 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68087 /* 194084 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68088 /* 194088 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68089 /* 194090 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68090 /* 194097 */ // (abs:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZ128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)
68091 /* 194097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZ128rm),
68092 /* 194100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68093 /* 194102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68094 /* 194106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68095 /* 194111 */ GIR_RootConstrainSelectedInstOperands,
68096 /* 194112 */ // GIR_Coverage, 13334,
68097 /* 194112 */ GIR_EraseRootFromParent_Done,
68098 /* 194113 */ // Label 5565: @194113
68099 /* 194113 */ GIM_Try, /*On fail goto*//*Label 5566*/ GIMT_Encode4(194155),
68100 /* 194118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68101 /* 194122 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68102 /* 194126 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5567*/ GIMT_Encode4(194140), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2976 //
68103 /* 194133 */ // (abs:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src) => (VPABSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src)
68104 /* 194133 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBrr),
68105 /* 194138 */ GIR_RootConstrainSelectedInstOperands,
68106 /* 194139 */ // GIR_Coverage, 2976,
68107 /* 194139 */ GIR_Done,
68108 /* 194140 */ // Label 5567: @194140
68109 /* 194140 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5568*/ GIMT_Encode4(194154), GIMT_Encode2(GIFBS_UseSSSE3), // Rule ID 2988 //
68110 /* 194147 */ // (abs:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src) => (PABSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src)
68111 /* 194147 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSBrr),
68112 /* 194152 */ GIR_RootConstrainSelectedInstOperands,
68113 /* 194153 */ // GIR_Coverage, 2988,
68114 /* 194153 */ GIR_Done,
68115 /* 194154 */ // Label 5568: @194154
68116 /* 194154 */ GIM_Reject,
68117 /* 194155 */ // Label 5566: @194155
68118 /* 194155 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5569*/ GIMT_Encode4(194177), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 13331 //
68119 /* 194162 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68120 /* 194166 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68121 /* 194170 */ // (abs:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1) => (VPABSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1)
68122 /* 194170 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZ128rr),
68123 /* 194175 */ GIR_RootConstrainSelectedInstOperands,
68124 /* 194176 */ // GIR_Coverage, 13331,
68125 /* 194176 */ GIR_Done,
68126 /* 194177 */ // Label 5569: @194177
68127 /* 194177 */ GIM_Reject,
68128 /* 194178 */ // Label 5563: @194178
68129 /* 194178 */ GIM_Reject,
68130 /* 194179 */ // Label 5551: @194179
68131 /* 194179 */ GIM_Try, /*On fail goto*//*Label 5570*/ GIMT_Encode4(194342),
68132 /* 194184 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
68133 /* 194187 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5571*/ GIMT_Encode4(194242), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2983 //
68134 /* 194194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68135 /* 194198 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68136 /* 194202 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68137 /* 194206 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68138 /* 194209 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68139 /* 194213 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68140 /* 194217 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68141 /* 194219 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68142 /* 194226 */ // (abs:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
68143 /* 194226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBYrm),
68144 /* 194229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68145 /* 194231 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
68146 /* 194235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68147 /* 194240 */ GIR_RootConstrainSelectedInstOperands,
68148 /* 194241 */ // GIR_Coverage, 2983,
68149 /* 194241 */ GIR_EraseRootFromParent_Done,
68150 /* 194242 */ // Label 5571: @194242
68151 /* 194242 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5572*/ GIMT_Encode4(194297), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 13328 //
68152 /* 194249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68153 /* 194253 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68154 /* 194257 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68155 /* 194261 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68156 /* 194264 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68157 /* 194268 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68158 /* 194272 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68159 /* 194274 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68160 /* 194281 */ // (abs:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZ256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)
68161 /* 194281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZ256rm),
68162 /* 194284 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68163 /* 194286 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68164 /* 194290 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68165 /* 194295 */ GIR_RootConstrainSelectedInstOperands,
68166 /* 194296 */ // GIR_Coverage, 13328,
68167 /* 194296 */ GIR_EraseRootFromParent_Done,
68168 /* 194297 */ // Label 5572: @194297
68169 /* 194297 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5573*/ GIMT_Encode4(194319), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2982 //
68170 /* 194304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68171 /* 194308 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68172 /* 194312 */ // (abs:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src) => (VPABSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src)
68173 /* 194312 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBYrr),
68174 /* 194317 */ GIR_RootConstrainSelectedInstOperands,
68175 /* 194318 */ // GIR_Coverage, 2982,
68176 /* 194318 */ GIR_Done,
68177 /* 194319 */ // Label 5573: @194319
68178 /* 194319 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5574*/ GIMT_Encode4(194341), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 13325 //
68179 /* 194326 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68180 /* 194330 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68181 /* 194334 */ // (abs:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1) => (VPABSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1)
68182 /* 194334 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZ256rr),
68183 /* 194339 */ GIR_RootConstrainSelectedInstOperands,
68184 /* 194340 */ // GIR_Coverage, 13325,
68185 /* 194340 */ GIR_Done,
68186 /* 194341 */ // Label 5574: @194341
68187 /* 194341 */ GIM_Reject,
68188 /* 194342 */ // Label 5570: @194342
68189 /* 194342 */ GIM_Reject,
68190 /* 194343 */ // Label 5552: @194343
68191 /* 194343 */ GIM_Try, /*On fail goto*//*Label 5575*/ GIMT_Encode4(194425),
68192 /* 194348 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
68193 /* 194351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68194 /* 194355 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5576*/ GIMT_Encode4(194406), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 13322 //
68195 /* 194362 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68196 /* 194366 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68197 /* 194370 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68198 /* 194373 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68199 /* 194377 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68200 /* 194381 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68201 /* 194383 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68202 /* 194390 */ // (abs:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)
68203 /* 194390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZrm),
68204 /* 194393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68205 /* 194395 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68206 /* 194399 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68207 /* 194404 */ GIR_RootConstrainSelectedInstOperands,
68208 /* 194405 */ // GIR_Coverage, 13322,
68209 /* 194405 */ GIR_EraseRootFromParent_Done,
68210 /* 194406 */ // Label 5576: @194406
68211 /* 194406 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5577*/ GIMT_Encode4(194424), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 13319 //
68212 /* 194413 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68213 /* 194417 */ // (abs:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1) => (VPABSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1)
68214 /* 194417 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZrr),
68215 /* 194422 */ GIR_RootConstrainSelectedInstOperands,
68216 /* 194423 */ // GIR_Coverage, 13319,
68217 /* 194423 */ GIR_Done,
68218 /* 194424 */ // Label 5577: @194424
68219 /* 194424 */ GIM_Reject,
68220 /* 194425 */ // Label 5575: @194425
68221 /* 194425 */ GIM_Reject,
68222 /* 194426 */ // Label 5553: @194426
68223 /* 194426 */ GIM_Try, /*On fail goto*//*Label 5578*/ GIMT_Encode4(194609),
68224 /* 194431 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
68225 /* 194434 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5579*/ GIMT_Encode4(194489), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2979 //
68226 /* 194441 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68227 /* 194445 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68228 /* 194449 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68229 /* 194453 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68230 /* 194456 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68231 /* 194460 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68232 /* 194464 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68233 /* 194466 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68234 /* 194473 */ // (abs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
68235 /* 194473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWrm),
68236 /* 194476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68237 /* 194478 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
68238 /* 194482 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68239 /* 194487 */ GIR_RootConstrainSelectedInstOperands,
68240 /* 194488 */ // GIR_Coverage, 2979,
68241 /* 194488 */ GIR_EraseRootFromParent_Done,
68242 /* 194489 */ // Label 5579: @194489
68243 /* 194489 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5580*/ GIMT_Encode4(194544), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 13316 //
68244 /* 194496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68245 /* 194500 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68246 /* 194504 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68247 /* 194508 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68248 /* 194511 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68249 /* 194515 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68250 /* 194519 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68251 /* 194521 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68252 /* 194528 */ // (abs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)
68253 /* 194528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZ128rm),
68254 /* 194531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68255 /* 194533 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68256 /* 194537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68257 /* 194542 */ GIR_RootConstrainSelectedInstOperands,
68258 /* 194543 */ // GIR_Coverage, 13316,
68259 /* 194543 */ GIR_EraseRootFromParent_Done,
68260 /* 194544 */ // Label 5580: @194544
68261 /* 194544 */ GIM_Try, /*On fail goto*//*Label 5581*/ GIMT_Encode4(194586),
68262 /* 194549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68263 /* 194553 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68264 /* 194557 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5582*/ GIMT_Encode4(194571), GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI), // Rule ID 2978 //
68265 /* 194564 */ // (abs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src) => (VPABSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src)
68266 /* 194564 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWrr),
68267 /* 194569 */ GIR_RootConstrainSelectedInstOperands,
68268 /* 194570 */ // GIR_Coverage, 2978,
68269 /* 194570 */ GIR_Done,
68270 /* 194571 */ // Label 5582: @194571
68271 /* 194571 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5583*/ GIMT_Encode4(194585), GIMT_Encode2(GIFBS_UseSSSE3), // Rule ID 2990 //
68272 /* 194578 */ // (abs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src) => (PABSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src)
68273 /* 194578 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSWrr),
68274 /* 194583 */ GIR_RootConstrainSelectedInstOperands,
68275 /* 194584 */ // GIR_Coverage, 2990,
68276 /* 194584 */ GIR_Done,
68277 /* 194585 */ // Label 5583: @194585
68278 /* 194585 */ GIM_Reject,
68279 /* 194586 */ // Label 5581: @194586
68280 /* 194586 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5584*/ GIMT_Encode4(194608), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 13313 //
68281 /* 194593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68282 /* 194597 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68283 /* 194601 */ // (abs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1) => (VPABSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1)
68284 /* 194601 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZ128rr),
68285 /* 194606 */ GIR_RootConstrainSelectedInstOperands,
68286 /* 194607 */ // GIR_Coverage, 13313,
68287 /* 194607 */ GIR_Done,
68288 /* 194608 */ // Label 5584: @194608
68289 /* 194608 */ GIM_Reject,
68290 /* 194609 */ // Label 5578: @194609
68291 /* 194609 */ GIM_Reject,
68292 /* 194610 */ // Label 5554: @194610
68293 /* 194610 */ GIM_Try, /*On fail goto*//*Label 5585*/ GIMT_Encode4(194773),
68294 /* 194615 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
68295 /* 194618 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5586*/ GIMT_Encode4(194673), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2985 //
68296 /* 194625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68297 /* 194629 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68298 /* 194633 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68299 /* 194637 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68300 /* 194640 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68301 /* 194644 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68302 /* 194648 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68303 /* 194650 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68304 /* 194657 */ // (abs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
68305 /* 194657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWYrm),
68306 /* 194660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68307 /* 194662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
68308 /* 194666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68309 /* 194671 */ GIR_RootConstrainSelectedInstOperands,
68310 /* 194672 */ // GIR_Coverage, 2985,
68311 /* 194672 */ GIR_EraseRootFromParent_Done,
68312 /* 194673 */ // Label 5586: @194673
68313 /* 194673 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5587*/ GIMT_Encode4(194728), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 13310 //
68314 /* 194680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68315 /* 194684 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68316 /* 194688 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68317 /* 194692 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68318 /* 194695 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68319 /* 194699 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68320 /* 194703 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68321 /* 194705 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68322 /* 194712 */ // (abs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)
68323 /* 194712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZ256rm),
68324 /* 194715 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68325 /* 194717 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68326 /* 194721 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68327 /* 194726 */ GIR_RootConstrainSelectedInstOperands,
68328 /* 194727 */ // GIR_Coverage, 13310,
68329 /* 194727 */ GIR_EraseRootFromParent_Done,
68330 /* 194728 */ // Label 5587: @194728
68331 /* 194728 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5588*/ GIMT_Encode4(194750), GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI), // Rule ID 2984 //
68332 /* 194735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68333 /* 194739 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68334 /* 194743 */ // (abs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src) => (VPABSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src)
68335 /* 194743 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWYrr),
68336 /* 194748 */ GIR_RootConstrainSelectedInstOperands,
68337 /* 194749 */ // GIR_Coverage, 2984,
68338 /* 194749 */ GIR_Done,
68339 /* 194750 */ // Label 5588: @194750
68340 /* 194750 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5589*/ GIMT_Encode4(194772), GIMT_Encode2(GIFBS_HasBWI_HasVLX), // Rule ID 13307 //
68341 /* 194757 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68342 /* 194761 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68343 /* 194765 */ // (abs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1) => (VPABSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1)
68344 /* 194765 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZ256rr),
68345 /* 194770 */ GIR_RootConstrainSelectedInstOperands,
68346 /* 194771 */ // GIR_Coverage, 13307,
68347 /* 194771 */ GIR_Done,
68348 /* 194772 */ // Label 5589: @194772
68349 /* 194772 */ GIM_Reject,
68350 /* 194773 */ // Label 5585: @194773
68351 /* 194773 */ GIM_Reject,
68352 /* 194774 */ // Label 5555: @194774
68353 /* 194774 */ GIM_Try, /*On fail goto*//*Label 5590*/ GIMT_Encode4(194856),
68354 /* 194779 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
68355 /* 194782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68356 /* 194786 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5591*/ GIMT_Encode4(194837), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 13304 //
68357 /* 194793 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68358 /* 194797 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68359 /* 194801 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68360 /* 194804 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68361 /* 194808 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68362 /* 194812 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68363 /* 194814 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68364 /* 194821 */ // (abs:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)
68365 /* 194821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZrm),
68366 /* 194824 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68367 /* 194826 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68368 /* 194830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68369 /* 194835 */ GIR_RootConstrainSelectedInstOperands,
68370 /* 194836 */ // GIR_Coverage, 13304,
68371 /* 194836 */ GIR_EraseRootFromParent_Done,
68372 /* 194837 */ // Label 5591: @194837
68373 /* 194837 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5592*/ GIMT_Encode4(194855), GIMT_Encode2(GIFBS_HasBWI), // Rule ID 13301 //
68374 /* 194844 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68375 /* 194848 */ // (abs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1) => (VPABSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1)
68376 /* 194848 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZrr),
68377 /* 194853 */ GIR_RootConstrainSelectedInstOperands,
68378 /* 194854 */ // GIR_Coverage, 13301,
68379 /* 194854 */ GIR_Done,
68380 /* 194855 */ // Label 5592: @194855
68381 /* 194855 */ GIM_Reject,
68382 /* 194856 */ // Label 5590: @194856
68383 /* 194856 */ GIM_Reject,
68384 /* 194857 */ // Label 5556: @194857
68385 /* 194857 */ GIM_Try, /*On fail goto*//*Label 5593*/ GIMT_Encode4(195040),
68386 /* 194862 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
68387 /* 194865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5594*/ GIMT_Encode4(194920), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2981 //
68388 /* 194872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68389 /* 194876 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68390 /* 194880 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68391 /* 194884 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68392 /* 194887 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68393 /* 194891 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68394 /* 194895 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68395 /* 194897 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68396 /* 194904 */ // (abs:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
68397 /* 194904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDrm),
68398 /* 194907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68399 /* 194909 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
68400 /* 194913 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68401 /* 194918 */ GIR_RootConstrainSelectedInstOperands,
68402 /* 194919 */ // GIR_Coverage, 2981,
68403 /* 194919 */ GIR_EraseRootFromParent_Done,
68404 /* 194920 */ // Label 5594: @194920
68405 /* 194920 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5595*/ GIMT_Encode4(194975), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 13295 //
68406 /* 194927 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68407 /* 194931 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68408 /* 194935 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68409 /* 194939 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68410 /* 194942 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68411 /* 194946 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68412 /* 194950 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68413 /* 194952 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68414 /* 194959 */ // (abs:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
68415 /* 194959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZ128rm),
68416 /* 194962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68417 /* 194964 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68418 /* 194968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68419 /* 194973 */ GIR_RootConstrainSelectedInstOperands,
68420 /* 194974 */ // GIR_Coverage, 13295,
68421 /* 194974 */ GIR_EraseRootFromParent_Done,
68422 /* 194975 */ // Label 5595: @194975
68423 /* 194975 */ GIM_Try, /*On fail goto*//*Label 5596*/ GIMT_Encode4(195017),
68424 /* 194980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68425 /* 194984 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68426 /* 194988 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5597*/ GIMT_Encode4(195002), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2980 //
68427 /* 194995 */ // (abs:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src) => (VPABSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src)
68428 /* 194995 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDrr),
68429 /* 195000 */ GIR_RootConstrainSelectedInstOperands,
68430 /* 195001 */ // GIR_Coverage, 2980,
68431 /* 195001 */ GIR_Done,
68432 /* 195002 */ // Label 5597: @195002
68433 /* 195002 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5598*/ GIMT_Encode4(195016), GIMT_Encode2(GIFBS_UseSSSE3), // Rule ID 2992 //
68434 /* 195009 */ // (abs:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src) => (PABSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src)
68435 /* 195009 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSDrr),
68436 /* 195014 */ GIR_RootConstrainSelectedInstOperands,
68437 /* 195015 */ // GIR_Coverage, 2992,
68438 /* 195015 */ GIR_Done,
68439 /* 195016 */ // Label 5598: @195016
68440 /* 195016 */ GIM_Reject,
68441 /* 195017 */ // Label 5596: @195017
68442 /* 195017 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5599*/ GIMT_Encode4(195039), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 13292 //
68443 /* 195024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68444 /* 195028 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68445 /* 195032 */ // (abs:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPABSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
68446 /* 195032 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZ128rr),
68447 /* 195037 */ GIR_RootConstrainSelectedInstOperands,
68448 /* 195038 */ // GIR_Coverage, 13292,
68449 /* 195038 */ GIR_Done,
68450 /* 195039 */ // Label 5599: @195039
68451 /* 195039 */ GIM_Reject,
68452 /* 195040 */ // Label 5593: @195040
68453 /* 195040 */ GIM_Reject,
68454 /* 195041 */ // Label 5557: @195041
68455 /* 195041 */ GIM_Try, /*On fail goto*//*Label 5600*/ GIMT_Encode4(195204),
68456 /* 195046 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
68457 /* 195049 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5601*/ GIMT_Encode4(195104), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2987 //
68458 /* 195056 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68459 /* 195060 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68460 /* 195064 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68461 /* 195068 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68462 /* 195071 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68463 /* 195075 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68464 /* 195079 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68465 /* 195081 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68466 /* 195088 */ // (abs:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
68467 /* 195088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDYrm),
68468 /* 195091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68469 /* 195093 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
68470 /* 195097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68471 /* 195102 */ GIR_RootConstrainSelectedInstOperands,
68472 /* 195103 */ // GIR_Coverage, 2987,
68473 /* 195103 */ GIR_EraseRootFromParent_Done,
68474 /* 195104 */ // Label 5601: @195104
68475 /* 195104 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5602*/ GIMT_Encode4(195159), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 13286 //
68476 /* 195111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68477 /* 195115 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68478 /* 195119 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68479 /* 195123 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68480 /* 195126 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68481 /* 195130 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68482 /* 195134 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68483 /* 195136 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68484 /* 195143 */ // (abs:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
68485 /* 195143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZ256rm),
68486 /* 195146 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68487 /* 195148 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68488 /* 195152 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68489 /* 195157 */ GIR_RootConstrainSelectedInstOperands,
68490 /* 195158 */ // GIR_Coverage, 13286,
68491 /* 195158 */ GIR_EraseRootFromParent_Done,
68492 /* 195159 */ // Label 5602: @195159
68493 /* 195159 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5603*/ GIMT_Encode4(195181), GIMT_Encode2(GIFBS_HasAVX2_NoVLX), // Rule ID 2986 //
68494 /* 195166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68495 /* 195170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68496 /* 195174 */ // (abs:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src) => (VPABSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src)
68497 /* 195174 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDYrr),
68498 /* 195179 */ GIR_RootConstrainSelectedInstOperands,
68499 /* 195180 */ // GIR_Coverage, 2986,
68500 /* 195180 */ GIR_Done,
68501 /* 195181 */ // Label 5603: @195181
68502 /* 195181 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5604*/ GIMT_Encode4(195203), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 13283 //
68503 /* 195188 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68504 /* 195192 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68505 /* 195196 */ // (abs:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPABSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
68506 /* 195196 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZ256rr),
68507 /* 195201 */ GIR_RootConstrainSelectedInstOperands,
68508 /* 195202 */ // GIR_Coverage, 13283,
68509 /* 195202 */ GIR_Done,
68510 /* 195203 */ // Label 5604: @195203
68511 /* 195203 */ GIM_Reject,
68512 /* 195204 */ // Label 5600: @195204
68513 /* 195204 */ GIM_Reject,
68514 /* 195205 */ // Label 5558: @195205
68515 /* 195205 */ GIM_Try, /*On fail goto*//*Label 5605*/ GIMT_Encode4(195287),
68516 /* 195210 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
68517 /* 195213 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68518 /* 195217 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5606*/ GIMT_Encode4(195268), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 13277 //
68519 /* 195224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68520 /* 195228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68521 /* 195232 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68522 /* 195235 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68523 /* 195239 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68524 /* 195243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68525 /* 195245 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68526 /* 195252 */ // (abs:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
68527 /* 195252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZrm),
68528 /* 195255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68529 /* 195257 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68530 /* 195261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68531 /* 195266 */ GIR_RootConstrainSelectedInstOperands,
68532 /* 195267 */ // GIR_Coverage, 13277,
68533 /* 195267 */ GIR_EraseRootFromParent_Done,
68534 /* 195268 */ // Label 5606: @195268
68535 /* 195268 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5607*/ GIMT_Encode4(195286), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 13274 //
68536 /* 195275 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68537 /* 195279 */ // (abs:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPABSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
68538 /* 195279 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZrr),
68539 /* 195284 */ GIR_RootConstrainSelectedInstOperands,
68540 /* 195285 */ // GIR_Coverage, 13274,
68541 /* 195285 */ GIR_Done,
68542 /* 195286 */ // Label 5607: @195286
68543 /* 195286 */ GIM_Reject,
68544 /* 195287 */ // Label 5605: @195287
68545 /* 195287 */ GIM_Reject,
68546 /* 195288 */ // Label 5559: @195288
68547 /* 195288 */ GIM_Try, /*On fail goto*//*Label 5608*/ GIMT_Encode4(195482),
68548 /* 195293 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
68549 /* 195296 */ GIM_Try, /*On fail goto*//*Label 5609*/ GIMT_Encode4(195375),
68550 /* 195301 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68551 /* 195305 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5610*/ GIMT_Encode4(195356), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 13268 //
68552 /* 195312 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68553 /* 195316 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68554 /* 195320 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68555 /* 195323 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68556 /* 195327 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68557 /* 195331 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68558 /* 195333 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68559 /* 195340 */ // (abs:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
68560 /* 195340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZ128rm),
68561 /* 195343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68562 /* 195345 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68563 /* 195349 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68564 /* 195354 */ GIR_RootConstrainSelectedInstOperands,
68565 /* 195355 */ // GIR_Coverage, 13268,
68566 /* 195355 */ GIR_EraseRootFromParent_Done,
68567 /* 195356 */ // Label 5610: @195356
68568 /* 195356 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5611*/ GIMT_Encode4(195374), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 13265 //
68569 /* 195363 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68570 /* 195367 */ // (abs:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPABSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
68571 /* 195367 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZ128rr),
68572 /* 195372 */ GIR_RootConstrainSelectedInstOperands,
68573 /* 195373 */ // GIR_Coverage, 13265,
68574 /* 195373 */ GIR_Done,
68575 /* 195374 */ // Label 5611: @195374
68576 /* 195374 */ GIM_Reject,
68577 /* 195375 */ // Label 5609: @195375
68578 /* 195375 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5612*/ GIMT_Encode4(195481), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 21972 //
68579 /* 195382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
68580 /* 195386 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68581 /* 195390 */ // (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] })
68582 /* 195390 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
68583 /* 195393 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
68584 /* 195397 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68585 /* 195402 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
68586 /* 195404 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
68587 /* 195407 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
68588 /* 195411 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68589 /* 195416 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
68590 /* 195419 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
68591 /* 195423 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
68592 /* 195426 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
68593 /* 195431 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68594 /* 195436 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
68595 /* 195441 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
68596 /* 195444 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
68597 /* 195448 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68598 /* 195453 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
68599 /* 195456 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
68600 /* 195458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68601 /* 195461 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68602 /* 195463 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
68603 /* 195470 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
68604 /* 195475 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68605 /* 195480 */ // GIR_Coverage, 21972,
68606 /* 195480 */ GIR_EraseRootFromParent_Done,
68607 /* 195481 */ // Label 5612: @195481
68608 /* 195481 */ GIM_Reject,
68609 /* 195482 */ // Label 5608: @195482
68610 /* 195482 */ GIM_Reject,
68611 /* 195483 */ // Label 5560: @195483
68612 /* 195483 */ GIM_Try, /*On fail goto*//*Label 5613*/ GIMT_Encode4(195669),
68613 /* 195488 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
68614 /* 195491 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68615 /* 195495 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5614*/ GIMT_Encode4(195546), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 13259 //
68616 /* 195502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68617 /* 195506 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68618 /* 195510 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68619 /* 195513 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68620 /* 195517 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68621 /* 195521 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68622 /* 195523 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68623 /* 195530 */ // (abs:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
68624 /* 195530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZ256rm),
68625 /* 195533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68626 /* 195535 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68627 /* 195539 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68628 /* 195544 */ GIR_RootConstrainSelectedInstOperands,
68629 /* 195545 */ // GIR_Coverage, 13259,
68630 /* 195545 */ GIR_EraseRootFromParent_Done,
68631 /* 195546 */ // Label 5614: @195546
68632 /* 195546 */ GIM_Try, /*On fail goto*//*Label 5615*/ GIMT_Encode4(195668),
68633 /* 195551 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68634 /* 195555 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5616*/ GIMT_Encode4(195569), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 13256 //
68635 /* 195562 */ // (abs:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPABSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
68636 /* 195562 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZ256rr),
68637 /* 195567 */ GIR_RootConstrainSelectedInstOperands,
68638 /* 195568 */ // GIR_Coverage, 13256,
68639 /* 195568 */ GIR_Done,
68640 /* 195569 */ // Label 5616: @195569
68641 /* 195569 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5617*/ GIMT_Encode4(195667), GIMT_Encode2(GIFBS_HasAVX512_NoVLX), // Rule ID 21971 //
68642 /* 195576 */ // (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] })
68643 /* 195576 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
68644 /* 195579 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
68645 /* 195583 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68646 /* 195588 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
68647 /* 195590 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
68648 /* 195593 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
68649 /* 195597 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68650 /* 195602 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
68651 /* 195605 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
68652 /* 195609 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
68653 /* 195612 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
68654 /* 195617 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68655 /* 195622 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
68656 /* 195627 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
68657 /* 195630 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
68658 /* 195634 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68659 /* 195639 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
68660 /* 195642 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
68661 /* 195644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68662 /* 195647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68663 /* 195649 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
68664 /* 195656 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
68665 /* 195661 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68666 /* 195666 */ // GIR_Coverage, 21971,
68667 /* 195666 */ GIR_EraseRootFromParent_Done,
68668 /* 195667 */ // Label 5617: @195667
68669 /* 195667 */ GIM_Reject,
68670 /* 195668 */ // Label 5615: @195668
68671 /* 195668 */ GIM_Reject,
68672 /* 195669 */ // Label 5613: @195669
68673 /* 195669 */ GIM_Reject,
68674 /* 195670 */ // Label 5561: @195670
68675 /* 195670 */ GIM_Try, /*On fail goto*//*Label 5618*/ GIMT_Encode4(195752),
68676 /* 195675 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
68677 /* 195678 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68678 /* 195682 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5619*/ GIMT_Encode4(195733), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 13250 //
68679 /* 195689 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68680 /* 195693 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68681 /* 195697 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68682 /* 195700 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68683 /* 195704 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68684 /* 195708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68685 /* 195710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68686 /* 195717 */ // (abs:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
68687 /* 195717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZrm),
68688 /* 195720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68689 /* 195722 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
68690 /* 195726 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68691 /* 195731 */ GIR_RootConstrainSelectedInstOperands,
68692 /* 195732 */ // GIR_Coverage, 13250,
68693 /* 195732 */ GIR_EraseRootFromParent_Done,
68694 /* 195733 */ // Label 5619: @195733
68695 /* 195733 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5620*/ GIMT_Encode4(195751), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 13247 //
68696 /* 195740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68697 /* 195744 */ // (abs:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPABSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
68698 /* 195744 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
68699 /* 195749 */ GIR_RootConstrainSelectedInstOperands,
68700 /* 195750 */ // GIR_Coverage, 13247,
68701 /* 195750 */ GIR_Done,
68702 /* 195751 */ // Label 5620: @195751
68703 /* 195751 */ GIM_Reject,
68704 /* 195752 */ // Label 5618: @195752
68705 /* 195752 */ GIM_Reject,
68706 /* 195753 */ // Label 5562: @195753
68707 /* 195753 */ GIM_Reject,
68708 /* 195754 */ // Label 64: @195754
68709 /* 195754 */ GIM_Try, /*On fail goto*//*Label 5621*/ GIMT_Encode4(195769), // Rule ID 605 //
68710 /* 195759 */ // MIs[0] dst
68711 /* 195759 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/0,
68712 /* 195762 */ // (br (bb:{ *:[Other] }):$dst) => (JMP_1 (bb:{ *:[Other] }):$dst)
68713 /* 195762 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::JMP_1),
68714 /* 195767 */ GIR_RootConstrainSelectedInstOperands,
68715 /* 195768 */ // GIR_Coverage, 605,
68716 /* 195768 */ GIR_Done,
68717 /* 195769 */ // Label 5621: @195769
68718 /* 195769 */ GIM_Reject,
68719 /* 195770 */ // Label 65: @195770
68720 /* 195770 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(24), /*)*//*default:*//*Label 5636*/ GIMT_Encode4(198631),
68721 /* 195781 */ /*GILLT_s1*//*Label 5622*/ GIMT_Encode4(195877), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
68722 /* 195809 */ /*GILLT_v2s1*//*Label 5623*/ GIMT_Encode4(196141),
68723 /* 195813 */ /*GILLT_v4s1*//*Label 5624*/ GIMT_Encode4(196363),
68724 /* 195817 */ /*GILLT_v8s1*//*Label 5625*/ GIMT_Encode4(196543),
68725 /* 195821 */ /*GILLT_v16s1*//*Label 5626*/ GIMT_Encode4(196681),
68726 /* 195825 */ /*GILLT_v32s1*//*Label 5627*/ GIMT_Encode4(196777), GIMT_Encode4(0),
68727 /* 195833 */ /*GILLT_v16s8*//*Label 5628*/ GIMT_Encode4(196818),
68728 /* 195837 */ /*GILLT_v32s8*//*Label 5629*/ GIMT_Encode4(197066), GIMT_Encode4(0),
68729 /* 195845 */ /*GILLT_v8s16*//*Label 5630*/ GIMT_Encode4(197116),
68730 /* 195849 */ /*GILLT_v16s16*//*Label 5631*/ GIMT_Encode4(197538), GIMT_Encode4(0),
68731 /* 195857 */ /*GILLT_v4s32*//*Label 5632*/ GIMT_Encode4(197621),
68732 /* 195861 */ /*GILLT_v8s32*//*Label 5633*/ GIMT_Encode4(198043), GIMT_Encode4(0),
68733 /* 195869 */ /*GILLT_v2s64*//*Label 5634*/ GIMT_Encode4(198126),
68734 /* 195873 */ /*GILLT_v4s64*//*Label 5635*/ GIMT_Encode4(198548),
68735 /* 195877 */ // Label 5622: @195877
68736 /* 195877 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(7), GIMT_Encode2(13), /*)*//*default:*//*Label 5643*/ GIMT_Encode4(196140),
68737 /* 195888 */ /*GILLT_v2s1*//*Label 5637*/ GIMT_Encode4(195912),
68738 /* 195892 */ /*GILLT_v4s1*//*Label 5638*/ GIMT_Encode4(195950),
68739 /* 195896 */ /*GILLT_v8s1*//*Label 5639*/ GIMT_Encode4(195988),
68740 /* 195900 */ /*GILLT_v16s1*//*Label 5640*/ GIMT_Encode4(196026),
68741 /* 195904 */ /*GILLT_v32s1*//*Label 5641*/ GIMT_Encode4(196064),
68742 /* 195908 */ /*GILLT_v64s1*//*Label 5642*/ GIMT_Encode4(196102),
68743 /* 195912 */ // Label 5637: @195912
68744 /* 195912 */ GIM_Try, /*On fail goto*//*Label 5644*/ GIMT_Encode4(195949), // Rule ID 19713 //
68745 /* 195917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
68746 /* 195921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
68747 /* 195925 */ // MIs[0] Operand 2
68748 /* 195925 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68749 /* 195936 */ // (extract_subvector:{ *:[v1i1] } VK2:{ *:[v2i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK2:{ *:[v2i1] }:$src, VK1:{ *:[i32] })
68750 /* 195936 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68751 /* 195939 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68752 /* 195941 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68753 /* 195943 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
68754 /* 195948 */ // GIR_Coverage, 19713,
68755 /* 195948 */ GIR_EraseRootFromParent_Done,
68756 /* 195949 */ // Label 5644: @195949
68757 /* 195949 */ GIM_Reject,
68758 /* 195950 */ // Label 5638: @195950
68759 /* 195950 */ GIM_Try, /*On fail goto*//*Label 5645*/ GIMT_Encode4(195987), // Rule ID 19715 //
68760 /* 195955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
68761 /* 195959 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
68762 /* 195963 */ // MIs[0] Operand 2
68763 /* 195963 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68764 /* 195974 */ // (extract_subvector:{ *:[v1i1] } VK4:{ *:[v4i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK4:{ *:[v4i1] }:$src, VK1:{ *:[i32] })
68765 /* 195974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68766 /* 195977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68767 /* 195979 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68768 /* 195981 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
68769 /* 195986 */ // GIR_Coverage, 19715,
68770 /* 195986 */ GIR_EraseRootFromParent_Done,
68771 /* 195987 */ // Label 5645: @195987
68772 /* 195987 */ GIM_Reject,
68773 /* 195988 */ // Label 5639: @195988
68774 /* 195988 */ GIM_Try, /*On fail goto*//*Label 5646*/ GIMT_Encode4(196025), // Rule ID 19717 //
68775 /* 195993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
68776 /* 195997 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
68777 /* 196001 */ // MIs[0] Operand 2
68778 /* 196001 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68779 /* 196012 */ // (extract_subvector:{ *:[v1i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK8:{ *:[v8i1] }:$src, VK1:{ *:[i32] })
68780 /* 196012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68781 /* 196015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68782 /* 196017 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68783 /* 196019 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
68784 /* 196024 */ // GIR_Coverage, 19717,
68785 /* 196024 */ GIR_EraseRootFromParent_Done,
68786 /* 196025 */ // Label 5646: @196025
68787 /* 196025 */ GIM_Reject,
68788 /* 196026 */ // Label 5640: @196026
68789 /* 196026 */ GIM_Try, /*On fail goto*//*Label 5647*/ GIMT_Encode4(196063), // Rule ID 19719 //
68790 /* 196031 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
68791 /* 196035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
68792 /* 196039 */ // MIs[0] Operand 2
68793 /* 196039 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68794 /* 196050 */ // (extract_subvector:{ *:[v1i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK16:{ *:[v16i1] }:$src, VK1:{ *:[i32] })
68795 /* 196050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68796 /* 196053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68797 /* 196055 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68798 /* 196057 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
68799 /* 196062 */ // GIR_Coverage, 19719,
68800 /* 196062 */ GIR_EraseRootFromParent_Done,
68801 /* 196063 */ // Label 5647: @196063
68802 /* 196063 */ GIM_Reject,
68803 /* 196064 */ // Label 5641: @196064
68804 /* 196064 */ GIM_Try, /*On fail goto*//*Label 5648*/ GIMT_Encode4(196101), // Rule ID 19721 //
68805 /* 196069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
68806 /* 196073 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
68807 /* 196077 */ // MIs[0] Operand 2
68808 /* 196077 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68809 /* 196088 */ // (extract_subvector:{ *:[v1i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK32:{ *:[v32i1] }:$src, VK1:{ *:[i32] })
68810 /* 196088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68811 /* 196091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68812 /* 196093 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68813 /* 196095 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
68814 /* 196100 */ // GIR_Coverage, 19721,
68815 /* 196100 */ GIR_EraseRootFromParent_Done,
68816 /* 196101 */ // Label 5648: @196101
68817 /* 196101 */ GIM_Reject,
68818 /* 196102 */ // Label 5642: @196102
68819 /* 196102 */ GIM_Try, /*On fail goto*//*Label 5649*/ GIMT_Encode4(196139), // Rule ID 19723 //
68820 /* 196107 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
68821 /* 196111 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
68822 /* 196115 */ // MIs[0] Operand 2
68823 /* 196115 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68824 /* 196126 */ // (extract_subvector:{ *:[v1i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK64:{ *:[v64i1] }:$src, VK1:{ *:[i32] })
68825 /* 196126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68826 /* 196129 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68827 /* 196131 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68828 /* 196133 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
68829 /* 196138 */ // GIR_Coverage, 19723,
68830 /* 196138 */ GIR_EraseRootFromParent_Done,
68831 /* 196139 */ // Label 5649: @196139
68832 /* 196139 */ GIM_Reject,
68833 /* 196140 */ // Label 5643: @196140
68834 /* 196140 */ GIM_Reject,
68835 /* 196141 */ // Label 5623: @196141
68836 /* 196141 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(8), GIMT_Encode2(13), /*)*//*default:*//*Label 5655*/ GIMT_Encode4(196362),
68837 /* 196152 */ /*GILLT_v4s1*//*Label 5650*/ GIMT_Encode4(196172),
68838 /* 196156 */ /*GILLT_v8s1*//*Label 5651*/ GIMT_Encode4(196210),
68839 /* 196160 */ /*GILLT_v16s1*//*Label 5652*/ GIMT_Encode4(196248),
68840 /* 196164 */ /*GILLT_v32s1*//*Label 5653*/ GIMT_Encode4(196286),
68841 /* 196168 */ /*GILLT_v64s1*//*Label 5654*/ GIMT_Encode4(196324),
68842 /* 196172 */ // Label 5650: @196172
68843 /* 196172 */ GIM_Try, /*On fail goto*//*Label 5656*/ GIMT_Encode4(196209), // Rule ID 19725 //
68844 /* 196177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
68845 /* 196181 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
68846 /* 196185 */ // MIs[0] Operand 2
68847 /* 196185 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68848 /* 196196 */ // (extract_subvector:{ *:[v2i1] } VK4:{ *:[v4i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK4:{ *:[v4i1] }:$src, VK2:{ *:[i32] })
68849 /* 196196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68850 /* 196199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68851 /* 196201 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68852 /* 196203 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
68853 /* 196208 */ // GIR_Coverage, 19725,
68854 /* 196208 */ GIR_EraseRootFromParent_Done,
68855 /* 196209 */ // Label 5656: @196209
68856 /* 196209 */ GIM_Reject,
68857 /* 196210 */ // Label 5651: @196210
68858 /* 196210 */ GIM_Try, /*On fail goto*//*Label 5657*/ GIMT_Encode4(196247), // Rule ID 19727 //
68859 /* 196215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
68860 /* 196219 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
68861 /* 196223 */ // MIs[0] Operand 2
68862 /* 196223 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68863 /* 196234 */ // (extract_subvector:{ *:[v2i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK8:{ *:[v8i1] }:$src, VK2:{ *:[i32] })
68864 /* 196234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68865 /* 196237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68866 /* 196239 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68867 /* 196241 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
68868 /* 196246 */ // GIR_Coverage, 19727,
68869 /* 196246 */ GIR_EraseRootFromParent_Done,
68870 /* 196247 */ // Label 5657: @196247
68871 /* 196247 */ GIM_Reject,
68872 /* 196248 */ // Label 5652: @196248
68873 /* 196248 */ GIM_Try, /*On fail goto*//*Label 5658*/ GIMT_Encode4(196285), // Rule ID 19729 //
68874 /* 196253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
68875 /* 196257 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
68876 /* 196261 */ // MIs[0] Operand 2
68877 /* 196261 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68878 /* 196272 */ // (extract_subvector:{ *:[v2i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK16:{ *:[v16i1] }:$src, VK2:{ *:[i32] })
68879 /* 196272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68880 /* 196275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68881 /* 196277 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68882 /* 196279 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
68883 /* 196284 */ // GIR_Coverage, 19729,
68884 /* 196284 */ GIR_EraseRootFromParent_Done,
68885 /* 196285 */ // Label 5658: @196285
68886 /* 196285 */ GIM_Reject,
68887 /* 196286 */ // Label 5653: @196286
68888 /* 196286 */ GIM_Try, /*On fail goto*//*Label 5659*/ GIMT_Encode4(196323), // Rule ID 19731 //
68889 /* 196291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
68890 /* 196295 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
68891 /* 196299 */ // MIs[0] Operand 2
68892 /* 196299 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68893 /* 196310 */ // (extract_subvector:{ *:[v2i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK32:{ *:[v32i1] }:$src, VK2:{ *:[i32] })
68894 /* 196310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68895 /* 196313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68896 /* 196315 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68897 /* 196317 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
68898 /* 196322 */ // GIR_Coverage, 19731,
68899 /* 196322 */ GIR_EraseRootFromParent_Done,
68900 /* 196323 */ // Label 5659: @196323
68901 /* 196323 */ GIM_Reject,
68902 /* 196324 */ // Label 5654: @196324
68903 /* 196324 */ GIM_Try, /*On fail goto*//*Label 5660*/ GIMT_Encode4(196361), // Rule ID 19733 //
68904 /* 196329 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
68905 /* 196333 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
68906 /* 196337 */ // MIs[0] Operand 2
68907 /* 196337 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68908 /* 196348 */ // (extract_subvector:{ *:[v2i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK64:{ *:[v64i1] }:$src, VK2:{ *:[i32] })
68909 /* 196348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68910 /* 196351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68911 /* 196353 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68912 /* 196355 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
68913 /* 196360 */ // GIR_Coverage, 19733,
68914 /* 196360 */ GIR_EraseRootFromParent_Done,
68915 /* 196361 */ // Label 5660: @196361
68916 /* 196361 */ GIM_Reject,
68917 /* 196362 */ // Label 5655: @196362
68918 /* 196362 */ GIM_Reject,
68919 /* 196363 */ // Label 5624: @196363
68920 /* 196363 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(9), GIMT_Encode2(13), /*)*//*default:*//*Label 5665*/ GIMT_Encode4(196542),
68921 /* 196374 */ /*GILLT_v8s1*//*Label 5661*/ GIMT_Encode4(196390),
68922 /* 196378 */ /*GILLT_v16s1*//*Label 5662*/ GIMT_Encode4(196428),
68923 /* 196382 */ /*GILLT_v32s1*//*Label 5663*/ GIMT_Encode4(196466),
68924 /* 196386 */ /*GILLT_v64s1*//*Label 5664*/ GIMT_Encode4(196504),
68925 /* 196390 */ // Label 5661: @196390
68926 /* 196390 */ GIM_Try, /*On fail goto*//*Label 5666*/ GIMT_Encode4(196427), // Rule ID 19735 //
68927 /* 196395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
68928 /* 196399 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
68929 /* 196403 */ // MIs[0] Operand 2
68930 /* 196403 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68931 /* 196414 */ // (extract_subvector:{ *:[v4i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK8:{ *:[v8i1] }:$src, VK4:{ *:[i32] })
68932 /* 196414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68933 /* 196417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68934 /* 196419 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68935 /* 196421 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
68936 /* 196426 */ // GIR_Coverage, 19735,
68937 /* 196426 */ GIR_EraseRootFromParent_Done,
68938 /* 196427 */ // Label 5666: @196427
68939 /* 196427 */ GIM_Reject,
68940 /* 196428 */ // Label 5662: @196428
68941 /* 196428 */ GIM_Try, /*On fail goto*//*Label 5667*/ GIMT_Encode4(196465), // Rule ID 19737 //
68942 /* 196433 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
68943 /* 196437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
68944 /* 196441 */ // MIs[0] Operand 2
68945 /* 196441 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68946 /* 196452 */ // (extract_subvector:{ *:[v4i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK16:{ *:[v16i1] }:$src, VK4:{ *:[i32] })
68947 /* 196452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68948 /* 196455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68949 /* 196457 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68950 /* 196459 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
68951 /* 196464 */ // GIR_Coverage, 19737,
68952 /* 196464 */ GIR_EraseRootFromParent_Done,
68953 /* 196465 */ // Label 5667: @196465
68954 /* 196465 */ GIM_Reject,
68955 /* 196466 */ // Label 5663: @196466
68956 /* 196466 */ GIM_Try, /*On fail goto*//*Label 5668*/ GIMT_Encode4(196503), // Rule ID 19739 //
68957 /* 196471 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
68958 /* 196475 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
68959 /* 196479 */ // MIs[0] Operand 2
68960 /* 196479 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68961 /* 196490 */ // (extract_subvector:{ *:[v4i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK32:{ *:[v32i1] }:$src, VK4:{ *:[i32] })
68962 /* 196490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68963 /* 196493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68964 /* 196495 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68965 /* 196497 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
68966 /* 196502 */ // GIR_Coverage, 19739,
68967 /* 196502 */ GIR_EraseRootFromParent_Done,
68968 /* 196503 */ // Label 5668: @196503
68969 /* 196503 */ GIM_Reject,
68970 /* 196504 */ // Label 5664: @196504
68971 /* 196504 */ GIM_Try, /*On fail goto*//*Label 5669*/ GIMT_Encode4(196541), // Rule ID 19741 //
68972 /* 196509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
68973 /* 196513 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
68974 /* 196517 */ // MIs[0] Operand 2
68975 /* 196517 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68976 /* 196528 */ // (extract_subvector:{ *:[v4i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK64:{ *:[v64i1] }:$src, VK4:{ *:[i32] })
68977 /* 196528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68978 /* 196531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68979 /* 196533 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
68980 /* 196535 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
68981 /* 196540 */ // GIR_Coverage, 19741,
68982 /* 196540 */ GIR_EraseRootFromParent_Done,
68983 /* 196541 */ // Label 5669: @196541
68984 /* 196541 */ GIM_Reject,
68985 /* 196542 */ // Label 5665: @196542
68986 /* 196542 */ GIM_Reject,
68987 /* 196543 */ // Label 5625: @196543
68988 /* 196543 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(10), GIMT_Encode2(13), /*)*//*default:*//*Label 5673*/ GIMT_Encode4(196680),
68989 /* 196554 */ /*GILLT_v16s1*//*Label 5670*/ GIMT_Encode4(196566),
68990 /* 196558 */ /*GILLT_v32s1*//*Label 5671*/ GIMT_Encode4(196604),
68991 /* 196562 */ /*GILLT_v64s1*//*Label 5672*/ GIMT_Encode4(196642),
68992 /* 196566 */ // Label 5670: @196566
68993 /* 196566 */ GIM_Try, /*On fail goto*//*Label 5674*/ GIMT_Encode4(196603), // Rule ID 19743 //
68994 /* 196571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
68995 /* 196575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
68996 /* 196579 */ // MIs[0] Operand 2
68997 /* 196579 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
68998 /* 196590 */ // (extract_subvector:{ *:[v8i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK16:{ *:[v16i1] }:$src, VK8:{ *:[i32] })
68999 /* 196590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69000 /* 196593 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69001 /* 196595 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69002 /* 196597 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
69003 /* 196602 */ // GIR_Coverage, 19743,
69004 /* 196602 */ GIR_EraseRootFromParent_Done,
69005 /* 196603 */ // Label 5674: @196603
69006 /* 196603 */ GIM_Reject,
69007 /* 196604 */ // Label 5671: @196604
69008 /* 196604 */ GIM_Try, /*On fail goto*//*Label 5675*/ GIMT_Encode4(196641), // Rule ID 19745 //
69009 /* 196609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
69010 /* 196613 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
69011 /* 196617 */ // MIs[0] Operand 2
69012 /* 196617 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69013 /* 196628 */ // (extract_subvector:{ *:[v8i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK32:{ *:[v32i1] }:$src, VK8:{ *:[i32] })
69014 /* 196628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69015 /* 196631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69016 /* 196633 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69017 /* 196635 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
69018 /* 196640 */ // GIR_Coverage, 19745,
69019 /* 196640 */ GIR_EraseRootFromParent_Done,
69020 /* 196641 */ // Label 5675: @196641
69021 /* 196641 */ GIM_Reject,
69022 /* 196642 */ // Label 5672: @196642
69023 /* 196642 */ GIM_Try, /*On fail goto*//*Label 5676*/ GIMT_Encode4(196679), // Rule ID 19747 //
69024 /* 196647 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
69025 /* 196651 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
69026 /* 196655 */ // MIs[0] Operand 2
69027 /* 196655 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69028 /* 196666 */ // (extract_subvector:{ *:[v8i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK64:{ *:[v64i1] }:$src, VK8:{ *:[i32] })
69029 /* 196666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69030 /* 196669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69031 /* 196671 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69032 /* 196673 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
69033 /* 196678 */ // GIR_Coverage, 19747,
69034 /* 196678 */ GIR_EraseRootFromParent_Done,
69035 /* 196679 */ // Label 5676: @196679
69036 /* 196679 */ GIM_Reject,
69037 /* 196680 */ // Label 5673: @196680
69038 /* 196680 */ GIM_Reject,
69039 /* 196681 */ // Label 5626: @196681
69040 /* 196681 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(11), GIMT_Encode2(13), /*)*//*default:*//*Label 5679*/ GIMT_Encode4(196776),
69041 /* 196692 */ /*GILLT_v32s1*//*Label 5677*/ GIMT_Encode4(196700),
69042 /* 196696 */ /*GILLT_v64s1*//*Label 5678*/ GIMT_Encode4(196738),
69043 /* 196700 */ // Label 5677: @196700
69044 /* 196700 */ GIM_Try, /*On fail goto*//*Label 5680*/ GIMT_Encode4(196737), // Rule ID 19749 //
69045 /* 196705 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
69046 /* 196709 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
69047 /* 196713 */ // MIs[0] Operand 2
69048 /* 196713 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69049 /* 196724 */ // (extract_subvector:{ *:[v16i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } VK32:{ *:[v32i1] }:$src, VK16:{ *:[i32] })
69050 /* 196724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69051 /* 196727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69052 /* 196729 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69053 /* 196731 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
69054 /* 196736 */ // GIR_Coverage, 19749,
69055 /* 196736 */ GIR_EraseRootFromParent_Done,
69056 /* 196737 */ // Label 5680: @196737
69057 /* 196737 */ GIM_Reject,
69058 /* 196738 */ // Label 5678: @196738
69059 /* 196738 */ GIM_Try, /*On fail goto*//*Label 5681*/ GIMT_Encode4(196775), // Rule ID 19751 //
69060 /* 196743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
69061 /* 196747 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
69062 /* 196751 */ // MIs[0] Operand 2
69063 /* 196751 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69064 /* 196762 */ // (extract_subvector:{ *:[v16i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } VK64:{ *:[v64i1] }:$src, VK16:{ *:[i32] })
69065 /* 196762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69066 /* 196765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69067 /* 196767 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69068 /* 196769 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
69069 /* 196774 */ // GIR_Coverage, 19751,
69070 /* 196774 */ GIR_EraseRootFromParent_Done,
69071 /* 196775 */ // Label 5681: @196775
69072 /* 196775 */ GIM_Reject,
69073 /* 196776 */ // Label 5679: @196776
69074 /* 196776 */ GIM_Reject,
69075 /* 196777 */ // Label 5627: @196777
69076 /* 196777 */ GIM_Try, /*On fail goto*//*Label 5682*/ GIMT_Encode4(196817), // Rule ID 19753 //
69077 /* 196782 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
69078 /* 196785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
69079 /* 196789 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
69080 /* 196793 */ // MIs[0] Operand 2
69081 /* 196793 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69082 /* 196804 */ // (extract_subvector:{ *:[v32i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } VK64:{ *:[v64i1] }:$src, VK32:{ *:[i32] })
69083 /* 196804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69084 /* 196807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69085 /* 196809 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69086 /* 196811 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
69087 /* 196816 */ // GIR_Coverage, 19753,
69088 /* 196816 */ GIR_EraseRootFromParent_Done,
69089 /* 196817 */ // Label 5682: @196817
69090 /* 196817 */ GIM_Reject,
69091 /* 196818 */ // Label 5628: @196818
69092 /* 196818 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(14), GIMT_Encode2(16), /*)*//*default:*//*Label 5685*/ GIMT_Encode4(197065),
69093 /* 196829 */ /*GILLT_v32s8*//*Label 5683*/ GIMT_Encode4(196837),
69094 /* 196833 */ /*GILLT_v64s8*//*Label 5684*/ GIMT_Encode4(196884),
69095 /* 196837 */ // Label 5683: @196837
69096 /* 196837 */ GIM_Try, /*On fail goto*//*Label 5686*/ GIMT_Encode4(196883), // Rule ID 23253 //
69097 /* 196842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
69098 /* 196846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69099 /* 196850 */ // MIs[0] Operand 2
69100 /* 196850 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69101 /* 196861 */ // (extract_subvector:{ *:[v16i8] } VR256:{ *:[v32i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i8] } VR256:{ *:[v32i8] }:$src, sub_xmm:{ *:[i32] })
69102 /* 196861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69103 /* 196864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69104 /* 196866 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69105 /* 196872 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
69106 /* 196877 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
69107 /* 196882 */ // GIR_Coverage, 23253,
69108 /* 196882 */ GIR_EraseRootFromParent_Done,
69109 /* 196883 */ // Label 5686: @196883
69110 /* 196883 */ GIM_Reject,
69111 /* 196884 */ // Label 5684: @196884
69112 /* 196884 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5687*/ GIMT_Encode4(196951), GIMT_Encode2(GIFBS_NoVLX), // Rule ID 19159 //
69113 /* 196891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69114 /* 196895 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69115 /* 196899 */ // MIs[0] Operand 2
69116 /* 196899 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
69117 /* 196910 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 16:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v16i8] } (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69118 /* 196910 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
69119 /* 196913 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69120 /* 196917 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69121 /* 196922 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69122 /* 196928 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69123 /* 196933 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69124 /* 196938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
69125 /* 196941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69126 /* 196943 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69127 /* 196946 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69128 /* 196949 */ GIR_RootConstrainSelectedInstOperands,
69129 /* 196950 */ // GIR_Coverage, 19159,
69130 /* 196950 */ GIR_EraseRootFromParent_Done,
69131 /* 196951 */ // Label 5687: @196951
69132 /* 196951 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5688*/ GIMT_Encode4(197018), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19166 //
69133 /* 196958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69134 /* 196962 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69135 /* 196966 */ // MIs[0] Operand 2
69136 /* 196966 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
69137 /* 196977 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 16:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v16i8] } (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69138 /* 196977 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
69139 /* 196980 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69140 /* 196984 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69141 /* 196989 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69142 /* 196995 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69143 /* 197000 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69144 /* 197005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
69145 /* 197008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69146 /* 197010 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69147 /* 197013 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69148 /* 197016 */ GIR_RootConstrainSelectedInstOperands,
69149 /* 197017 */ // GIR_Coverage, 19166,
69150 /* 197017 */ GIR_EraseRootFromParent_Done,
69151 /* 197018 */ // Label 5688: @197018
69152 /* 197018 */ GIM_Try, /*On fail goto*//*Label 5689*/ GIMT_Encode4(197064), // Rule ID 23274 //
69153 /* 197023 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
69154 /* 197027 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69155 /* 197031 */ // MIs[0] Operand 2
69156 /* 197031 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69157 /* 197042 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, sub_xmm:{ *:[i32] })
69158 /* 197042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69159 /* 197045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69160 /* 197047 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69161 /* 197053 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69162 /* 197058 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69163 /* 197063 */ // GIR_Coverage, 23274,
69164 /* 197063 */ GIR_EraseRootFromParent_Done,
69165 /* 197064 */ // Label 5689: @197064
69166 /* 197064 */ GIM_Reject,
69167 /* 197065 */ // Label 5685: @197065
69168 /* 197065 */ GIM_Reject,
69169 /* 197066 */ // Label 5629: @197066
69170 /* 197066 */ GIM_Try, /*On fail goto*//*Label 5690*/ GIMT_Encode4(197115), // Rule ID 23295 //
69171 /* 197071 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
69172 /* 197074 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69173 /* 197078 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69174 /* 197082 */ // MIs[0] Operand 2
69175 /* 197082 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69176 /* 197093 */ // (extract_subvector:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] })
69177 /* 197093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69178 /* 197096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69179 /* 197098 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69180 /* 197104 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69181 /* 197109 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69182 /* 197114 */ // GIR_Coverage, 23295,
69183 /* 197114 */ GIR_EraseRootFromParent_Done,
69184 /* 197115 */ // Label 5690: @197115
69185 /* 197115 */ GIM_Reject,
69186 /* 197116 */ // Label 5630: @197116
69187 /* 197116 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(17), GIMT_Encode2(19), /*)*//*default:*//*Label 5693*/ GIMT_Encode4(197537),
69188 /* 197127 */ /*GILLT_v16s16*//*Label 5691*/ GIMT_Encode4(197135),
69189 /* 197131 */ /*GILLT_v32s16*//*Label 5692*/ GIMT_Encode4(197215),
69190 /* 197135 */ // Label 5691: @197135
69191 /* 197135 */ GIM_Try, /*On fail goto*//*Label 5694*/ GIMT_Encode4(197214),
69192 /* 197140 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
69193 /* 197144 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69194 /* 197148 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69195 /* 197159 */ GIM_Try, /*On fail goto*//*Label 5695*/ GIMT_Encode4(197186), // Rule ID 23250 //
69196 /* 197164 */ // (extract_subvector:{ *:[v8i16] } VR256:{ *:[v16i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i16] } VR256:{ *:[v16i16] }:$src, sub_xmm:{ *:[i32] })
69197 /* 197164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69198 /* 197167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69199 /* 197169 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69200 /* 197175 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
69201 /* 197180 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
69202 /* 197185 */ // GIR_Coverage, 23250,
69203 /* 197185 */ GIR_EraseRootFromParent_Done,
69204 /* 197186 */ // Label 5695: @197186
69205 /* 197186 */ GIM_Try, /*On fail goto*//*Label 5696*/ GIMT_Encode4(197213), // Rule ID 23256 //
69206 /* 197191 */ // (extract_subvector:{ *:[v8f16] } VR256:{ *:[v16f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f16] } VR256:{ *:[v16f16] }:$src, sub_xmm:{ *:[i32] })
69207 /* 197191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69208 /* 197194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69209 /* 197196 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69210 /* 197202 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
69211 /* 197207 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
69212 /* 197212 */ // GIR_Coverage, 23256,
69213 /* 197212 */ GIR_EraseRootFromParent_Done,
69214 /* 197213 */ // Label 5696: @197213
69215 /* 197213 */ GIM_Reject,
69216 /* 197214 */ // Label 5694: @197214
69217 /* 197214 */ GIM_Reject,
69218 /* 197215 */ // Label 5692: @197215
69219 /* 197215 */ GIM_Try, /*On fail goto*//*Label 5697*/ GIMT_Encode4(197336),
69220 /* 197220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69221 /* 197224 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69222 /* 197228 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
69223 /* 197239 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5698*/ GIMT_Encode4(197287), GIMT_Encode2(GIFBS_NoVLX), // Rule ID 19157 //
69224 /* 197246 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v8i16] } (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69225 /* 197246 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
69226 /* 197249 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69227 /* 197253 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69228 /* 197258 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69229 /* 197264 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69230 /* 197269 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69231 /* 197274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
69232 /* 197277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69233 /* 197279 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69234 /* 197282 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69235 /* 197285 */ GIR_RootConstrainSelectedInstOperands,
69236 /* 197286 */ // GIR_Coverage, 19157,
69237 /* 197286 */ GIR_EraseRootFromParent_Done,
69238 /* 197287 */ // Label 5698: @197287
69239 /* 197287 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5699*/ GIMT_Encode4(197335), GIMT_Encode2(GIFBS_NoVLX), // Rule ID 19158 //
69240 /* 197294 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v8f16] } (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69241 /* 197294 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
69242 /* 197297 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69243 /* 197301 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69244 /* 197306 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69245 /* 197312 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69246 /* 197317 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69247 /* 197322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
69248 /* 197325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69249 /* 197327 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69250 /* 197330 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69251 /* 197333 */ GIR_RootConstrainSelectedInstOperands,
69252 /* 197334 */ // GIR_Coverage, 19158,
69253 /* 197334 */ GIR_EraseRootFromParent_Done,
69254 /* 197335 */ // Label 5699: @197335
69255 /* 197335 */ GIM_Reject,
69256 /* 197336 */ // Label 5697: @197336
69257 /* 197336 */ GIM_Try, /*On fail goto*//*Label 5700*/ GIMT_Encode4(197457),
69258 /* 197341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69259 /* 197345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69260 /* 197349 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
69261 /* 197360 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5701*/ GIMT_Encode4(197408), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19164 //
69262 /* 197367 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v8i16] } (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69263 /* 197367 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
69264 /* 197370 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69265 /* 197374 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69266 /* 197379 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69267 /* 197385 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69268 /* 197390 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69269 /* 197395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
69270 /* 197398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69271 /* 197400 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69272 /* 197403 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69273 /* 197406 */ GIR_RootConstrainSelectedInstOperands,
69274 /* 197407 */ // GIR_Coverage, 19164,
69275 /* 197407 */ GIR_EraseRootFromParent_Done,
69276 /* 197408 */ // Label 5701: @197408
69277 /* 197408 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5702*/ GIMT_Encode4(197456), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19165 //
69278 /* 197415 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v8f16] } (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69279 /* 197415 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
69280 /* 197418 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69281 /* 197422 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69282 /* 197427 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69283 /* 197433 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69284 /* 197438 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69285 /* 197443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
69286 /* 197446 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69287 /* 197448 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69288 /* 197451 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69289 /* 197454 */ GIR_RootConstrainSelectedInstOperands,
69290 /* 197455 */ // GIR_Coverage, 19165,
69291 /* 197455 */ GIR_EraseRootFromParent_Done,
69292 /* 197456 */ // Label 5702: @197456
69293 /* 197456 */ GIM_Reject,
69294 /* 197457 */ // Label 5700: @197457
69295 /* 197457 */ GIM_Try, /*On fail goto*//*Label 5703*/ GIMT_Encode4(197536),
69296 /* 197462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
69297 /* 197466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69298 /* 197470 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69299 /* 197481 */ GIM_Try, /*On fail goto*//*Label 5704*/ GIMT_Encode4(197508), // Rule ID 23271 //
69300 /* 197486 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, sub_xmm:{ *:[i32] })
69301 /* 197486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69302 /* 197489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69303 /* 197491 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69304 /* 197497 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69305 /* 197502 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69306 /* 197507 */ // GIR_Coverage, 23271,
69307 /* 197507 */ GIR_EraseRootFromParent_Done,
69308 /* 197508 */ // Label 5704: @197508
69309 /* 197508 */ GIM_Try, /*On fail goto*//*Label 5705*/ GIMT_Encode4(197535), // Rule ID 23277 //
69310 /* 197513 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, sub_xmm:{ *:[i32] })
69311 /* 197513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69312 /* 197516 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69313 /* 197518 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69314 /* 197524 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69315 /* 197529 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69316 /* 197534 */ // GIR_Coverage, 23277,
69317 /* 197534 */ GIR_EraseRootFromParent_Done,
69318 /* 197535 */ // Label 5705: @197535
69319 /* 197535 */ GIM_Reject,
69320 /* 197536 */ // Label 5703: @197536
69321 /* 197536 */ GIM_Reject,
69322 /* 197537 */ // Label 5693: @197537
69323 /* 197537 */ GIM_Reject,
69324 /* 197538 */ // Label 5631: @197538
69325 /* 197538 */ GIM_Try, /*On fail goto*//*Label 5706*/ GIMT_Encode4(197620),
69326 /* 197543 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
69327 /* 197546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69328 /* 197550 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69329 /* 197554 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69330 /* 197565 */ GIM_Try, /*On fail goto*//*Label 5707*/ GIMT_Encode4(197592), // Rule ID 23292 //
69331 /* 197570 */ // (extract_subvector:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] })
69332 /* 197570 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69333 /* 197573 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69334 /* 197575 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69335 /* 197581 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69336 /* 197586 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69337 /* 197591 */ // GIR_Coverage, 23292,
69338 /* 197591 */ GIR_EraseRootFromParent_Done,
69339 /* 197592 */ // Label 5707: @197592
69340 /* 197592 */ GIM_Try, /*On fail goto*//*Label 5708*/ GIMT_Encode4(197619), // Rule ID 23298 //
69341 /* 197597 */ // (extract_subvector:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] })
69342 /* 197597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69343 /* 197600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69344 /* 197602 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69345 /* 197608 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69346 /* 197613 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69347 /* 197618 */ // GIR_Coverage, 23298,
69348 /* 197618 */ GIR_EraseRootFromParent_Done,
69349 /* 197619 */ // Label 5708: @197619
69350 /* 197619 */ GIM_Reject,
69351 /* 197620 */ // Label 5706: @197620
69352 /* 197620 */ GIM_Reject,
69353 /* 197621 */ // Label 5632: @197621
69354 /* 197621 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(20), GIMT_Encode2(22), /*)*//*default:*//*Label 5711*/ GIMT_Encode4(198042),
69355 /* 197632 */ /*GILLT_v8s32*//*Label 5709*/ GIMT_Encode4(197640),
69356 /* 197636 */ /*GILLT_v16s32*//*Label 5710*/ GIMT_Encode4(197720),
69357 /* 197640 */ // Label 5709: @197640
69358 /* 197640 */ GIM_Try, /*On fail goto*//*Label 5712*/ GIMT_Encode4(197719),
69359 /* 197645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
69360 /* 197649 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69361 /* 197653 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69362 /* 197664 */ GIM_Try, /*On fail goto*//*Label 5713*/ GIMT_Encode4(197691), // Rule ID 23238 //
69363 /* 197669 */ // (extract_subvector:{ *:[v4i32] } VR256:{ *:[v8i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i32] } VR256:{ *:[v8i32] }:$src, sub_xmm:{ *:[i32] })
69364 /* 197669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69365 /* 197672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69366 /* 197674 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69367 /* 197680 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
69368 /* 197685 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
69369 /* 197690 */ // GIR_Coverage, 23238,
69370 /* 197690 */ GIR_EraseRootFromParent_Done,
69371 /* 197691 */ // Label 5713: @197691
69372 /* 197691 */ GIM_Try, /*On fail goto*//*Label 5714*/ GIMT_Encode4(197718), // Rule ID 23241 //
69373 /* 197696 */ // (extract_subvector:{ *:[v4f32] } VR256:{ *:[v8f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f32] } VR256:{ *:[v8f32] }:$src, sub_xmm:{ *:[i32] })
69374 /* 197696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69375 /* 197699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69376 /* 197701 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69377 /* 197707 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
69378 /* 197712 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
69379 /* 197717 */ // GIR_Coverage, 23241,
69380 /* 197717 */ GIR_EraseRootFromParent_Done,
69381 /* 197718 */ // Label 5714: @197718
69382 /* 197718 */ GIM_Reject,
69383 /* 197719 */ // Label 5712: @197719
69384 /* 197719 */ GIM_Reject,
69385 /* 197720 */ // Label 5710: @197720
69386 /* 197720 */ GIM_Try, /*On fail goto*//*Label 5715*/ GIMT_Encode4(197841),
69387 /* 197725 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69388 /* 197729 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69389 /* 197733 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
69390 /* 197744 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5716*/ GIMT_Encode4(197792), GIMT_Encode2(GIFBS_NoVLX), // Rule ID 19155 //
69391 /* 197751 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v4i32] } (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69392 /* 197751 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
69393 /* 197754 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69394 /* 197758 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69395 /* 197763 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69396 /* 197769 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69397 /* 197774 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69398 /* 197779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
69399 /* 197782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69400 /* 197784 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69401 /* 197787 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69402 /* 197790 */ GIR_RootConstrainSelectedInstOperands,
69403 /* 197791 */ // GIR_Coverage, 19155,
69404 /* 197791 */ GIR_EraseRootFromParent_Done,
69405 /* 197792 */ // Label 5716: @197792
69406 /* 197792 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5717*/ GIMT_Encode4(197840), GIMT_Encode2(GIFBS_NoVLX), // Rule ID 19156 //
69407 /* 197799 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v4f32] } (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69408 /* 197799 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
69409 /* 197802 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69410 /* 197806 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69411 /* 197811 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69412 /* 197817 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69413 /* 197822 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69414 /* 197827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
69415 /* 197830 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69416 /* 197832 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69417 /* 197835 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69418 /* 197838 */ GIR_RootConstrainSelectedInstOperands,
69419 /* 197839 */ // GIR_Coverage, 19156,
69420 /* 197839 */ GIR_EraseRootFromParent_Done,
69421 /* 197840 */ // Label 5717: @197840
69422 /* 197840 */ GIM_Reject,
69423 /* 197841 */ // Label 5715: @197841
69424 /* 197841 */ GIM_Try, /*On fail goto*//*Label 5718*/ GIMT_Encode4(197962),
69425 /* 197846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69426 /* 197850 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69427 /* 197854 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
69428 /* 197865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5719*/ GIMT_Encode4(197913), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19162 //
69429 /* 197872 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v4i32] } (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69430 /* 197872 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
69431 /* 197875 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69432 /* 197879 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69433 /* 197884 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69434 /* 197890 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69435 /* 197895 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69436 /* 197900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
69437 /* 197903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69438 /* 197905 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69439 /* 197908 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69440 /* 197911 */ GIR_RootConstrainSelectedInstOperands,
69441 /* 197912 */ // GIR_Coverage, 19162,
69442 /* 197912 */ GIR_EraseRootFromParent_Done,
69443 /* 197913 */ // Label 5719: @197913
69444 /* 197913 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5720*/ GIMT_Encode4(197961), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19163 //
69445 /* 197920 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v4f32] } (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69446 /* 197920 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
69447 /* 197923 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69448 /* 197927 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69449 /* 197932 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69450 /* 197938 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69451 /* 197943 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69452 /* 197948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
69453 /* 197951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69454 /* 197953 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69455 /* 197956 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69456 /* 197959 */ GIR_RootConstrainSelectedInstOperands,
69457 /* 197960 */ // GIR_Coverage, 19163,
69458 /* 197960 */ GIR_EraseRootFromParent_Done,
69459 /* 197961 */ // Label 5720: @197961
69460 /* 197961 */ GIM_Reject,
69461 /* 197962 */ // Label 5718: @197962
69462 /* 197962 */ GIM_Try, /*On fail goto*//*Label 5721*/ GIMT_Encode4(198041),
69463 /* 197967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
69464 /* 197971 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69465 /* 197975 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69466 /* 197986 */ GIM_Try, /*On fail goto*//*Label 5722*/ GIMT_Encode4(198013), // Rule ID 23259 //
69467 /* 197991 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, sub_xmm:{ *:[i32] })
69468 /* 197991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69469 /* 197994 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69470 /* 197996 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69471 /* 198002 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69472 /* 198007 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69473 /* 198012 */ // GIR_Coverage, 23259,
69474 /* 198012 */ GIR_EraseRootFromParent_Done,
69475 /* 198013 */ // Label 5722: @198013
69476 /* 198013 */ GIM_Try, /*On fail goto*//*Label 5723*/ GIMT_Encode4(198040), // Rule ID 23262 //
69477 /* 198018 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, sub_xmm:{ *:[i32] })
69478 /* 198018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69479 /* 198021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69480 /* 198023 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69481 /* 198029 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69482 /* 198034 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69483 /* 198039 */ // GIR_Coverage, 23262,
69484 /* 198039 */ GIR_EraseRootFromParent_Done,
69485 /* 198040 */ // Label 5723: @198040
69486 /* 198040 */ GIM_Reject,
69487 /* 198041 */ // Label 5721: @198041
69488 /* 198041 */ GIM_Reject,
69489 /* 198042 */ // Label 5711: @198042
69490 /* 198042 */ GIM_Reject,
69491 /* 198043 */ // Label 5633: @198043
69492 /* 198043 */ GIM_Try, /*On fail goto*//*Label 5724*/ GIMT_Encode4(198125),
69493 /* 198048 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
69494 /* 198051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69495 /* 198055 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69496 /* 198059 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69497 /* 198070 */ GIM_Try, /*On fail goto*//*Label 5725*/ GIMT_Encode4(198097), // Rule ID 23280 //
69498 /* 198075 */ // (extract_subvector:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] })
69499 /* 198075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69500 /* 198078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69501 /* 198080 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69502 /* 198086 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69503 /* 198091 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69504 /* 198096 */ // GIR_Coverage, 23280,
69505 /* 198096 */ GIR_EraseRootFromParent_Done,
69506 /* 198097 */ // Label 5725: @198097
69507 /* 198097 */ GIM_Try, /*On fail goto*//*Label 5726*/ GIMT_Encode4(198124), // Rule ID 23283 //
69508 /* 198102 */ // (extract_subvector:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] })
69509 /* 198102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69510 /* 198105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69511 /* 198107 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69512 /* 198113 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69513 /* 198118 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69514 /* 198123 */ // GIR_Coverage, 23283,
69515 /* 198123 */ GIR_EraseRootFromParent_Done,
69516 /* 198124 */ // Label 5726: @198124
69517 /* 198124 */ GIM_Reject,
69518 /* 198125 */ // Label 5724: @198125
69519 /* 198125 */ GIM_Reject,
69520 /* 198126 */ // Label 5634: @198126
69521 /* 198126 */ GIM_SwitchType, /*MI*/0, /*Op*/1, /*[*/GIMT_Encode2(23), GIMT_Encode2(25), /*)*//*default:*//*Label 5729*/ GIMT_Encode4(198547),
69522 /* 198137 */ /*GILLT_v4s64*//*Label 5727*/ GIMT_Encode4(198145),
69523 /* 198141 */ /*GILLT_v8s64*//*Label 5728*/ GIMT_Encode4(198225),
69524 /* 198145 */ // Label 5727: @198145
69525 /* 198145 */ GIM_Try, /*On fail goto*//*Label 5730*/ GIMT_Encode4(198224),
69526 /* 198150 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
69527 /* 198154 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69528 /* 198158 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69529 /* 198169 */ GIM_Try, /*On fail goto*//*Label 5731*/ GIMT_Encode4(198196), // Rule ID 23244 //
69530 /* 198174 */ // (extract_subvector:{ *:[v2i64] } VR256:{ *:[v4i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2i64] } VR256:{ *:[v4i64] }:$src, sub_xmm:{ *:[i32] })
69531 /* 198174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69532 /* 198177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69533 /* 198179 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69534 /* 198185 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
69535 /* 198190 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
69536 /* 198195 */ // GIR_Coverage, 23244,
69537 /* 198195 */ GIR_EraseRootFromParent_Done,
69538 /* 198196 */ // Label 5731: @198196
69539 /* 198196 */ GIM_Try, /*On fail goto*//*Label 5732*/ GIMT_Encode4(198223), // Rule ID 23247 //
69540 /* 198201 */ // (extract_subvector:{ *:[v2f64] } VR256:{ *:[v4f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2f64] } VR256:{ *:[v4f64] }:$src, sub_xmm:{ *:[i32] })
69541 /* 198201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69542 /* 198204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69543 /* 198206 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69544 /* 198212 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
69545 /* 198217 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
69546 /* 198222 */ // GIR_Coverage, 23247,
69547 /* 198222 */ GIR_EraseRootFromParent_Done,
69548 /* 198223 */ // Label 5732: @198223
69549 /* 198223 */ GIM_Reject,
69550 /* 198224 */ // Label 5730: @198224
69551 /* 198224 */ GIM_Reject,
69552 /* 198225 */ // Label 5728: @198225
69553 /* 198225 */ GIM_Try, /*On fail goto*//*Label 5733*/ GIMT_Encode4(198346),
69554 /* 198230 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69555 /* 198234 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69556 /* 198238 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
69557 /* 198249 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5734*/ GIMT_Encode4(198297), GIMT_Encode2(GIFBS_NoVLX), // Rule ID 19153 //
69558 /* 198256 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v2i64] } (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69559 /* 198256 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
69560 /* 198259 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69561 /* 198263 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69562 /* 198268 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69563 /* 198274 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69564 /* 198279 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69565 /* 198284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
69566 /* 198287 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69567 /* 198289 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69568 /* 198292 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69569 /* 198295 */ GIR_RootConstrainSelectedInstOperands,
69570 /* 198296 */ // GIR_Coverage, 19153,
69571 /* 198296 */ GIR_EraseRootFromParent_Done,
69572 /* 198297 */ // Label 5734: @198297
69573 /* 198297 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5735*/ GIMT_Encode4(198345), GIMT_Encode2(GIFBS_NoVLX), // Rule ID 19154 //
69574 /* 198304 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v2f64] } (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69575 /* 198304 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
69576 /* 198307 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69577 /* 198311 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69578 /* 198316 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69579 /* 198322 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69580 /* 198327 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69581 /* 198332 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
69582 /* 198335 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69583 /* 198337 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69584 /* 198340 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69585 /* 198343 */ GIR_RootConstrainSelectedInstOperands,
69586 /* 198344 */ // GIR_Coverage, 19154,
69587 /* 198344 */ GIR_EraseRootFromParent_Done,
69588 /* 198345 */ // Label 5735: @198345
69589 /* 198345 */ GIM_Reject,
69590 /* 198346 */ // Label 5733: @198346
69591 /* 198346 */ GIM_Try, /*On fail goto*//*Label 5736*/ GIMT_Encode4(198467),
69592 /* 198351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69593 /* 198355 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69594 /* 198359 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
69595 /* 198370 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5737*/ GIMT_Encode4(198418), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19160 //
69596 /* 198377 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v2i64] } (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69597 /* 198377 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
69598 /* 198380 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69599 /* 198384 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69600 /* 198389 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69601 /* 198395 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69602 /* 198400 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69603 /* 198405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
69604 /* 198408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69605 /* 198410 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69606 /* 198413 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69607 /* 198416 */ GIR_RootConstrainSelectedInstOperands,
69608 /* 198417 */ // GIR_Coverage, 19160,
69609 /* 198417 */ GIR_EraseRootFromParent_Done,
69610 /* 198418 */ // Label 5737: @198418
69611 /* 198418 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5738*/ GIMT_Encode4(198466), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 19161 //
69612 /* 198425 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v2f64] } (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
69613 /* 198425 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
69614 /* 198428 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69615 /* 198432 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69616 /* 198437 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69617 /* 198443 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69618 /* 198448 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69619 /* 198453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
69620 /* 198456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69621 /* 198458 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
69622 /* 198461 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
69623 /* 198464 */ GIR_RootConstrainSelectedInstOperands,
69624 /* 198465 */ // GIR_Coverage, 19161,
69625 /* 198465 */ GIR_EraseRootFromParent_Done,
69626 /* 198466 */ // Label 5738: @198466
69627 /* 198466 */ GIM_Reject,
69628 /* 198467 */ // Label 5736: @198467
69629 /* 198467 */ GIM_Try, /*On fail goto*//*Label 5739*/ GIMT_Encode4(198546),
69630 /* 198472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
69631 /* 198476 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69632 /* 198480 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69633 /* 198491 */ GIM_Try, /*On fail goto*//*Label 5740*/ GIMT_Encode4(198518), // Rule ID 23265 //
69634 /* 198496 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, sub_xmm:{ *:[i32] })
69635 /* 198496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69636 /* 198499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69637 /* 198501 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69638 /* 198507 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69639 /* 198512 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69640 /* 198517 */ // GIR_Coverage, 23265,
69641 /* 198517 */ GIR_EraseRootFromParent_Done,
69642 /* 198518 */ // Label 5740: @198518
69643 /* 198518 */ GIM_Try, /*On fail goto*//*Label 5741*/ GIMT_Encode4(198545), // Rule ID 23268 //
69644 /* 198523 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, sub_xmm:{ *:[i32] })
69645 /* 198523 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69646 /* 198526 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69647 /* 198528 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
69648 /* 198534 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69649 /* 198539 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69650 /* 198544 */ // GIR_Coverage, 23268,
69651 /* 198544 */ GIR_EraseRootFromParent_Done,
69652 /* 198545 */ // Label 5741: @198545
69653 /* 198545 */ GIM_Reject,
69654 /* 198546 */ // Label 5739: @198546
69655 /* 198546 */ GIM_Reject,
69656 /* 198547 */ // Label 5729: @198547
69657 /* 198547 */ GIM_Reject,
69658 /* 198548 */ // Label 5635: @198548
69659 /* 198548 */ GIM_Try, /*On fail goto*//*Label 5742*/ GIMT_Encode4(198630),
69660 /* 198553 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
69661 /* 198556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69662 /* 198560 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69663 /* 198564 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
69664 /* 198575 */ GIM_Try, /*On fail goto*//*Label 5743*/ GIMT_Encode4(198602), // Rule ID 23286 //
69665 /* 198580 */ // (extract_subvector:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] })
69666 /* 198580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69667 /* 198583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69668 /* 198585 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69669 /* 198591 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69670 /* 198596 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69671 /* 198601 */ // GIR_Coverage, 23286,
69672 /* 198601 */ GIR_EraseRootFromParent_Done,
69673 /* 198602 */ // Label 5743: @198602
69674 /* 198602 */ GIM_Try, /*On fail goto*//*Label 5744*/ GIMT_Encode4(198629), // Rule ID 23289 //
69675 /* 198607 */ // (extract_subvector:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] })
69676 /* 198607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69677 /* 198610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69678 /* 198612 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
69679 /* 198618 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69680 /* 198623 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69681 /* 198628 */ // GIR_Coverage, 23289,
69682 /* 198628 */ GIR_EraseRootFromParent_Done,
69683 /* 198629 */ // Label 5744: @198629
69684 /* 198629 */ GIM_Reject,
69685 /* 198630 */ // Label 5742: @198630
69686 /* 198630 */ GIM_Reject,
69687 /* 198631 */ // Label 5636: @198631
69688 /* 198631 */ GIM_Reject,
69689 /* 198632 */ // Label 66: @198632
69690 /* 198632 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 5757*/ GIMT_Encode4(200551),
69691 /* 198643 */ /*GILLT_v16s8*//*Label 5745*/ GIMT_Encode4(198691),
69692 /* 198647 */ /*GILLT_v32s8*//*Label 5746*/ GIMT_Encode4(198803),
69693 /* 198651 */ /*GILLT_v64s8*//*Label 5747*/ GIMT_Encode4(198915),
69694 /* 198655 */ /*GILLT_v8s16*//*Label 5748*/ GIMT_Encode4(199027),
69695 /* 198659 */ /*GILLT_v16s16*//*Label 5749*/ GIMT_Encode4(199139),
69696 /* 198663 */ /*GILLT_v32s16*//*Label 5750*/ GIMT_Encode4(199251),
69697 /* 198667 */ /*GILLT_v4s32*//*Label 5751*/ GIMT_Encode4(199363),
69698 /* 198671 */ /*GILLT_v8s32*//*Label 5752*/ GIMT_Encode4(199561),
69699 /* 198675 */ /*GILLT_v16s32*//*Label 5753*/ GIMT_Encode4(199759),
69700 /* 198679 */ /*GILLT_v2s64*//*Label 5754*/ GIMT_Encode4(199957),
69701 /* 198683 */ /*GILLT_v4s64*//*Label 5755*/ GIMT_Encode4(200155),
69702 /* 198687 */ /*GILLT_v8s64*//*Label 5756*/ GIMT_Encode4(200353),
69703 /* 198691 */ // Label 5745: @198691
69704 /* 198691 */ GIM_Try, /*On fail goto*//*Label 5758*/ GIMT_Encode4(198802),
69705 /* 198696 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
69706 /* 198699 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
69707 /* 198702 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
69708 /* 198705 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69709 /* 198709 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69710 /* 198713 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
69711 /* 198717 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5759*/ GIMT_Encode4(198749), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22234 //
69712 /* 198724 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69713 /* 198728 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
69714 /* 198734 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
69715 /* 198736 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69716 /* 198738 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i8] }) => (VPCOMPRESSBZ128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
69717 /* 198738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrkz),
69718 /* 198741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69719 /* 198743 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69720 /* 198745 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69721 /* 198747 */ GIR_RootConstrainSelectedInstOperands,
69722 /* 198748 */ // GIR_Coverage, 22234,
69723 /* 198748 */ GIR_EraseRootFromParent_Done,
69724 /* 198749 */ // Label 5759: @198749
69725 /* 198749 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5760*/ GIMT_Encode4(198777), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22233 //
69726 /* 198756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69727 /* 198760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
69728 /* 198764 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69729 /* 198766 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i8] })) => (VPCOMPRESSBZ128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
69730 /* 198766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrkz),
69731 /* 198769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69732 /* 198771 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69733 /* 198773 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69734 /* 198775 */ GIR_RootConstrainSelectedInstOperands,
69735 /* 198776 */ // GIR_Coverage, 22233,
69736 /* 198776 */ GIR_EraseRootFromParent_Done,
69737 /* 198777 */ // Label 5760: @198777
69738 /* 198777 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5761*/ GIMT_Encode4(198801), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22235 //
69739 /* 198784 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69740 /* 198788 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$passthru) => (VPCOMPRESSBZ128rrk:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
69741 /* 198788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrk),
69742 /* 198791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69743 /* 198793 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
69744 /* 198795 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69745 /* 198797 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69746 /* 198799 */ GIR_RootConstrainSelectedInstOperands,
69747 /* 198800 */ // GIR_Coverage, 22235,
69748 /* 198800 */ GIR_EraseRootFromParent_Done,
69749 /* 198801 */ // Label 5761: @198801
69750 /* 198801 */ GIM_Reject,
69751 /* 198802 */ // Label 5758: @198802
69752 /* 198802 */ GIM_Reject,
69753 /* 198803 */ // Label 5746: @198803
69754 /* 198803 */ GIM_Try, /*On fail goto*//*Label 5762*/ GIMT_Encode4(198914),
69755 /* 198808 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
69756 /* 198811 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
69757 /* 198814 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
69758 /* 198817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69759 /* 198821 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69760 /* 198825 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
69761 /* 198829 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5763*/ GIMT_Encode4(198861), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22228 //
69762 /* 198836 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69763 /* 198840 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
69764 /* 198846 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
69765 /* 198848 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69766 /* 198850 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, immAllZerosV:{ *:[v32i8] }) => (VPCOMPRESSBZ256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
69767 /* 198850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrkz),
69768 /* 198853 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69769 /* 198855 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69770 /* 198857 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69771 /* 198859 */ GIR_RootConstrainSelectedInstOperands,
69772 /* 198860 */ // GIR_Coverage, 22228,
69773 /* 198860 */ GIR_EraseRootFromParent_Done,
69774 /* 198861 */ // Label 5763: @198861
69775 /* 198861 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5764*/ GIMT_Encode4(198889), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22227 //
69776 /* 198868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69777 /* 198872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
69778 /* 198876 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69779 /* 198878 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, (undef:{ *:[v32i8] })) => (VPCOMPRESSBZ256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
69780 /* 198878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrkz),
69781 /* 198881 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69782 /* 198883 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69783 /* 198885 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69784 /* 198887 */ GIR_RootConstrainSelectedInstOperands,
69785 /* 198888 */ // GIR_Coverage, 22227,
69786 /* 198888 */ GIR_EraseRootFromParent_Done,
69787 /* 198889 */ // Label 5764: @198889
69788 /* 198889 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5765*/ GIMT_Encode4(198913), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22229 //
69789 /* 198896 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69790 /* 198900 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$passthru) => (VPCOMPRESSBZ256rrk:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$passthru, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
69791 /* 198900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrk),
69792 /* 198903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69793 /* 198905 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
69794 /* 198907 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69795 /* 198909 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69796 /* 198911 */ GIR_RootConstrainSelectedInstOperands,
69797 /* 198912 */ // GIR_Coverage, 22229,
69798 /* 198912 */ GIR_EraseRootFromParent_Done,
69799 /* 198913 */ // Label 5765: @198913
69800 /* 198913 */ GIM_Reject,
69801 /* 198914 */ // Label 5762: @198914
69802 /* 198914 */ GIM_Reject,
69803 /* 198915 */ // Label 5747: @198915
69804 /* 198915 */ GIM_Try, /*On fail goto*//*Label 5766*/ GIMT_Encode4(199026),
69805 /* 198920 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
69806 /* 198923 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
69807 /* 198926 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
69808 /* 198929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69809 /* 198933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69810 /* 198937 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64WMRegClassID),
69811 /* 198941 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5767*/ GIMT_Encode4(198973), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 22222 //
69812 /* 198948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69813 /* 198952 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
69814 /* 198958 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
69815 /* 198960 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69816 /* 198962 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, immAllZerosV:{ *:[v64i8] }) => (VPCOMPRESSBZrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
69817 /* 198962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrkz),
69818 /* 198965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69819 /* 198967 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69820 /* 198969 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69821 /* 198971 */ GIR_RootConstrainSelectedInstOperands,
69822 /* 198972 */ // GIR_Coverage, 22222,
69823 /* 198972 */ GIR_EraseRootFromParent_Done,
69824 /* 198973 */ // Label 5767: @198973
69825 /* 198973 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5768*/ GIMT_Encode4(199001), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 22221 //
69826 /* 198980 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69827 /* 198984 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
69828 /* 198988 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69829 /* 198990 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, (undef:{ *:[v64i8] })) => (VPCOMPRESSBZrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
69830 /* 198990 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrkz),
69831 /* 198993 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69832 /* 198995 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69833 /* 198997 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69834 /* 198999 */ GIR_RootConstrainSelectedInstOperands,
69835 /* 199000 */ // GIR_Coverage, 22221,
69836 /* 199000 */ GIR_EraseRootFromParent_Done,
69837 /* 199001 */ // Label 5768: @199001
69838 /* 199001 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5769*/ GIMT_Encode4(199025), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 22223 //
69839 /* 199008 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69840 /* 199012 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$passthru) => (VPCOMPRESSBZrrk:{ *:[v64i8] } VR512:{ *:[v64i8] }:$passthru, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
69841 /* 199012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrk),
69842 /* 199015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69843 /* 199017 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
69844 /* 199019 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69845 /* 199021 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69846 /* 199023 */ GIR_RootConstrainSelectedInstOperands,
69847 /* 199024 */ // GIR_Coverage, 22223,
69848 /* 199024 */ GIR_EraseRootFromParent_Done,
69849 /* 199025 */ // Label 5769: @199025
69850 /* 199025 */ GIM_Reject,
69851 /* 199026 */ // Label 5766: @199026
69852 /* 199026 */ GIM_Reject,
69853 /* 199027 */ // Label 5748: @199027
69854 /* 199027 */ GIM_Try, /*On fail goto*//*Label 5770*/ GIMT_Encode4(199138),
69855 /* 199032 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
69856 /* 199035 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
69857 /* 199038 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
69858 /* 199041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69859 /* 199045 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69860 /* 199049 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
69861 /* 199053 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5771*/ GIMT_Encode4(199085), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22252 //
69862 /* 199060 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69863 /* 199064 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
69864 /* 199070 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
69865 /* 199072 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69866 /* 199074 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i16] }) => (VPCOMPRESSWZ128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
69867 /* 199074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrkz),
69868 /* 199077 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69869 /* 199079 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69870 /* 199081 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69871 /* 199083 */ GIR_RootConstrainSelectedInstOperands,
69872 /* 199084 */ // GIR_Coverage, 22252,
69873 /* 199084 */ GIR_EraseRootFromParent_Done,
69874 /* 199085 */ // Label 5771: @199085
69875 /* 199085 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5772*/ GIMT_Encode4(199113), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22251 //
69876 /* 199092 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69877 /* 199096 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
69878 /* 199100 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69879 /* 199102 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i16] })) => (VPCOMPRESSWZ128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
69880 /* 199102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrkz),
69881 /* 199105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69882 /* 199107 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69883 /* 199109 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69884 /* 199111 */ GIR_RootConstrainSelectedInstOperands,
69885 /* 199112 */ // GIR_Coverage, 22251,
69886 /* 199112 */ GIR_EraseRootFromParent_Done,
69887 /* 199113 */ // Label 5772: @199113
69888 /* 199113 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5773*/ GIMT_Encode4(199137), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22253 //
69889 /* 199120 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69890 /* 199124 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$passthru) => (VPCOMPRESSWZ128rrk:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
69891 /* 199124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrk),
69892 /* 199127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69893 /* 199129 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
69894 /* 199131 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69895 /* 199133 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69896 /* 199135 */ GIR_RootConstrainSelectedInstOperands,
69897 /* 199136 */ // GIR_Coverage, 22253,
69898 /* 199136 */ GIR_EraseRootFromParent_Done,
69899 /* 199137 */ // Label 5773: @199137
69900 /* 199137 */ GIM_Reject,
69901 /* 199138 */ // Label 5770: @199138
69902 /* 199138 */ GIM_Reject,
69903 /* 199139 */ // Label 5749: @199139
69904 /* 199139 */ GIM_Try, /*On fail goto*//*Label 5774*/ GIMT_Encode4(199250),
69905 /* 199144 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
69906 /* 199147 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
69907 /* 199150 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
69908 /* 199153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69909 /* 199157 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69910 /* 199161 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
69911 /* 199165 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5775*/ GIMT_Encode4(199197), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22246 //
69912 /* 199172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69913 /* 199176 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
69914 /* 199182 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
69915 /* 199184 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69916 /* 199186 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i16] }) => (VPCOMPRESSWZ256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
69917 /* 199186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrkz),
69918 /* 199189 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69919 /* 199191 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69920 /* 199193 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69921 /* 199195 */ GIR_RootConstrainSelectedInstOperands,
69922 /* 199196 */ // GIR_Coverage, 22246,
69923 /* 199196 */ GIR_EraseRootFromParent_Done,
69924 /* 199197 */ // Label 5775: @199197
69925 /* 199197 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5776*/ GIMT_Encode4(199225), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22245 //
69926 /* 199204 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69927 /* 199208 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
69928 /* 199212 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69929 /* 199214 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i16] })) => (VPCOMPRESSWZ256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
69930 /* 199214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrkz),
69931 /* 199217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69932 /* 199219 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69933 /* 199221 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69934 /* 199223 */ GIR_RootConstrainSelectedInstOperands,
69935 /* 199224 */ // GIR_Coverage, 22245,
69936 /* 199224 */ GIR_EraseRootFromParent_Done,
69937 /* 199225 */ // Label 5776: @199225
69938 /* 199225 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5777*/ GIMT_Encode4(199249), GIMT_Encode2(GIFBS_HasVBMI2_HasVLX), // Rule ID 22247 //
69939 /* 199232 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69940 /* 199236 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$passthru) => (VPCOMPRESSWZ256rrk:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
69941 /* 199236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrk),
69942 /* 199239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69943 /* 199241 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
69944 /* 199243 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69945 /* 199245 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69946 /* 199247 */ GIR_RootConstrainSelectedInstOperands,
69947 /* 199248 */ // GIR_Coverage, 22247,
69948 /* 199248 */ GIR_EraseRootFromParent_Done,
69949 /* 199249 */ // Label 5777: @199249
69950 /* 199249 */ GIM_Reject,
69951 /* 199250 */ // Label 5774: @199250
69952 /* 199250 */ GIM_Reject,
69953 /* 199251 */ // Label 5750: @199251
69954 /* 199251 */ GIM_Try, /*On fail goto*//*Label 5778*/ GIMT_Encode4(199362),
69955 /* 199256 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
69956 /* 199259 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
69957 /* 199262 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
69958 /* 199265 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69959 /* 199269 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69960 /* 199273 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
69961 /* 199277 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5779*/ GIMT_Encode4(199309), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 22240 //
69962 /* 199284 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69963 /* 199288 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
69964 /* 199294 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
69965 /* 199296 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69966 /* 199298 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, immAllZerosV:{ *:[v32i16] }) => (VPCOMPRESSWZrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
69967 /* 199298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrkz),
69968 /* 199301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69969 /* 199303 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69970 /* 199305 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69971 /* 199307 */ GIR_RootConstrainSelectedInstOperands,
69972 /* 199308 */ // GIR_Coverage, 22240,
69973 /* 199308 */ GIR_EraseRootFromParent_Done,
69974 /* 199309 */ // Label 5779: @199309
69975 /* 199309 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5780*/ GIMT_Encode4(199337), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 22239 //
69976 /* 199316 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
69977 /* 199320 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
69978 /* 199324 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69979 /* 199326 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, (undef:{ *:[v32i16] })) => (VPCOMPRESSWZrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
69980 /* 199326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrkz),
69981 /* 199329 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69982 /* 199331 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69983 /* 199333 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69984 /* 199335 */ GIR_RootConstrainSelectedInstOperands,
69985 /* 199336 */ // GIR_Coverage, 22239,
69986 /* 199336 */ GIR_EraseRootFromParent_Done,
69987 /* 199337 */ // Label 5780: @199337
69988 /* 199337 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5781*/ GIMT_Encode4(199361), GIMT_Encode2(GIFBS_HasVBMI2), // Rule ID 22241 //
69989 /* 199344 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69990 /* 199348 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$passthru) => (VPCOMPRESSWZrrk:{ *:[v32i16] } VR512:{ *:[v32i16] }:$passthru, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
69991 /* 199348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrk),
69992 /* 199351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69993 /* 199353 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
69994 /* 199355 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
69995 /* 199357 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
69996 /* 199359 */ GIR_RootConstrainSelectedInstOperands,
69997 /* 199360 */ // GIR_Coverage, 22241,
69998 /* 199360 */ GIR_EraseRootFromParent_Done,
69999 /* 199361 */ // Label 5781: @199361
70000 /* 199361 */ GIM_Reject,
70001 /* 199362 */ // Label 5778: @199362
70002 /* 199362 */ GIM_Reject,
70003 /* 199363 */ // Label 5751: @199363
70004 /* 199363 */ GIM_Try, /*On fail goto*//*Label 5782*/ GIMT_Encode4(199560),
70005 /* 199368 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
70006 /* 199371 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
70007 /* 199374 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
70008 /* 199377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70009 /* 199381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70010 /* 199385 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
70011 /* 199389 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5783*/ GIMT_Encode4(199421), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21826 //
70012 /* 199396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70013 /* 199400 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70014 /* 199406 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70015 /* 199408 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70016 /* 199410 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4i32] }) => (VPCOMPRESSDZ128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
70017 /* 199410 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrkz),
70018 /* 199413 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70019 /* 199415 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70020 /* 199417 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70021 /* 199419 */ GIR_RootConstrainSelectedInstOperands,
70022 /* 199420 */ // GIR_Coverage, 21826,
70023 /* 199420 */ GIR_EraseRootFromParent_Done,
70024 /* 199421 */ // Label 5783: @199421
70025 /* 199421 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5784*/ GIMT_Encode4(199453), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21862 //
70026 /* 199428 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70027 /* 199432 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70028 /* 199438 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70029 /* 199440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70030 /* 199442 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4f32] }) => (VCOMPRESSPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
70031 /* 199442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrkz),
70032 /* 199445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70033 /* 199447 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70034 /* 199449 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70035 /* 199451 */ GIR_RootConstrainSelectedInstOperands,
70036 /* 199452 */ // GIR_Coverage, 21862,
70037 /* 199452 */ GIR_EraseRootFromParent_Done,
70038 /* 199453 */ // Label 5784: @199453
70039 /* 199453 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5785*/ GIMT_Encode4(199481), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21825 //
70040 /* 199460 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70041 /* 199464 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70042 /* 199468 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70043 /* 199470 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4i32] })) => (VPCOMPRESSDZ128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
70044 /* 199470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrkz),
70045 /* 199473 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70046 /* 199475 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70047 /* 199477 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70048 /* 199479 */ GIR_RootConstrainSelectedInstOperands,
70049 /* 199480 */ // GIR_Coverage, 21825,
70050 /* 199480 */ GIR_EraseRootFromParent_Done,
70051 /* 199481 */ // Label 5785: @199481
70052 /* 199481 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5786*/ GIMT_Encode4(199509), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21861 //
70053 /* 199488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70054 /* 199492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70055 /* 199496 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70056 /* 199498 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4f32] })) => (VCOMPRESSPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
70057 /* 199498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrkz),
70058 /* 199501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70059 /* 199503 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70060 /* 199505 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70061 /* 199507 */ GIR_RootConstrainSelectedInstOperands,
70062 /* 199508 */ // GIR_Coverage, 21861,
70063 /* 199508 */ GIR_EraseRootFromParent_Done,
70064 /* 199509 */ // Label 5786: @199509
70065 /* 199509 */ GIM_Try, /*On fail goto*//*Label 5787*/ GIMT_Encode4(199559),
70066 /* 199514 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70067 /* 199518 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5788*/ GIMT_Encode4(199538), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21827 //
70068 /* 199525 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$passthru) => (VPCOMPRESSDZ128rrk:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
70069 /* 199525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrk),
70070 /* 199528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70071 /* 199530 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70072 /* 199532 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70073 /* 199534 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70074 /* 199536 */ GIR_RootConstrainSelectedInstOperands,
70075 /* 199537 */ // GIR_Coverage, 21827,
70076 /* 199537 */ GIR_EraseRootFromParent_Done,
70077 /* 199538 */ // Label 5788: @199538
70078 /* 199538 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5789*/ GIMT_Encode4(199558), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21863 //
70079 /* 199545 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$passthru) => (VCOMPRESSPSZ128rrk:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
70080 /* 199545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrk),
70081 /* 199548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70082 /* 199550 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70083 /* 199552 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70084 /* 199554 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70085 /* 199556 */ GIR_RootConstrainSelectedInstOperands,
70086 /* 199557 */ // GIR_Coverage, 21863,
70087 /* 199557 */ GIR_EraseRootFromParent_Done,
70088 /* 199558 */ // Label 5789: @199558
70089 /* 199558 */ GIM_Reject,
70090 /* 199559 */ // Label 5787: @199559
70091 /* 199559 */ GIM_Reject,
70092 /* 199560 */ // Label 5782: @199560
70093 /* 199560 */ GIM_Reject,
70094 /* 199561 */ // Label 5752: @199561
70095 /* 199561 */ GIM_Try, /*On fail goto*//*Label 5790*/ GIMT_Encode4(199758),
70096 /* 199566 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
70097 /* 199569 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
70098 /* 199572 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
70099 /* 199575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70100 /* 199579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70101 /* 199583 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
70102 /* 199587 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5791*/ GIMT_Encode4(199619), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21820 //
70103 /* 199594 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70104 /* 199598 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70105 /* 199604 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70106 /* 199606 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70107 /* 199608 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i32] }) => (VPCOMPRESSDZ256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
70108 /* 199608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrkz),
70109 /* 199611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70110 /* 199613 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70111 /* 199615 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70112 /* 199617 */ GIR_RootConstrainSelectedInstOperands,
70113 /* 199618 */ // GIR_Coverage, 21820,
70114 /* 199618 */ GIR_EraseRootFromParent_Done,
70115 /* 199619 */ // Label 5791: @199619
70116 /* 199619 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5792*/ GIMT_Encode4(199651), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21856 //
70117 /* 199626 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70118 /* 199630 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70119 /* 199636 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70120 /* 199638 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70121 /* 199640 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8f32] }) => (VCOMPRESSPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
70122 /* 199640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrkz),
70123 /* 199643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70124 /* 199645 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70125 /* 199647 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70126 /* 199649 */ GIR_RootConstrainSelectedInstOperands,
70127 /* 199650 */ // GIR_Coverage, 21856,
70128 /* 199650 */ GIR_EraseRootFromParent_Done,
70129 /* 199651 */ // Label 5792: @199651
70130 /* 199651 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5793*/ GIMT_Encode4(199679), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21819 //
70131 /* 199658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70132 /* 199662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70133 /* 199666 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70134 /* 199668 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i32] })) => (VPCOMPRESSDZ256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
70135 /* 199668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrkz),
70136 /* 199671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70137 /* 199673 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70138 /* 199675 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70139 /* 199677 */ GIR_RootConstrainSelectedInstOperands,
70140 /* 199678 */ // GIR_Coverage, 21819,
70141 /* 199678 */ GIR_EraseRootFromParent_Done,
70142 /* 199679 */ // Label 5793: @199679
70143 /* 199679 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5794*/ GIMT_Encode4(199707), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21855 //
70144 /* 199686 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70145 /* 199690 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70146 /* 199694 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70147 /* 199696 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8f32] })) => (VCOMPRESSPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
70148 /* 199696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrkz),
70149 /* 199699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70150 /* 199701 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70151 /* 199703 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70152 /* 199705 */ GIR_RootConstrainSelectedInstOperands,
70153 /* 199706 */ // GIR_Coverage, 21855,
70154 /* 199706 */ GIR_EraseRootFromParent_Done,
70155 /* 199707 */ // Label 5794: @199707
70156 /* 199707 */ GIM_Try, /*On fail goto*//*Label 5795*/ GIMT_Encode4(199757),
70157 /* 199712 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70158 /* 199716 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5796*/ GIMT_Encode4(199736), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21821 //
70159 /* 199723 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$passthru) => (VPCOMPRESSDZ256rrk:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
70160 /* 199723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrk),
70161 /* 199726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70162 /* 199728 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70163 /* 199730 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70164 /* 199732 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70165 /* 199734 */ GIR_RootConstrainSelectedInstOperands,
70166 /* 199735 */ // GIR_Coverage, 21821,
70167 /* 199735 */ GIR_EraseRootFromParent_Done,
70168 /* 199736 */ // Label 5796: @199736
70169 /* 199736 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5797*/ GIMT_Encode4(199756), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21857 //
70170 /* 199743 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$passthru) => (VCOMPRESSPSZ256rrk:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
70171 /* 199743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrk),
70172 /* 199746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70173 /* 199748 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70174 /* 199750 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70175 /* 199752 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70176 /* 199754 */ GIR_RootConstrainSelectedInstOperands,
70177 /* 199755 */ // GIR_Coverage, 21857,
70178 /* 199755 */ GIR_EraseRootFromParent_Done,
70179 /* 199756 */ // Label 5797: @199756
70180 /* 199756 */ GIM_Reject,
70181 /* 199757 */ // Label 5795: @199757
70182 /* 199757 */ GIM_Reject,
70183 /* 199758 */ // Label 5790: @199758
70184 /* 199758 */ GIM_Reject,
70185 /* 199759 */ // Label 5753: @199759
70186 /* 199759 */ GIM_Try, /*On fail goto*//*Label 5798*/ GIMT_Encode4(199956),
70187 /* 199764 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70188 /* 199767 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
70189 /* 199770 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
70190 /* 199773 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70191 /* 199777 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70192 /* 199781 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
70193 /* 199785 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5799*/ GIMT_Encode4(199817), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21814 //
70194 /* 199792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70195 /* 199796 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70196 /* 199802 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70197 /* 199804 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70198 /* 199806 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i32] }) => (VPCOMPRESSDZrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
70199 /* 199806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrkz),
70200 /* 199809 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70201 /* 199811 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70202 /* 199813 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70203 /* 199815 */ GIR_RootConstrainSelectedInstOperands,
70204 /* 199816 */ // GIR_Coverage, 21814,
70205 /* 199816 */ GIR_EraseRootFromParent_Done,
70206 /* 199817 */ // Label 5799: @199817
70207 /* 199817 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5800*/ GIMT_Encode4(199849), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21850 //
70208 /* 199824 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70209 /* 199828 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70210 /* 199834 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70211 /* 199836 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70212 /* 199838 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16f32] }) => (VCOMPRESSPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
70213 /* 199838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrkz),
70214 /* 199841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70215 /* 199843 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70216 /* 199845 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70217 /* 199847 */ GIR_RootConstrainSelectedInstOperands,
70218 /* 199848 */ // GIR_Coverage, 21850,
70219 /* 199848 */ GIR_EraseRootFromParent_Done,
70220 /* 199849 */ // Label 5800: @199849
70221 /* 199849 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5801*/ GIMT_Encode4(199877), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21813 //
70222 /* 199856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70223 /* 199860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70224 /* 199864 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70225 /* 199866 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i32] })) => (VPCOMPRESSDZrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
70226 /* 199866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrkz),
70227 /* 199869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70228 /* 199871 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70229 /* 199873 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70230 /* 199875 */ GIR_RootConstrainSelectedInstOperands,
70231 /* 199876 */ // GIR_Coverage, 21813,
70232 /* 199876 */ GIR_EraseRootFromParent_Done,
70233 /* 199877 */ // Label 5801: @199877
70234 /* 199877 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5802*/ GIMT_Encode4(199905), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21849 //
70235 /* 199884 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70236 /* 199888 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70237 /* 199892 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70238 /* 199894 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16f32] })) => (VCOMPRESSPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
70239 /* 199894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrkz),
70240 /* 199897 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70241 /* 199899 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70242 /* 199901 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70243 /* 199903 */ GIR_RootConstrainSelectedInstOperands,
70244 /* 199904 */ // GIR_Coverage, 21849,
70245 /* 199904 */ GIR_EraseRootFromParent_Done,
70246 /* 199905 */ // Label 5802: @199905
70247 /* 199905 */ GIM_Try, /*On fail goto*//*Label 5803*/ GIMT_Encode4(199955),
70248 /* 199910 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70249 /* 199914 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5804*/ GIMT_Encode4(199934), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21815 //
70250 /* 199921 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$passthru) => (VPCOMPRESSDZrrk:{ *:[v16i32] } VR512:{ *:[v16i32] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
70251 /* 199921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrk),
70252 /* 199924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70253 /* 199926 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70254 /* 199928 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70255 /* 199930 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70256 /* 199932 */ GIR_RootConstrainSelectedInstOperands,
70257 /* 199933 */ // GIR_Coverage, 21815,
70258 /* 199933 */ GIR_EraseRootFromParent_Done,
70259 /* 199934 */ // Label 5804: @199934
70260 /* 199934 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5805*/ GIMT_Encode4(199954), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21851 //
70261 /* 199941 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$passthru) => (VCOMPRESSPSZrrk:{ *:[v16f32] } VR512:{ *:[v16f32] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
70262 /* 199941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrk),
70263 /* 199944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70264 /* 199946 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70265 /* 199948 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70266 /* 199950 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70267 /* 199952 */ GIR_RootConstrainSelectedInstOperands,
70268 /* 199953 */ // GIR_Coverage, 21851,
70269 /* 199953 */ GIR_EraseRootFromParent_Done,
70270 /* 199954 */ // Label 5805: @199954
70271 /* 199954 */ GIM_Reject,
70272 /* 199955 */ // Label 5803: @199955
70273 /* 199955 */ GIM_Reject,
70274 /* 199956 */ // Label 5798: @199956
70275 /* 199956 */ GIM_Reject,
70276 /* 199957 */ // Label 5754: @199957
70277 /* 199957 */ GIM_Try, /*On fail goto*//*Label 5806*/ GIMT_Encode4(200154),
70278 /* 199962 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
70279 /* 199965 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
70280 /* 199968 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
70281 /* 199971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70282 /* 199975 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70283 /* 199979 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
70284 /* 199983 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5807*/ GIMT_Encode4(200015), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21844 //
70285 /* 199990 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70286 /* 199994 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70287 /* 200000 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70288 /* 200002 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70289 /* 200004 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, immAllZerosV:{ *:[v2i64] }) => (VPCOMPRESSQZ128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
70290 /* 200004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrkz),
70291 /* 200007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70292 /* 200009 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70293 /* 200011 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70294 /* 200013 */ GIR_RootConstrainSelectedInstOperands,
70295 /* 200014 */ // GIR_Coverage, 21844,
70296 /* 200014 */ GIR_EraseRootFromParent_Done,
70297 /* 200015 */ // Label 5807: @200015
70298 /* 200015 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5808*/ GIMT_Encode4(200047), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21880 //
70299 /* 200022 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70300 /* 200026 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70301 /* 200032 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70302 /* 200034 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70303 /* 200036 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, immAllZerosV:{ *:[v2f64] }) => (VCOMPRESSPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
70304 /* 200036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrkz),
70305 /* 200039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70306 /* 200041 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70307 /* 200043 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70308 /* 200045 */ GIR_RootConstrainSelectedInstOperands,
70309 /* 200046 */ // GIR_Coverage, 21880,
70310 /* 200046 */ GIR_EraseRootFromParent_Done,
70311 /* 200047 */ // Label 5808: @200047
70312 /* 200047 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5809*/ GIMT_Encode4(200075), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21843 //
70313 /* 200054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70314 /* 200058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70315 /* 200062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70316 /* 200064 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, (undef:{ *:[v2i64] })) => (VPCOMPRESSQZ128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
70317 /* 200064 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrkz),
70318 /* 200067 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70319 /* 200069 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70320 /* 200071 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70321 /* 200073 */ GIR_RootConstrainSelectedInstOperands,
70322 /* 200074 */ // GIR_Coverage, 21843,
70323 /* 200074 */ GIR_EraseRootFromParent_Done,
70324 /* 200075 */ // Label 5809: @200075
70325 /* 200075 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5810*/ GIMT_Encode4(200103), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21879 //
70326 /* 200082 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70327 /* 200086 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70328 /* 200090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70329 /* 200092 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, (undef:{ *:[v2f64] })) => (VCOMPRESSPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
70330 /* 200092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrkz),
70331 /* 200095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70332 /* 200097 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70333 /* 200099 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70334 /* 200101 */ GIR_RootConstrainSelectedInstOperands,
70335 /* 200102 */ // GIR_Coverage, 21879,
70336 /* 200102 */ GIR_EraseRootFromParent_Done,
70337 /* 200103 */ // Label 5810: @200103
70338 /* 200103 */ GIM_Try, /*On fail goto*//*Label 5811*/ GIMT_Encode4(200153),
70339 /* 200108 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70340 /* 200112 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5812*/ GIMT_Encode4(200132), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21845 //
70341 /* 200119 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$passthru) => (VPCOMPRESSQZ128rrk:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$passthru, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
70342 /* 200119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrk),
70343 /* 200122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70344 /* 200124 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70345 /* 200126 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70346 /* 200128 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70347 /* 200130 */ GIR_RootConstrainSelectedInstOperands,
70348 /* 200131 */ // GIR_Coverage, 21845,
70349 /* 200131 */ GIR_EraseRootFromParent_Done,
70350 /* 200132 */ // Label 5812: @200132
70351 /* 200132 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5813*/ GIMT_Encode4(200152), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21881 //
70352 /* 200139 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$passthru) => (VCOMPRESSPDZ128rrk:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$passthru, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
70353 /* 200139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrk),
70354 /* 200142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70355 /* 200144 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70356 /* 200146 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70357 /* 200148 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70358 /* 200150 */ GIR_RootConstrainSelectedInstOperands,
70359 /* 200151 */ // GIR_Coverage, 21881,
70360 /* 200151 */ GIR_EraseRootFromParent_Done,
70361 /* 200152 */ // Label 5813: @200152
70362 /* 200152 */ GIM_Reject,
70363 /* 200153 */ // Label 5811: @200153
70364 /* 200153 */ GIM_Reject,
70365 /* 200154 */ // Label 5806: @200154
70366 /* 200154 */ GIM_Reject,
70367 /* 200155 */ // Label 5755: @200155
70368 /* 200155 */ GIM_Try, /*On fail goto*//*Label 5814*/ GIMT_Encode4(200352),
70369 /* 200160 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
70370 /* 200163 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
70371 /* 200166 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
70372 /* 200169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70373 /* 200173 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70374 /* 200177 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
70375 /* 200181 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5815*/ GIMT_Encode4(200213), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21838 //
70376 /* 200188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70377 /* 200192 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70378 /* 200198 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70379 /* 200200 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70380 /* 200202 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4i64] }) => (VPCOMPRESSQZ256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
70381 /* 200202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrkz),
70382 /* 200205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70383 /* 200207 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70384 /* 200209 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70385 /* 200211 */ GIR_RootConstrainSelectedInstOperands,
70386 /* 200212 */ // GIR_Coverage, 21838,
70387 /* 200212 */ GIR_EraseRootFromParent_Done,
70388 /* 200213 */ // Label 5815: @200213
70389 /* 200213 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5816*/ GIMT_Encode4(200245), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21874 //
70390 /* 200220 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70391 /* 200224 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70392 /* 200230 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70393 /* 200232 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70394 /* 200234 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4f64] }) => (VCOMPRESSPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
70395 /* 200234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrkz),
70396 /* 200237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70397 /* 200239 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70398 /* 200241 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70399 /* 200243 */ GIR_RootConstrainSelectedInstOperands,
70400 /* 200244 */ // GIR_Coverage, 21874,
70401 /* 200244 */ GIR_EraseRootFromParent_Done,
70402 /* 200245 */ // Label 5816: @200245
70403 /* 200245 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5817*/ GIMT_Encode4(200273), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21837 //
70404 /* 200252 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70405 /* 200256 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70406 /* 200260 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70407 /* 200262 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4i64] })) => (VPCOMPRESSQZ256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
70408 /* 200262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrkz),
70409 /* 200265 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70410 /* 200267 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70411 /* 200269 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70412 /* 200271 */ GIR_RootConstrainSelectedInstOperands,
70413 /* 200272 */ // GIR_Coverage, 21837,
70414 /* 200272 */ GIR_EraseRootFromParent_Done,
70415 /* 200273 */ // Label 5817: @200273
70416 /* 200273 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5818*/ GIMT_Encode4(200301), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21873 //
70417 /* 200280 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70418 /* 200284 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70419 /* 200288 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70420 /* 200290 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4f64] })) => (VCOMPRESSPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
70421 /* 200290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrkz),
70422 /* 200293 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70423 /* 200295 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70424 /* 200297 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70425 /* 200299 */ GIR_RootConstrainSelectedInstOperands,
70426 /* 200300 */ // GIR_Coverage, 21873,
70427 /* 200300 */ GIR_EraseRootFromParent_Done,
70428 /* 200301 */ // Label 5818: @200301
70429 /* 200301 */ GIM_Try, /*On fail goto*//*Label 5819*/ GIMT_Encode4(200351),
70430 /* 200306 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70431 /* 200310 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5820*/ GIMT_Encode4(200330), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21839 //
70432 /* 200317 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$passthru) => (VPCOMPRESSQZ256rrk:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
70433 /* 200317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrk),
70434 /* 200320 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70435 /* 200322 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70436 /* 200324 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70437 /* 200326 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70438 /* 200328 */ GIR_RootConstrainSelectedInstOperands,
70439 /* 200329 */ // GIR_Coverage, 21839,
70440 /* 200329 */ GIR_EraseRootFromParent_Done,
70441 /* 200330 */ // Label 5820: @200330
70442 /* 200330 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5821*/ GIMT_Encode4(200350), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 21875 //
70443 /* 200337 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$passthru) => (VCOMPRESSPDZ256rrk:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
70444 /* 200337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrk),
70445 /* 200340 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70446 /* 200342 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70447 /* 200344 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70448 /* 200346 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70449 /* 200348 */ GIR_RootConstrainSelectedInstOperands,
70450 /* 200349 */ // GIR_Coverage, 21875,
70451 /* 200349 */ GIR_EraseRootFromParent_Done,
70452 /* 200350 */ // Label 5821: @200350
70453 /* 200350 */ GIM_Reject,
70454 /* 200351 */ // Label 5819: @200351
70455 /* 200351 */ GIM_Reject,
70456 /* 200352 */ // Label 5814: @200352
70457 /* 200352 */ GIM_Reject,
70458 /* 200353 */ // Label 5756: @200353
70459 /* 200353 */ GIM_Try, /*On fail goto*//*Label 5822*/ GIMT_Encode4(200550),
70460 /* 200358 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70461 /* 200361 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
70462 /* 200364 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
70463 /* 200367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70464 /* 200371 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70465 /* 200375 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
70466 /* 200379 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5823*/ GIMT_Encode4(200411), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21832 //
70467 /* 200386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70468 /* 200390 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70469 /* 200396 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70470 /* 200398 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70471 /* 200400 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i64] }) => (VPCOMPRESSQZrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
70472 /* 200400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrkz),
70473 /* 200403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70474 /* 200405 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70475 /* 200407 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70476 /* 200409 */ GIR_RootConstrainSelectedInstOperands,
70477 /* 200410 */ // GIR_Coverage, 21832,
70478 /* 200410 */ GIR_EraseRootFromParent_Done,
70479 /* 200411 */ // Label 5823: @200411
70480 /* 200411 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5824*/ GIMT_Encode4(200443), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21868 //
70481 /* 200418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70482 /* 200422 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70483 /* 200428 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70484 /* 200430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70485 /* 200432 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8f64] }) => (VCOMPRESSPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
70486 /* 200432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrkz),
70487 /* 200435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70488 /* 200437 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70489 /* 200439 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70490 /* 200441 */ GIR_RootConstrainSelectedInstOperands,
70491 /* 200442 */ // GIR_Coverage, 21868,
70492 /* 200442 */ GIR_EraseRootFromParent_Done,
70493 /* 200443 */ // Label 5824: @200443
70494 /* 200443 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5825*/ GIMT_Encode4(200471), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21831 //
70495 /* 200450 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70496 /* 200454 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70497 /* 200458 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70498 /* 200460 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i64] })) => (VPCOMPRESSQZrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
70499 /* 200460 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrkz),
70500 /* 200463 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70501 /* 200465 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70502 /* 200467 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70503 /* 200469 */ GIR_RootConstrainSelectedInstOperands,
70504 /* 200470 */ // GIR_Coverage, 21831,
70505 /* 200470 */ GIR_EraseRootFromParent_Done,
70506 /* 200471 */ // Label 5825: @200471
70507 /* 200471 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5826*/ GIMT_Encode4(200499), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21867 //
70508 /* 200478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70509 /* 200482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70510 /* 200486 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70511 /* 200488 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8f64] })) => (VCOMPRESSPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
70512 /* 200488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrkz),
70513 /* 200491 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70514 /* 200493 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70515 /* 200495 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70516 /* 200497 */ GIR_RootConstrainSelectedInstOperands,
70517 /* 200498 */ // GIR_Coverage, 21867,
70518 /* 200498 */ GIR_EraseRootFromParent_Done,
70519 /* 200499 */ // Label 5826: @200499
70520 /* 200499 */ GIM_Try, /*On fail goto*//*Label 5827*/ GIMT_Encode4(200549),
70521 /* 200504 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70522 /* 200508 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5828*/ GIMT_Encode4(200528), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21833 //
70523 /* 200515 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$passthru) => (VPCOMPRESSQZrrk:{ *:[v8i64] } VR512:{ *:[v8i64] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
70524 /* 200515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrk),
70525 /* 200518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70526 /* 200520 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70527 /* 200522 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70528 /* 200524 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70529 /* 200526 */ GIR_RootConstrainSelectedInstOperands,
70530 /* 200527 */ // GIR_Coverage, 21833,
70531 /* 200527 */ GIR_EraseRootFromParent_Done,
70532 /* 200528 */ // Label 5828: @200528
70533 /* 200528 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5829*/ GIMT_Encode4(200548), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21869 //
70534 /* 200535 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$passthru) => (VCOMPRESSPDZrrk:{ *:[v8f64] } VR512:{ *:[v8f64] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
70535 /* 200535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrk),
70536 /* 200538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70537 /* 200540 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70538 /* 200542 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70539 /* 200544 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70540 /* 200546 */ GIR_RootConstrainSelectedInstOperands,
70541 /* 200547 */ // GIR_Coverage, 21869,
70542 /* 200547 */ GIR_EraseRootFromParent_Done,
70543 /* 200548 */ // Label 5829: @200548
70544 /* 200548 */ GIM_Reject,
70545 /* 200549 */ // Label 5827: @200549
70546 /* 200549 */ GIM_Reject,
70547 /* 200550 */ // Label 5822: @200550
70548 /* 200550 */ GIM_Reject,
70549 /* 200551 */ // Label 5757: @200551
70550 /* 200551 */ GIM_Reject,
70551 /* 200552 */ // Label 67: @200552
70552 /* 200552 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 5833*/ GIMT_Encode4(200851),
70553 /* 200563 */ /*GILLT_s16*//*Label 5830*/ GIMT_Encode4(200575),
70554 /* 200567 */ /*GILLT_s32*//*Label 5831*/ GIMT_Encode4(200667),
70555 /* 200571 */ /*GILLT_s64*//*Label 5832*/ GIMT_Encode4(200759),
70556 /* 200575 */ // Label 5830: @200575
70557 /* 200575 */ GIM_Try, /*On fail goto*//*Label 5834*/ GIMT_Encode4(200666),
70558 /* 200580 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
70559 /* 200583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
70560 /* 200587 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5835*/ GIMT_Encode4(200641), GIMT_Encode2(GIFBS_HasBMI), // Rule ID 77 //
70561 /* 200594 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70562 /* 200598 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70563 /* 200602 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70564 /* 200605 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70565 /* 200609 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
70566 /* 200613 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70567 /* 200615 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70568 /* 200622 */ // (cttz:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (TZCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
70569 /* 200622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT16rm),
70570 /* 200625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70571 /* 200627 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70572 /* 200631 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70573 /* 200634 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70574 /* 200639 */ GIR_RootConstrainSelectedInstOperands,
70575 /* 200640 */ // GIR_Coverage, 77,
70576 /* 200640 */ GIR_EraseRootFromParent_Done,
70577 /* 200641 */ // Label 5835: @200641
70578 /* 200641 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5836*/ GIMT_Encode4(200665), GIMT_Encode2(GIFBS_HasBMI), // Rule ID 76 //
70579 /* 200648 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
70580 /* 200652 */ // (cttz:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (TZCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
70581 /* 200652 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT16rr),
70582 /* 200657 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
70583 /* 200663 */ GIR_RootConstrainSelectedInstOperands,
70584 /* 200664 */ // GIR_Coverage, 76,
70585 /* 200664 */ GIR_Done,
70586 /* 200665 */ // Label 5836: @200665
70587 /* 200665 */ GIM_Reject,
70588 /* 200666 */ // Label 5834: @200666
70589 /* 200666 */ GIM_Reject,
70590 /* 200667 */ // Label 5831: @200667
70591 /* 200667 */ GIM_Try, /*On fail goto*//*Label 5837*/ GIMT_Encode4(200758),
70592 /* 200672 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
70593 /* 200675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
70594 /* 200679 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5838*/ GIMT_Encode4(200733), GIMT_Encode2(GIFBS_HasBMI), // Rule ID 79 //
70595 /* 200686 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70596 /* 200690 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70597 /* 200694 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70598 /* 200697 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70599 /* 200701 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
70600 /* 200705 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70601 /* 200707 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70602 /* 200714 */ // (cttz:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (TZCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
70603 /* 200714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT32rm),
70604 /* 200717 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70605 /* 200719 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70606 /* 200723 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70607 /* 200726 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70608 /* 200731 */ GIR_RootConstrainSelectedInstOperands,
70609 /* 200732 */ // GIR_Coverage, 79,
70610 /* 200732 */ GIR_EraseRootFromParent_Done,
70611 /* 200733 */ // Label 5838: @200733
70612 /* 200733 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5839*/ GIMT_Encode4(200757), GIMT_Encode2(GIFBS_HasBMI), // Rule ID 78 //
70613 /* 200740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
70614 /* 200744 */ // (cttz:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (TZCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
70615 /* 200744 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT32rr),
70616 /* 200749 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
70617 /* 200755 */ GIR_RootConstrainSelectedInstOperands,
70618 /* 200756 */ // GIR_Coverage, 78,
70619 /* 200756 */ GIR_Done,
70620 /* 200757 */ // Label 5839: @200757
70621 /* 200757 */ GIM_Reject,
70622 /* 200758 */ // Label 5837: @200758
70623 /* 200758 */ GIM_Reject,
70624 /* 200759 */ // Label 5832: @200759
70625 /* 200759 */ GIM_Try, /*On fail goto*//*Label 5840*/ GIMT_Encode4(200850),
70626 /* 200764 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
70627 /* 200767 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
70628 /* 200771 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5841*/ GIMT_Encode4(200825), GIMT_Encode2(GIFBS_HasBMI), // Rule ID 81 //
70629 /* 200778 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70630 /* 200782 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70631 /* 200786 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70632 /* 200789 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70633 /* 200793 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70634 /* 200797 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70635 /* 200799 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70636 /* 200806 */ // (cttz:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (TZCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
70637 /* 200806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT64rm),
70638 /* 200809 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70639 /* 200811 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70640 /* 200815 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70641 /* 200818 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70642 /* 200823 */ GIR_RootConstrainSelectedInstOperands,
70643 /* 200824 */ // GIR_Coverage, 81,
70644 /* 200824 */ GIR_EraseRootFromParent_Done,
70645 /* 200825 */ // Label 5841: @200825
70646 /* 200825 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5842*/ GIMT_Encode4(200849), GIMT_Encode2(GIFBS_HasBMI), // Rule ID 80 //
70647 /* 200832 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
70648 /* 200836 */ // (cttz:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (TZCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
70649 /* 200836 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT64rr),
70650 /* 200841 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
70651 /* 200847 */ GIR_RootConstrainSelectedInstOperands,
70652 /* 200848 */ // GIR_Coverage, 80,
70653 /* 200848 */ GIR_Done,
70654 /* 200849 */ // Label 5842: @200849
70655 /* 200849 */ GIM_Reject,
70656 /* 200850 */ // Label 5840: @200850
70657 /* 200850 */ GIM_Reject,
70658 /* 200851 */ // Label 5833: @200851
70659 /* 200851 */ GIM_Reject,
70660 /* 200852 */ // Label 68: @200852
70661 /* 200852 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 5846*/ GIMT_Encode4(201238),
70662 /* 200863 */ /*GILLT_s16*//*Label 5843*/ GIMT_Encode4(200875),
70663 /* 200867 */ /*GILLT_s32*//*Label 5844*/ GIMT_Encode4(200996),
70664 /* 200871 */ /*GILLT_s64*//*Label 5845*/ GIMT_Encode4(201117),
70665 /* 200875 */ // Label 5843: @200875
70666 /* 200875 */ GIM_Try, /*On fail goto*//*Label 5847*/ GIMT_Encode4(200995),
70667 /* 200880 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
70668 /* 200883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
70669 /* 200887 */ GIM_Try, /*On fail goto*//*Label 5848*/ GIMT_Encode4(200956), // Rule ID 23222 //
70670 /* 200892 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70671 /* 200896 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70672 /* 200900 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70673 /* 200903 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70674 /* 200907 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
70675 /* 200911 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70676 /* 200913 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70677 /* 200920 */ // (cttz_zero_poison:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (BSF16rm:{ *:[i16] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i16] }), addr:{ *:[iPTR] }:$src)
70678 /* 200920 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
70679 /* 200923 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
70680 /* 200927 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70681 /* 200932 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
70682 /* 200934 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF16rm),
70683 /* 200937 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70684 /* 200939 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70685 /* 200942 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
70686 /* 200946 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70687 /* 200949 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70688 /* 200954 */ GIR_RootConstrainSelectedInstOperands,
70689 /* 200955 */ // GIR_Coverage, 23222,
70690 /* 200955 */ GIR_EraseRootFromParent_Done,
70691 /* 200956 */ // Label 5848: @200956
70692 /* 200956 */ GIM_Try, /*On fail goto*//*Label 5849*/ GIMT_Encode4(200994), // Rule ID 23219 //
70693 /* 200961 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
70694 /* 200965 */ // (cttz_zero_poison:{ *:[i16] } GR16:{ *:[i16] }:$src) => (BSF16rr:{ *:[i16] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i16] }), GR16:{ *:[i16] }:$src)
70695 /* 200965 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
70696 /* 200968 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
70697 /* 200972 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70698 /* 200977 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
70699 /* 200979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF16rr),
70700 /* 200982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70701 /* 200984 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70702 /* 200987 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70703 /* 200989 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70704 /* 200992 */ GIR_RootConstrainSelectedInstOperands,
70705 /* 200993 */ // GIR_Coverage, 23219,
70706 /* 200993 */ GIR_EraseRootFromParent_Done,
70707 /* 200994 */ // Label 5849: @200994
70708 /* 200994 */ GIM_Reject,
70709 /* 200995 */ // Label 5847: @200995
70710 /* 200995 */ GIM_Reject,
70711 /* 200996 */ // Label 5844: @200996
70712 /* 200996 */ GIM_Try, /*On fail goto*//*Label 5850*/ GIMT_Encode4(201116),
70713 /* 201001 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
70714 /* 201004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
70715 /* 201008 */ GIM_Try, /*On fail goto*//*Label 5851*/ GIMT_Encode4(201077), // Rule ID 23223 //
70716 /* 201013 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70717 /* 201017 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70718 /* 201021 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70719 /* 201024 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70720 /* 201028 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
70721 /* 201032 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70722 /* 201034 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70723 /* 201041 */ // (cttz_zero_poison:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (BSF32rm:{ *:[i32] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), addr:{ *:[iPTR] }:$src)
70724 /* 201041 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
70725 /* 201044 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
70726 /* 201048 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70727 /* 201053 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
70728 /* 201055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF32rm),
70729 /* 201058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70730 /* 201060 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70731 /* 201063 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
70732 /* 201067 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70733 /* 201070 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70734 /* 201075 */ GIR_RootConstrainSelectedInstOperands,
70735 /* 201076 */ // GIR_Coverage, 23223,
70736 /* 201076 */ GIR_EraseRootFromParent_Done,
70737 /* 201077 */ // Label 5851: @201077
70738 /* 201077 */ GIM_Try, /*On fail goto*//*Label 5852*/ GIMT_Encode4(201115), // Rule ID 23220 //
70739 /* 201082 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
70740 /* 201086 */ // (cttz_zero_poison:{ *:[i32] } GR32:{ *:[i32] }:$src) => (BSF32rr:{ *:[i32] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR32:{ *:[i32] }:$src)
70741 /* 201086 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
70742 /* 201089 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
70743 /* 201093 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70744 /* 201098 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
70745 /* 201100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF32rr),
70746 /* 201103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70747 /* 201105 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70748 /* 201108 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70749 /* 201110 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70750 /* 201113 */ GIR_RootConstrainSelectedInstOperands,
70751 /* 201114 */ // GIR_Coverage, 23220,
70752 /* 201114 */ GIR_EraseRootFromParent_Done,
70753 /* 201115 */ // Label 5852: @201115
70754 /* 201115 */ GIM_Reject,
70755 /* 201116 */ // Label 5850: @201116
70756 /* 201116 */ GIM_Reject,
70757 /* 201117 */ // Label 5845: @201117
70758 /* 201117 */ GIM_Try, /*On fail goto*//*Label 5853*/ GIMT_Encode4(201237),
70759 /* 201122 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
70760 /* 201125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
70761 /* 201129 */ GIM_Try, /*On fail goto*//*Label 5854*/ GIMT_Encode4(201198), // Rule ID 23224 //
70762 /* 201134 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70763 /* 201138 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70764 /* 201142 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70765 /* 201145 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70766 /* 201149 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70767 /* 201153 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70768 /* 201155 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70769 /* 201162 */ // (cttz_zero_poison:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (BSF64rm:{ *:[i64] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i64] }), addr:{ *:[iPTR] }:$src)
70770 /* 201162 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
70771 /* 201165 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
70772 /* 201169 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70773 /* 201174 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
70774 /* 201176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF64rm),
70775 /* 201179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70776 /* 201181 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70777 /* 201184 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
70778 /* 201188 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70779 /* 201191 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70780 /* 201196 */ GIR_RootConstrainSelectedInstOperands,
70781 /* 201197 */ // GIR_Coverage, 23224,
70782 /* 201197 */ GIR_EraseRootFromParent_Done,
70783 /* 201198 */ // Label 5854: @201198
70784 /* 201198 */ GIM_Try, /*On fail goto*//*Label 5855*/ GIMT_Encode4(201236), // Rule ID 23221 //
70785 /* 201203 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
70786 /* 201207 */ // (cttz_zero_poison:{ *:[i64] } GR64:{ *:[i64] }:$src) => (BSF64rr:{ *:[i64] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i64] }), GR64:{ *:[i64] }:$src)
70787 /* 201207 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
70788 /* 201210 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
70789 /* 201214 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70790 /* 201219 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
70791 /* 201221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF64rr),
70792 /* 201224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70793 /* 201226 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70794 /* 201229 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70795 /* 201231 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70796 /* 201234 */ GIR_RootConstrainSelectedInstOperands,
70797 /* 201235 */ // GIR_Coverage, 23221,
70798 /* 201235 */ GIR_EraseRootFromParent_Done,
70799 /* 201236 */ // Label 5855: @201236
70800 /* 201236 */ GIM_Reject,
70801 /* 201237 */ // Label 5853: @201237
70802 /* 201237 */ GIM_Reject,
70803 /* 201238 */ // Label 5846: @201238
70804 /* 201238 */ GIM_Reject,
70805 /* 201239 */ // Label 69: @201239
70806 /* 201239 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 5865*/ GIMT_Encode4(202548),
70807 /* 201250 */ /*GILLT_s16*//*Label 5856*/ GIMT_Encode4(201342),
70808 /* 201254 */ /*GILLT_s32*//*Label 5857*/ GIMT_Encode4(201434),
70809 /* 201258 */ /*GILLT_s64*//*Label 5858*/ GIMT_Encode4(201526), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
70810 /* 201318 */ /*GILLT_v4s32*//*Label 5859*/ GIMT_Encode4(201618),
70811 /* 201322 */ /*GILLT_v8s32*//*Label 5860*/ GIMT_Encode4(201813),
70812 /* 201326 */ /*GILLT_v16s32*//*Label 5861*/ GIMT_Encode4(202000),
70813 /* 201330 */ /*GILLT_v2s64*//*Label 5862*/ GIMT_Encode4(202083),
70814 /* 201334 */ /*GILLT_v4s64*//*Label 5863*/ GIMT_Encode4(202278),
70815 /* 201338 */ /*GILLT_v8s64*//*Label 5864*/ GIMT_Encode4(202465),
70816 /* 201342 */ // Label 5856: @201342
70817 /* 201342 */ GIM_Try, /*On fail goto*//*Label 5866*/ GIMT_Encode4(201433),
70818 /* 201347 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
70819 /* 201350 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
70820 /* 201354 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5867*/ GIMT_Encode4(201408), GIMT_Encode2(GIFBS_HasLZCNT), // Rule ID 71 //
70821 /* 201361 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70822 /* 201365 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70823 /* 201369 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70824 /* 201372 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70825 /* 201376 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
70826 /* 201380 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70827 /* 201382 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70828 /* 201389 */ // (ctlz:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (LZCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
70829 /* 201389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT16rm),
70830 /* 201392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70831 /* 201394 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70832 /* 201398 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70833 /* 201401 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70834 /* 201406 */ GIR_RootConstrainSelectedInstOperands,
70835 /* 201407 */ // GIR_Coverage, 71,
70836 /* 201407 */ GIR_EraseRootFromParent_Done,
70837 /* 201408 */ // Label 5867: @201408
70838 /* 201408 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5868*/ GIMT_Encode4(201432), GIMT_Encode2(GIFBS_HasLZCNT), // Rule ID 70 //
70839 /* 201415 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
70840 /* 201419 */ // (ctlz:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (LZCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
70841 /* 201419 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT16rr),
70842 /* 201424 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
70843 /* 201430 */ GIR_RootConstrainSelectedInstOperands,
70844 /* 201431 */ // GIR_Coverage, 70,
70845 /* 201431 */ GIR_Done,
70846 /* 201432 */ // Label 5868: @201432
70847 /* 201432 */ GIM_Reject,
70848 /* 201433 */ // Label 5866: @201433
70849 /* 201433 */ GIM_Reject,
70850 /* 201434 */ // Label 5857: @201434
70851 /* 201434 */ GIM_Try, /*On fail goto*//*Label 5869*/ GIMT_Encode4(201525),
70852 /* 201439 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
70853 /* 201442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
70854 /* 201446 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5870*/ GIMT_Encode4(201500), GIMT_Encode2(GIFBS_HasLZCNT), // Rule ID 73 //
70855 /* 201453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70856 /* 201457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70857 /* 201461 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70858 /* 201464 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70859 /* 201468 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
70860 /* 201472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70861 /* 201474 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70862 /* 201481 */ // (ctlz:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (LZCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
70863 /* 201481 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT32rm),
70864 /* 201484 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70865 /* 201486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70866 /* 201490 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70867 /* 201493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70868 /* 201498 */ GIR_RootConstrainSelectedInstOperands,
70869 /* 201499 */ // GIR_Coverage, 73,
70870 /* 201499 */ GIR_EraseRootFromParent_Done,
70871 /* 201500 */ // Label 5870: @201500
70872 /* 201500 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5871*/ GIMT_Encode4(201524), GIMT_Encode2(GIFBS_HasLZCNT), // Rule ID 72 //
70873 /* 201507 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
70874 /* 201511 */ // (ctlz:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (LZCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
70875 /* 201511 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT32rr),
70876 /* 201516 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
70877 /* 201522 */ GIR_RootConstrainSelectedInstOperands,
70878 /* 201523 */ // GIR_Coverage, 72,
70879 /* 201523 */ GIR_Done,
70880 /* 201524 */ // Label 5871: @201524
70881 /* 201524 */ GIM_Reject,
70882 /* 201525 */ // Label 5869: @201525
70883 /* 201525 */ GIM_Reject,
70884 /* 201526 */ // Label 5858: @201526
70885 /* 201526 */ GIM_Try, /*On fail goto*//*Label 5872*/ GIMT_Encode4(201617),
70886 /* 201531 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
70887 /* 201534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
70888 /* 201538 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5873*/ GIMT_Encode4(201592), GIMT_Encode2(GIFBS_HasLZCNT), // Rule ID 75 //
70889 /* 201545 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70890 /* 201549 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70891 /* 201553 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70892 /* 201556 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70893 /* 201560 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70894 /* 201564 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70895 /* 201566 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70896 /* 201573 */ // (ctlz:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (LZCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
70897 /* 201573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT64rm),
70898 /* 201576 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70899 /* 201578 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70900 /* 201582 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
70901 /* 201585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70902 /* 201590 */ GIR_RootConstrainSelectedInstOperands,
70903 /* 201591 */ // GIR_Coverage, 75,
70904 /* 201591 */ GIR_EraseRootFromParent_Done,
70905 /* 201592 */ // Label 5873: @201592
70906 /* 201592 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5874*/ GIMT_Encode4(201616), GIMT_Encode2(GIFBS_HasLZCNT), // Rule ID 74 //
70907 /* 201599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
70908 /* 201603 */ // (ctlz:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (LZCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
70909 /* 201603 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT64rr),
70910 /* 201608 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
70911 /* 201614 */ GIR_RootConstrainSelectedInstOperands,
70912 /* 201615 */ // GIR_Coverage, 74,
70913 /* 201615 */ GIR_Done,
70914 /* 201616 */ // Label 5874: @201616
70915 /* 201616 */ GIM_Reject,
70916 /* 201617 */ // Label 5872: @201617
70917 /* 201617 */ GIM_Reject,
70918 /* 201618 */ // Label 5859: @201618
70919 /* 201618 */ GIM_Try, /*On fail goto*//*Label 5875*/ GIMT_Encode4(201812),
70920 /* 201623 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
70921 /* 201626 */ GIM_Try, /*On fail goto*//*Label 5876*/ GIMT_Encode4(201705),
70922 /* 201631 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70923 /* 201635 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5877*/ GIMT_Encode4(201686), GIMT_Encode2(GIFBS_HasCDI_HasVLX), // Rule ID 13439 //
70924 /* 201642 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70925 /* 201646 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70926 /* 201650 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70927 /* 201653 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70928 /* 201657 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70929 /* 201661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70930 /* 201663 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70931 /* 201670 */ // (ctlz:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
70932 /* 201670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ128rm),
70933 /* 201673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70934 /* 201675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70935 /* 201679 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70936 /* 201684 */ GIR_RootConstrainSelectedInstOperands,
70937 /* 201685 */ // GIR_Coverage, 13439,
70938 /* 201685 */ GIR_EraseRootFromParent_Done,
70939 /* 201686 */ // Label 5877: @201686
70940 /* 201686 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5878*/ GIMT_Encode4(201704), GIMT_Encode2(GIFBS_HasCDI_HasVLX), // Rule ID 13436 //
70941 /* 201693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70942 /* 201697 */ // (ctlz:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPLZCNTDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
70943 /* 201697 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ128rr),
70944 /* 201702 */ GIR_RootConstrainSelectedInstOperands,
70945 /* 201703 */ // GIR_Coverage, 13436,
70946 /* 201703 */ GIR_Done,
70947 /* 201704 */ // Label 5878: @201704
70948 /* 201704 */ GIM_Reject,
70949 /* 201705 */ // Label 5876: @201705
70950 /* 201705 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5879*/ GIMT_Encode4(201811), GIMT_Encode2(GIFBS_HasCDI_NoVLX), // Rule ID 21976 //
70951 /* 201712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70952 /* 201716 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70953 /* 201720 */ // (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] })
70954 /* 201720 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
70955 /* 201723 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
70956 /* 201727 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70957 /* 201732 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
70958 /* 201734 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
70959 /* 201737 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
70960 /* 201741 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70961 /* 201746 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
70962 /* 201749 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
70963 /* 201753 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
70964 /* 201756 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
70965 /* 201761 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70966 /* 201766 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
70967 /* 201771 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
70968 /* 201774 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
70969 /* 201778 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70970 /* 201783 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
70971 /* 201786 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
70972 /* 201788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70973 /* 201791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70974 /* 201793 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
70975 /* 201800 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70976 /* 201805 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70977 /* 201810 */ // GIR_Coverage, 21976,
70978 /* 201810 */ GIR_EraseRootFromParent_Done,
70979 /* 201811 */ // Label 5879: @201811
70980 /* 201811 */ GIM_Reject,
70981 /* 201812 */ // Label 5875: @201812
70982 /* 201812 */ GIM_Reject,
70983 /* 201813 */ // Label 5860: @201813
70984 /* 201813 */ GIM_Try, /*On fail goto*//*Label 5880*/ GIMT_Encode4(201999),
70985 /* 201818 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
70986 /* 201821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70987 /* 201825 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5881*/ GIMT_Encode4(201876), GIMT_Encode2(GIFBS_HasCDI_HasVLX), // Rule ID 13430 //
70988 /* 201832 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70989 /* 201836 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70990 /* 201840 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70991 /* 201843 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70992 /* 201847 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70993 /* 201851 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70994 /* 201853 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70995 /* 201860 */ // (ctlz:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
70996 /* 201860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ256rm),
70997 /* 201863 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70998 /* 201865 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70999 /* 201869 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71000 /* 201874 */ GIR_RootConstrainSelectedInstOperands,
71001 /* 201875 */ // GIR_Coverage, 13430,
71002 /* 201875 */ GIR_EraseRootFromParent_Done,
71003 /* 201876 */ // Label 5881: @201876
71004 /* 201876 */ GIM_Try, /*On fail goto*//*Label 5882*/ GIMT_Encode4(201998),
71005 /* 201881 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71006 /* 201885 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5883*/ GIMT_Encode4(201899), GIMT_Encode2(GIFBS_HasCDI_HasVLX), // Rule ID 13427 //
71007 /* 201892 */ // (ctlz:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPLZCNTDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
71008 /* 201892 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ256rr),
71009 /* 201897 */ GIR_RootConstrainSelectedInstOperands,
71010 /* 201898 */ // GIR_Coverage, 13427,
71011 /* 201898 */ GIR_Done,
71012 /* 201899 */ // Label 5883: @201899
71013 /* 201899 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5884*/ GIMT_Encode4(201997), GIMT_Encode2(GIFBS_HasCDI_NoVLX), // Rule ID 21975 //
71014 /* 201906 */ // (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] })
71015 /* 201906 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
71016 /* 201909 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71017 /* 201913 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71018 /* 201918 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71019 /* 201920 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
71020 /* 201923 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71021 /* 201927 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71022 /* 201932 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71023 /* 201935 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71024 /* 201939 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
71025 /* 201942 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71026 /* 201947 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71027 /* 201952 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
71028 /* 201957 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71029 /* 201960 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
71030 /* 201964 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71031 /* 201969 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71032 /* 201972 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71033 /* 201974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71034 /* 201977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71035 /* 201979 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
71036 /* 201986 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71037 /* 201991 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71038 /* 201996 */ // GIR_Coverage, 21975,
71039 /* 201996 */ GIR_EraseRootFromParent_Done,
71040 /* 201997 */ // Label 5884: @201997
71041 /* 201997 */ GIM_Reject,
71042 /* 201998 */ // Label 5882: @201998
71043 /* 201998 */ GIM_Reject,
71044 /* 201999 */ // Label 5880: @201999
71045 /* 201999 */ GIM_Reject,
71046 /* 202000 */ // Label 5861: @202000
71047 /* 202000 */ GIM_Try, /*On fail goto*//*Label 5885*/ GIMT_Encode4(202082),
71048 /* 202005 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
71049 /* 202008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71050 /* 202012 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5886*/ GIMT_Encode4(202063), GIMT_Encode2(GIFBS_HasCDI), // Rule ID 13421 //
71051 /* 202019 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71052 /* 202023 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71053 /* 202027 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71054 /* 202030 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71055 /* 202034 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71056 /* 202038 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71057 /* 202040 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71058 /* 202047 */ // (ctlz:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
71059 /* 202047 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrm),
71060 /* 202050 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71061 /* 202052 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71062 /* 202056 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71063 /* 202061 */ GIR_RootConstrainSelectedInstOperands,
71064 /* 202062 */ // GIR_Coverage, 13421,
71065 /* 202062 */ GIR_EraseRootFromParent_Done,
71066 /* 202063 */ // Label 5886: @202063
71067 /* 202063 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5887*/ GIMT_Encode4(202081), GIMT_Encode2(GIFBS_HasCDI), // Rule ID 13418 //
71068 /* 202070 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71069 /* 202074 */ // (ctlz:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPLZCNTDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
71070 /* 202074 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
71071 /* 202079 */ GIR_RootConstrainSelectedInstOperands,
71072 /* 202080 */ // GIR_Coverage, 13418,
71073 /* 202080 */ GIR_Done,
71074 /* 202081 */ // Label 5887: @202081
71075 /* 202081 */ GIM_Reject,
71076 /* 202082 */ // Label 5885: @202082
71077 /* 202082 */ GIM_Reject,
71078 /* 202083 */ // Label 5862: @202083
71079 /* 202083 */ GIM_Try, /*On fail goto*//*Label 5888*/ GIMT_Encode4(202277),
71080 /* 202088 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
71081 /* 202091 */ GIM_Try, /*On fail goto*//*Label 5889*/ GIMT_Encode4(202170),
71082 /* 202096 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71083 /* 202100 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5890*/ GIMT_Encode4(202151), GIMT_Encode2(GIFBS_HasCDI_HasVLX), // Rule ID 13412 //
71084 /* 202107 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71085 /* 202111 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71086 /* 202115 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71087 /* 202118 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71088 /* 202122 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71089 /* 202126 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71090 /* 202128 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71091 /* 202135 */ // (ctlz:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
71092 /* 202135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ128rm),
71093 /* 202138 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71094 /* 202140 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71095 /* 202144 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71096 /* 202149 */ GIR_RootConstrainSelectedInstOperands,
71097 /* 202150 */ // GIR_Coverage, 13412,
71098 /* 202150 */ GIR_EraseRootFromParent_Done,
71099 /* 202151 */ // Label 5890: @202151
71100 /* 202151 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5891*/ GIMT_Encode4(202169), GIMT_Encode2(GIFBS_HasCDI_HasVLX), // Rule ID 13409 //
71101 /* 202158 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71102 /* 202162 */ // (ctlz:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPLZCNTQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
71103 /* 202162 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ128rr),
71104 /* 202167 */ GIR_RootConstrainSelectedInstOperands,
71105 /* 202168 */ // GIR_Coverage, 13409,
71106 /* 202168 */ GIR_Done,
71107 /* 202169 */ // Label 5891: @202169
71108 /* 202169 */ GIM_Reject,
71109 /* 202170 */ // Label 5889: @202170
71110 /* 202170 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5892*/ GIMT_Encode4(202276), GIMT_Encode2(GIFBS_HasCDI_NoVLX), // Rule ID 21974 //
71111 /* 202177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71112 /* 202181 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71113 /* 202185 */ // (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] })
71114 /* 202185 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
71115 /* 202188 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71116 /* 202192 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71117 /* 202197 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71118 /* 202199 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
71119 /* 202202 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71120 /* 202206 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71121 /* 202211 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71122 /* 202214 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71123 /* 202218 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
71124 /* 202221 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71125 /* 202226 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71126 /* 202231 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
71127 /* 202236 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71128 /* 202239 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
71129 /* 202243 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71130 /* 202248 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71131 /* 202251 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71132 /* 202253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71133 /* 202256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71134 /* 202258 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
71135 /* 202265 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71136 /* 202270 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71137 /* 202275 */ // GIR_Coverage, 21974,
71138 /* 202275 */ GIR_EraseRootFromParent_Done,
71139 /* 202276 */ // Label 5892: @202276
71140 /* 202276 */ GIM_Reject,
71141 /* 202277 */ // Label 5888: @202277
71142 /* 202277 */ GIM_Reject,
71143 /* 202278 */ // Label 5863: @202278
71144 /* 202278 */ GIM_Try, /*On fail goto*//*Label 5893*/ GIMT_Encode4(202464),
71145 /* 202283 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
71146 /* 202286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71147 /* 202290 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5894*/ GIMT_Encode4(202341), GIMT_Encode2(GIFBS_HasCDI_HasVLX), // Rule ID 13403 //
71148 /* 202297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71149 /* 202301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71150 /* 202305 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71151 /* 202308 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71152 /* 202312 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71153 /* 202316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71154 /* 202318 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71155 /* 202325 */ // (ctlz:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
71156 /* 202325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ256rm),
71157 /* 202328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71158 /* 202330 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71159 /* 202334 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71160 /* 202339 */ GIR_RootConstrainSelectedInstOperands,
71161 /* 202340 */ // GIR_Coverage, 13403,
71162 /* 202340 */ GIR_EraseRootFromParent_Done,
71163 /* 202341 */ // Label 5894: @202341
71164 /* 202341 */ GIM_Try, /*On fail goto*//*Label 5895*/ GIMT_Encode4(202463),
71165 /* 202346 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71166 /* 202350 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5896*/ GIMT_Encode4(202364), GIMT_Encode2(GIFBS_HasCDI_HasVLX), // Rule ID 13400 //
71167 /* 202357 */ // (ctlz:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPLZCNTQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
71168 /* 202357 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ256rr),
71169 /* 202362 */ GIR_RootConstrainSelectedInstOperands,
71170 /* 202363 */ // GIR_Coverage, 13400,
71171 /* 202363 */ GIR_Done,
71172 /* 202364 */ // Label 5896: @202364
71173 /* 202364 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5897*/ GIMT_Encode4(202462), GIMT_Encode2(GIFBS_HasCDI_NoVLX), // Rule ID 21973 //
71174 /* 202371 */ // (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] })
71175 /* 202371 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
71176 /* 202374 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71177 /* 202378 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71178 /* 202383 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71179 /* 202385 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
71180 /* 202388 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71181 /* 202392 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71182 /* 202397 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71183 /* 202400 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71184 /* 202404 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
71185 /* 202407 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71186 /* 202412 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71187 /* 202417 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
71188 /* 202422 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71189 /* 202425 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
71190 /* 202429 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71191 /* 202434 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71192 /* 202437 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71193 /* 202439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71194 /* 202442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71195 /* 202444 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
71196 /* 202451 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71197 /* 202456 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71198 /* 202461 */ // GIR_Coverage, 21973,
71199 /* 202461 */ GIR_EraseRootFromParent_Done,
71200 /* 202462 */ // Label 5897: @202462
71201 /* 202462 */ GIM_Reject,
71202 /* 202463 */ // Label 5895: @202463
71203 /* 202463 */ GIM_Reject,
71204 /* 202464 */ // Label 5893: @202464
71205 /* 202464 */ GIM_Reject,
71206 /* 202465 */ // Label 5864: @202465
71207 /* 202465 */ GIM_Try, /*On fail goto*//*Label 5898*/ GIMT_Encode4(202547),
71208 /* 202470 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
71209 /* 202473 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71210 /* 202477 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5899*/ GIMT_Encode4(202528), GIMT_Encode2(GIFBS_HasCDI), // Rule ID 13394 //
71211 /* 202484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71212 /* 202488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71213 /* 202492 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71214 /* 202495 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71215 /* 202499 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71216 /* 202503 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71217 /* 202505 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71218 /* 202512 */ // (ctlz:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
71219 /* 202512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrm),
71220 /* 202515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71221 /* 202517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71222 /* 202521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71223 /* 202526 */ GIR_RootConstrainSelectedInstOperands,
71224 /* 202527 */ // GIR_Coverage, 13394,
71225 /* 202527 */ GIR_EraseRootFromParent_Done,
71226 /* 202528 */ // Label 5899: @202528
71227 /* 202528 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5900*/ GIMT_Encode4(202546), GIMT_Encode2(GIFBS_HasCDI), // Rule ID 13391 //
71228 /* 202535 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71229 /* 202539 */ // (ctlz:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPLZCNTQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
71230 /* 202539 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
71231 /* 202544 */ GIR_RootConstrainSelectedInstOperands,
71232 /* 202545 */ // GIR_Coverage, 13391,
71233 /* 202545 */ GIR_Done,
71234 /* 202546 */ // Label 5900: @202546
71235 /* 202546 */ GIM_Reject,
71236 /* 202547 */ // Label 5898: @202547
71237 /* 202547 */ GIM_Reject,
71238 /* 202548 */ // Label 5865: @202548
71239 /* 202548 */ GIM_Reject,
71240 /* 202549 */ // Label 70: @202549
71241 /* 202549 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 5916*/ GIMT_Encode4(204788),
71242 /* 202560 */ /*GILLT_s16*//*Label 5901*/ GIMT_Encode4(202652),
71243 /* 202564 */ /*GILLT_s32*//*Label 5902*/ GIMT_Encode4(202744),
71244 /* 202568 */ /*GILLT_s64*//*Label 5903*/ GIMT_Encode4(202836), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
71245 /* 202604 */ /*GILLT_v16s8*//*Label 5904*/ GIMT_Encode4(202928),
71246 /* 202608 */ /*GILLT_v32s8*//*Label 5905*/ GIMT_Encode4(203123),
71247 /* 202612 */ /*GILLT_v64s8*//*Label 5906*/ GIMT_Encode4(203310),
71248 /* 202616 */ /*GILLT_v8s16*//*Label 5907*/ GIMT_Encode4(203393),
71249 /* 202620 */ /*GILLT_v16s16*//*Label 5908*/ GIMT_Encode4(203588),
71250 /* 202624 */ /*GILLT_v32s16*//*Label 5909*/ GIMT_Encode4(203775),
71251 /* 202628 */ /*GILLT_v4s32*//*Label 5910*/ GIMT_Encode4(203858),
71252 /* 202632 */ /*GILLT_v8s32*//*Label 5911*/ GIMT_Encode4(204053),
71253 /* 202636 */ /*GILLT_v16s32*//*Label 5912*/ GIMT_Encode4(204240),
71254 /* 202640 */ /*GILLT_v2s64*//*Label 5913*/ GIMT_Encode4(204323),
71255 /* 202644 */ /*GILLT_v4s64*//*Label 5914*/ GIMT_Encode4(204518),
71256 /* 202648 */ /*GILLT_v8s64*//*Label 5915*/ GIMT_Encode4(204705),
71257 /* 202652 */ // Label 5901: @202652
71258 /* 202652 */ GIM_Try, /*On fail goto*//*Label 5917*/ GIMT_Encode4(202743),
71259 /* 202657 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
71260 /* 202660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
71261 /* 202664 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5918*/ GIMT_Encode4(202718), GIMT_Encode2(GIFBS_HasPOPCNT), // Rule ID 3164 //
71262 /* 202671 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71263 /* 202675 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71264 /* 202679 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71265 /* 202682 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71266 /* 202686 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
71267 /* 202690 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71268 /* 202692 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71269 /* 202699 */ // (ctpop:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (POPCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
71270 /* 202699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT16rm),
71271 /* 202702 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71272 /* 202704 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71273 /* 202708 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71274 /* 202711 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71275 /* 202716 */ GIR_RootConstrainSelectedInstOperands,
71276 /* 202717 */ // GIR_Coverage, 3164,
71277 /* 202717 */ GIR_EraseRootFromParent_Done,
71278 /* 202718 */ // Label 5918: @202718
71279 /* 202718 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5919*/ GIMT_Encode4(202742), GIMT_Encode2(GIFBS_HasPOPCNT), // Rule ID 3163 //
71280 /* 202725 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
71281 /* 202729 */ // (ctpop:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (POPCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
71282 /* 202729 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT16rr),
71283 /* 202734 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
71284 /* 202740 */ GIR_RootConstrainSelectedInstOperands,
71285 /* 202741 */ // GIR_Coverage, 3163,
71286 /* 202741 */ GIR_Done,
71287 /* 202742 */ // Label 5919: @202742
71288 /* 202742 */ GIM_Reject,
71289 /* 202743 */ // Label 5917: @202743
71290 /* 202743 */ GIM_Reject,
71291 /* 202744 */ // Label 5902: @202744
71292 /* 202744 */ GIM_Try, /*On fail goto*//*Label 5920*/ GIMT_Encode4(202835),
71293 /* 202749 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
71294 /* 202752 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
71295 /* 202756 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5921*/ GIMT_Encode4(202810), GIMT_Encode2(GIFBS_HasPOPCNT), // Rule ID 3166 //
71296 /* 202763 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71297 /* 202767 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71298 /* 202771 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71299 /* 202774 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71300 /* 202778 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
71301 /* 202782 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71302 /* 202784 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71303 /* 202791 */ // (ctpop:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (POPCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
71304 /* 202791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT32rm),
71305 /* 202794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71306 /* 202796 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71307 /* 202800 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71308 /* 202803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71309 /* 202808 */ GIR_RootConstrainSelectedInstOperands,
71310 /* 202809 */ // GIR_Coverage, 3166,
71311 /* 202809 */ GIR_EraseRootFromParent_Done,
71312 /* 202810 */ // Label 5921: @202810
71313 /* 202810 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5922*/ GIMT_Encode4(202834), GIMT_Encode2(GIFBS_HasPOPCNT), // Rule ID 3165 //
71314 /* 202817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
71315 /* 202821 */ // (ctpop:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (POPCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
71316 /* 202821 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT32rr),
71317 /* 202826 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
71318 /* 202832 */ GIR_RootConstrainSelectedInstOperands,
71319 /* 202833 */ // GIR_Coverage, 3165,
71320 /* 202833 */ GIR_Done,
71321 /* 202834 */ // Label 5922: @202834
71322 /* 202834 */ GIM_Reject,
71323 /* 202835 */ // Label 5920: @202835
71324 /* 202835 */ GIM_Reject,
71325 /* 202836 */ // Label 5903: @202836
71326 /* 202836 */ GIM_Try, /*On fail goto*//*Label 5923*/ GIMT_Encode4(202927),
71327 /* 202841 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
71328 /* 202844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
71329 /* 202848 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5924*/ GIMT_Encode4(202902), GIMT_Encode2(GIFBS_HasPOPCNT), // Rule ID 3168 //
71330 /* 202855 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71331 /* 202859 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71332 /* 202863 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71333 /* 202866 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71334 /* 202870 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71335 /* 202874 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71336 /* 202876 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71337 /* 202883 */ // (ctpop:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (POPCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
71338 /* 202883 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT64rm),
71339 /* 202886 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71340 /* 202888 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71341 /* 202892 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71342 /* 202895 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71343 /* 202900 */ GIR_RootConstrainSelectedInstOperands,
71344 /* 202901 */ // GIR_Coverage, 3168,
71345 /* 202901 */ GIR_EraseRootFromParent_Done,
71346 /* 202902 */ // Label 5924: @202902
71347 /* 202902 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5925*/ GIMT_Encode4(202926), GIMT_Encode2(GIFBS_HasPOPCNT), // Rule ID 3167 //
71348 /* 202909 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
71349 /* 202913 */ // (ctpop:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (POPCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
71350 /* 202913 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT64rr),
71351 /* 202918 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
71352 /* 202924 */ GIR_RootConstrainSelectedInstOperands,
71353 /* 202925 */ // GIR_Coverage, 3167,
71354 /* 202925 */ GIR_Done,
71355 /* 202926 */ // Label 5925: @202926
71356 /* 202926 */ GIM_Reject,
71357 /* 202927 */ // Label 5923: @202927
71358 /* 202927 */ GIM_Reject,
71359 /* 202928 */ // Label 5904: @202928
71360 /* 202928 */ GIM_Try, /*On fail goto*//*Label 5926*/ GIMT_Encode4(203122),
71361 /* 202933 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
71362 /* 202936 */ GIM_Try, /*On fail goto*//*Label 5927*/ GIMT_Encode4(203015),
71363 /* 202941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71364 /* 202945 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5928*/ GIMT_Encode4(202996), GIMT_Encode2(GIFBS_HasBITALG_HasVLX), // Rule ID 14504 //
71365 /* 202952 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71366 /* 202956 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71367 /* 202960 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71368 /* 202963 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71369 /* 202967 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71370 /* 202971 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71371 /* 202973 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71372 /* 202980 */ // (ctpop:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZ128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)
71373 /* 202980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ128rm),
71374 /* 202983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71375 /* 202985 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71376 /* 202989 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71377 /* 202994 */ GIR_RootConstrainSelectedInstOperands,
71378 /* 202995 */ // GIR_Coverage, 14504,
71379 /* 202995 */ GIR_EraseRootFromParent_Done,
71380 /* 202996 */ // Label 5928: @202996
71381 /* 202996 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5929*/ GIMT_Encode4(203014), GIMT_Encode2(GIFBS_HasBITALG_HasVLX), // Rule ID 14501 //
71382 /* 203003 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71383 /* 203007 */ // (ctpop:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1) => (VPOPCNTBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1)
71384 /* 203007 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ128rr),
71385 /* 203012 */ GIR_RootConstrainSelectedInstOperands,
71386 /* 203013 */ // GIR_Coverage, 14501,
71387 /* 203013 */ GIR_Done,
71388 /* 203014 */ // Label 5929: @203014
71389 /* 203014 */ GIM_Reject,
71390 /* 203015 */ // Label 5927: @203015
71391 /* 203015 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5930*/ GIMT_Encode4(203121), GIMT_Encode2(GIFBS_HasBITALG_NoVLX), // Rule ID 22335 //
71392 /* 203022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71393 /* 203026 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71394 /* 203030 */ // (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] })
71395 /* 203030 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
71396 /* 203033 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71397 /* 203037 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71398 /* 203042 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71399 /* 203044 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
71400 /* 203047 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71401 /* 203051 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71402 /* 203056 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71403 /* 203059 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71404 /* 203063 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
71405 /* 203066 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71406 /* 203071 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71407 /* 203076 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
71408 /* 203081 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71409 /* 203084 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
71410 /* 203088 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71411 /* 203093 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71412 /* 203096 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71413 /* 203098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71414 /* 203101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71415 /* 203103 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
71416 /* 203110 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71417 /* 203115 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71418 /* 203120 */ // GIR_Coverage, 22335,
71419 /* 203120 */ GIR_EraseRootFromParent_Done,
71420 /* 203121 */ // Label 5930: @203121
71421 /* 203121 */ GIM_Reject,
71422 /* 203122 */ // Label 5926: @203122
71423 /* 203122 */ GIM_Reject,
71424 /* 203123 */ // Label 5905: @203123
71425 /* 203123 */ GIM_Try, /*On fail goto*//*Label 5931*/ GIMT_Encode4(203309),
71426 /* 203128 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
71427 /* 203131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71428 /* 203135 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5932*/ GIMT_Encode4(203186), GIMT_Encode2(GIFBS_HasBITALG_HasVLX), // Rule ID 14498 //
71429 /* 203142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71430 /* 203146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71431 /* 203150 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71432 /* 203153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71433 /* 203157 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71434 /* 203161 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71435 /* 203163 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71436 /* 203170 */ // (ctpop:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZ256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)
71437 /* 203170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ256rm),
71438 /* 203173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71439 /* 203175 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71440 /* 203179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71441 /* 203184 */ GIR_RootConstrainSelectedInstOperands,
71442 /* 203185 */ // GIR_Coverage, 14498,
71443 /* 203185 */ GIR_EraseRootFromParent_Done,
71444 /* 203186 */ // Label 5932: @203186
71445 /* 203186 */ GIM_Try, /*On fail goto*//*Label 5933*/ GIMT_Encode4(203308),
71446 /* 203191 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71447 /* 203195 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5934*/ GIMT_Encode4(203209), GIMT_Encode2(GIFBS_HasBITALG_HasVLX), // Rule ID 14495 //
71448 /* 203202 */ // (ctpop:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1) => (VPOPCNTBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1)
71449 /* 203202 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ256rr),
71450 /* 203207 */ GIR_RootConstrainSelectedInstOperands,
71451 /* 203208 */ // GIR_Coverage, 14495,
71452 /* 203208 */ GIR_Done,
71453 /* 203209 */ // Label 5934: @203209
71454 /* 203209 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5935*/ GIMT_Encode4(203307), GIMT_Encode2(GIFBS_HasBITALG_NoVLX), // Rule ID 22334 //
71455 /* 203216 */ // (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] })
71456 /* 203216 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
71457 /* 203219 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71458 /* 203223 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71459 /* 203228 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71460 /* 203230 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
71461 /* 203233 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71462 /* 203237 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71463 /* 203242 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71464 /* 203245 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71465 /* 203249 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
71466 /* 203252 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71467 /* 203257 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71468 /* 203262 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
71469 /* 203267 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71470 /* 203270 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
71471 /* 203274 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71472 /* 203279 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71473 /* 203282 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71474 /* 203284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71475 /* 203287 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71476 /* 203289 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
71477 /* 203296 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71478 /* 203301 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71479 /* 203306 */ // GIR_Coverage, 22334,
71480 /* 203306 */ GIR_EraseRootFromParent_Done,
71481 /* 203307 */ // Label 5935: @203307
71482 /* 203307 */ GIM_Reject,
71483 /* 203308 */ // Label 5933: @203308
71484 /* 203308 */ GIM_Reject,
71485 /* 203309 */ // Label 5931: @203309
71486 /* 203309 */ GIM_Reject,
71487 /* 203310 */ // Label 5906: @203310
71488 /* 203310 */ GIM_Try, /*On fail goto*//*Label 5936*/ GIMT_Encode4(203392),
71489 /* 203315 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
71490 /* 203318 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71491 /* 203322 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5937*/ GIMT_Encode4(203373), GIMT_Encode2(GIFBS_HasBITALG), // Rule ID 14492 //
71492 /* 203329 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71493 /* 203333 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71494 /* 203337 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71495 /* 203340 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71496 /* 203344 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71497 /* 203348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71498 /* 203350 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71499 /* 203357 */ // (ctpop:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)
71500 /* 203357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrm),
71501 /* 203360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71502 /* 203362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71503 /* 203366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71504 /* 203371 */ GIR_RootConstrainSelectedInstOperands,
71505 /* 203372 */ // GIR_Coverage, 14492,
71506 /* 203372 */ GIR_EraseRootFromParent_Done,
71507 /* 203373 */ // Label 5937: @203373
71508 /* 203373 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5938*/ GIMT_Encode4(203391), GIMT_Encode2(GIFBS_HasBITALG), // Rule ID 14489 //
71509 /* 203380 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71510 /* 203384 */ // (ctpop:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1) => (VPOPCNTBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1)
71511 /* 203384 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
71512 /* 203389 */ GIR_RootConstrainSelectedInstOperands,
71513 /* 203390 */ // GIR_Coverage, 14489,
71514 /* 203390 */ GIR_Done,
71515 /* 203391 */ // Label 5938: @203391
71516 /* 203391 */ GIM_Reject,
71517 /* 203392 */ // Label 5936: @203392
71518 /* 203392 */ GIM_Reject,
71519 /* 203393 */ // Label 5907: @203393
71520 /* 203393 */ GIM_Try, /*On fail goto*//*Label 5939*/ GIMT_Encode4(203587),
71521 /* 203398 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
71522 /* 203401 */ GIM_Try, /*On fail goto*//*Label 5940*/ GIMT_Encode4(203480),
71523 /* 203406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71524 /* 203410 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5941*/ GIMT_Encode4(203461), GIMT_Encode2(GIFBS_HasBITALG_HasVLX), // Rule ID 14522 //
71525 /* 203417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71526 /* 203421 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71527 /* 203425 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71528 /* 203428 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71529 /* 203432 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71530 /* 203436 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71531 /* 203438 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71532 /* 203445 */ // (ctpop:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)
71533 /* 203445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ128rm),
71534 /* 203448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71535 /* 203450 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71536 /* 203454 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71537 /* 203459 */ GIR_RootConstrainSelectedInstOperands,
71538 /* 203460 */ // GIR_Coverage, 14522,
71539 /* 203460 */ GIR_EraseRootFromParent_Done,
71540 /* 203461 */ // Label 5941: @203461
71541 /* 203461 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5942*/ GIMT_Encode4(203479), GIMT_Encode2(GIFBS_HasBITALG_HasVLX), // Rule ID 14519 //
71542 /* 203468 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71543 /* 203472 */ // (ctpop:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1) => (VPOPCNTWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1)
71544 /* 203472 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ128rr),
71545 /* 203477 */ GIR_RootConstrainSelectedInstOperands,
71546 /* 203478 */ // GIR_Coverage, 14519,
71547 /* 203478 */ GIR_Done,
71548 /* 203479 */ // Label 5942: @203479
71549 /* 203479 */ GIM_Reject,
71550 /* 203480 */ // Label 5940: @203480
71551 /* 203480 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5943*/ GIMT_Encode4(203586), GIMT_Encode2(GIFBS_HasBITALG_NoVLX), // Rule ID 22337 //
71552 /* 203487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71553 /* 203491 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71554 /* 203495 */ // (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] })
71555 /* 203495 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
71556 /* 203498 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71557 /* 203502 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71558 /* 203507 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71559 /* 203509 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
71560 /* 203512 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71561 /* 203516 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71562 /* 203521 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71563 /* 203524 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71564 /* 203528 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
71565 /* 203531 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71566 /* 203536 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71567 /* 203541 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
71568 /* 203546 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71569 /* 203549 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
71570 /* 203553 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71571 /* 203558 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71572 /* 203561 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71573 /* 203563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71574 /* 203566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71575 /* 203568 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
71576 /* 203575 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71577 /* 203580 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71578 /* 203585 */ // GIR_Coverage, 22337,
71579 /* 203585 */ GIR_EraseRootFromParent_Done,
71580 /* 203586 */ // Label 5943: @203586
71581 /* 203586 */ GIM_Reject,
71582 /* 203587 */ // Label 5939: @203587
71583 /* 203587 */ GIM_Reject,
71584 /* 203588 */ // Label 5908: @203588
71585 /* 203588 */ GIM_Try, /*On fail goto*//*Label 5944*/ GIMT_Encode4(203774),
71586 /* 203593 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
71587 /* 203596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71588 /* 203600 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5945*/ GIMT_Encode4(203651), GIMT_Encode2(GIFBS_HasBITALG_HasVLX), // Rule ID 14516 //
71589 /* 203607 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71590 /* 203611 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71591 /* 203615 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71592 /* 203618 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71593 /* 203622 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71594 /* 203626 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71595 /* 203628 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71596 /* 203635 */ // (ctpop:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)
71597 /* 203635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ256rm),
71598 /* 203638 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71599 /* 203640 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71600 /* 203644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71601 /* 203649 */ GIR_RootConstrainSelectedInstOperands,
71602 /* 203650 */ // GIR_Coverage, 14516,
71603 /* 203650 */ GIR_EraseRootFromParent_Done,
71604 /* 203651 */ // Label 5945: @203651
71605 /* 203651 */ GIM_Try, /*On fail goto*//*Label 5946*/ GIMT_Encode4(203773),
71606 /* 203656 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71607 /* 203660 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5947*/ GIMT_Encode4(203674), GIMT_Encode2(GIFBS_HasBITALG_HasVLX), // Rule ID 14513 //
71608 /* 203667 */ // (ctpop:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1) => (VPOPCNTWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1)
71609 /* 203667 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ256rr),
71610 /* 203672 */ GIR_RootConstrainSelectedInstOperands,
71611 /* 203673 */ // GIR_Coverage, 14513,
71612 /* 203673 */ GIR_Done,
71613 /* 203674 */ // Label 5947: @203674
71614 /* 203674 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5948*/ GIMT_Encode4(203772), GIMT_Encode2(GIFBS_HasBITALG_NoVLX), // Rule ID 22336 //
71615 /* 203681 */ // (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] })
71616 /* 203681 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
71617 /* 203684 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71618 /* 203688 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71619 /* 203693 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71620 /* 203695 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
71621 /* 203698 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71622 /* 203702 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71623 /* 203707 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71624 /* 203710 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71625 /* 203714 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
71626 /* 203717 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71627 /* 203722 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71628 /* 203727 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
71629 /* 203732 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71630 /* 203735 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
71631 /* 203739 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71632 /* 203744 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71633 /* 203747 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71634 /* 203749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71635 /* 203752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71636 /* 203754 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
71637 /* 203761 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71638 /* 203766 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71639 /* 203771 */ // GIR_Coverage, 22336,
71640 /* 203771 */ GIR_EraseRootFromParent_Done,
71641 /* 203772 */ // Label 5948: @203772
71642 /* 203772 */ GIM_Reject,
71643 /* 203773 */ // Label 5946: @203773
71644 /* 203773 */ GIM_Reject,
71645 /* 203774 */ // Label 5944: @203774
71646 /* 203774 */ GIM_Reject,
71647 /* 203775 */ // Label 5909: @203775
71648 /* 203775 */ GIM_Try, /*On fail goto*//*Label 5949*/ GIMT_Encode4(203857),
71649 /* 203780 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
71650 /* 203783 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71651 /* 203787 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5950*/ GIMT_Encode4(203838), GIMT_Encode2(GIFBS_HasBITALG), // Rule ID 14510 //
71652 /* 203794 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71653 /* 203798 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71654 /* 203802 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71655 /* 203805 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71656 /* 203809 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71657 /* 203813 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71658 /* 203815 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71659 /* 203822 */ // (ctpop:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)
71660 /* 203822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrm),
71661 /* 203825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71662 /* 203827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71663 /* 203831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71664 /* 203836 */ GIR_RootConstrainSelectedInstOperands,
71665 /* 203837 */ // GIR_Coverage, 14510,
71666 /* 203837 */ GIR_EraseRootFromParent_Done,
71667 /* 203838 */ // Label 5950: @203838
71668 /* 203838 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5951*/ GIMT_Encode4(203856), GIMT_Encode2(GIFBS_HasBITALG), // Rule ID 14507 //
71669 /* 203845 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71670 /* 203849 */ // (ctpop:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1) => (VPOPCNTWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1)
71671 /* 203849 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
71672 /* 203854 */ GIR_RootConstrainSelectedInstOperands,
71673 /* 203855 */ // GIR_Coverage, 14507,
71674 /* 203855 */ GIR_Done,
71675 /* 203856 */ // Label 5951: @203856
71676 /* 203856 */ GIM_Reject,
71677 /* 203857 */ // Label 5949: @203857
71678 /* 203857 */ GIM_Reject,
71679 /* 203858 */ // Label 5910: @203858
71680 /* 203858 */ GIM_Try, /*On fail goto*//*Label 5952*/ GIMT_Encode4(204052),
71681 /* 203863 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
71682 /* 203866 */ GIM_Try, /*On fail goto*//*Label 5953*/ GIMT_Encode4(203945),
71683 /* 203871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71684 /* 203875 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5954*/ GIMT_Encode4(203926), GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ), // Rule ID 13493 //
71685 /* 203882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71686 /* 203886 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71687 /* 203890 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71688 /* 203893 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71689 /* 203897 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71690 /* 203901 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71691 /* 203903 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71692 /* 203910 */ // (ctpop:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
71693 /* 203910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ128rm),
71694 /* 203913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71695 /* 203915 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71696 /* 203919 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71697 /* 203924 */ GIR_RootConstrainSelectedInstOperands,
71698 /* 203925 */ // GIR_Coverage, 13493,
71699 /* 203925 */ GIR_EraseRootFromParent_Done,
71700 /* 203926 */ // Label 5954: @203926
71701 /* 203926 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5955*/ GIMT_Encode4(203944), GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ), // Rule ID 13490 //
71702 /* 203933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71703 /* 203937 */ // (ctpop:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPOPCNTDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
71704 /* 203937 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ128rr),
71705 /* 203942 */ GIR_RootConstrainSelectedInstOperands,
71706 /* 203943 */ // GIR_Coverage, 13490,
71707 /* 203943 */ GIR_Done,
71708 /* 203944 */ // Label 5955: @203944
71709 /* 203944 */ GIM_Reject,
71710 /* 203945 */ // Label 5953: @203945
71711 /* 203945 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5956*/ GIMT_Encode4(204051), GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX), // Rule ID 21980 //
71712 /* 203952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71713 /* 203956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71714 /* 203960 */ // (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] })
71715 /* 203960 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
71716 /* 203963 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71717 /* 203967 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71718 /* 203972 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71719 /* 203974 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
71720 /* 203977 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71721 /* 203981 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71722 /* 203986 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71723 /* 203989 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71724 /* 203993 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
71725 /* 203996 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71726 /* 204001 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71727 /* 204006 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
71728 /* 204011 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71729 /* 204014 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
71730 /* 204018 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71731 /* 204023 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71732 /* 204026 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71733 /* 204028 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71734 /* 204031 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71735 /* 204033 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
71736 /* 204040 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71737 /* 204045 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71738 /* 204050 */ // GIR_Coverage, 21980,
71739 /* 204050 */ GIR_EraseRootFromParent_Done,
71740 /* 204051 */ // Label 5956: @204051
71741 /* 204051 */ GIM_Reject,
71742 /* 204052 */ // Label 5952: @204052
71743 /* 204052 */ GIM_Reject,
71744 /* 204053 */ // Label 5911: @204053
71745 /* 204053 */ GIM_Try, /*On fail goto*//*Label 5957*/ GIMT_Encode4(204239),
71746 /* 204058 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
71747 /* 204061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71748 /* 204065 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5958*/ GIMT_Encode4(204116), GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ), // Rule ID 13484 //
71749 /* 204072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71750 /* 204076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71751 /* 204080 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71752 /* 204083 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71753 /* 204087 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71754 /* 204091 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71755 /* 204093 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71756 /* 204100 */ // (ctpop:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
71757 /* 204100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ256rm),
71758 /* 204103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71759 /* 204105 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71760 /* 204109 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71761 /* 204114 */ GIR_RootConstrainSelectedInstOperands,
71762 /* 204115 */ // GIR_Coverage, 13484,
71763 /* 204115 */ GIR_EraseRootFromParent_Done,
71764 /* 204116 */ // Label 5958: @204116
71765 /* 204116 */ GIM_Try, /*On fail goto*//*Label 5959*/ GIMT_Encode4(204238),
71766 /* 204121 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71767 /* 204125 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5960*/ GIMT_Encode4(204139), GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ), // Rule ID 13481 //
71768 /* 204132 */ // (ctpop:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPOPCNTDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
71769 /* 204132 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ256rr),
71770 /* 204137 */ GIR_RootConstrainSelectedInstOperands,
71771 /* 204138 */ // GIR_Coverage, 13481,
71772 /* 204138 */ GIR_Done,
71773 /* 204139 */ // Label 5960: @204139
71774 /* 204139 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5961*/ GIMT_Encode4(204237), GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX), // Rule ID 21979 //
71775 /* 204146 */ // (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] })
71776 /* 204146 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
71777 /* 204149 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71778 /* 204153 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71779 /* 204158 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71780 /* 204160 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
71781 /* 204163 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71782 /* 204167 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71783 /* 204172 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71784 /* 204175 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71785 /* 204179 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
71786 /* 204182 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71787 /* 204187 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71788 /* 204192 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
71789 /* 204197 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71790 /* 204200 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
71791 /* 204204 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71792 /* 204209 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71793 /* 204212 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71794 /* 204214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71795 /* 204217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71796 /* 204219 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
71797 /* 204226 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71798 /* 204231 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71799 /* 204236 */ // GIR_Coverage, 21979,
71800 /* 204236 */ GIR_EraseRootFromParent_Done,
71801 /* 204237 */ // Label 5961: @204237
71802 /* 204237 */ GIM_Reject,
71803 /* 204238 */ // Label 5959: @204238
71804 /* 204238 */ GIM_Reject,
71805 /* 204239 */ // Label 5957: @204239
71806 /* 204239 */ GIM_Reject,
71807 /* 204240 */ // Label 5912: @204240
71808 /* 204240 */ GIM_Try, /*On fail goto*//*Label 5962*/ GIMT_Encode4(204322),
71809 /* 204245 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
71810 /* 204248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71811 /* 204252 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5963*/ GIMT_Encode4(204303), GIMT_Encode2(GIFBS_HasVPOPCNTDQ), // Rule ID 13475 //
71812 /* 204259 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71813 /* 204263 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71814 /* 204267 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71815 /* 204270 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71816 /* 204274 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71817 /* 204278 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71818 /* 204280 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71819 /* 204287 */ // (ctpop:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
71820 /* 204287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrm),
71821 /* 204290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71822 /* 204292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71823 /* 204296 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71824 /* 204301 */ GIR_RootConstrainSelectedInstOperands,
71825 /* 204302 */ // GIR_Coverage, 13475,
71826 /* 204302 */ GIR_EraseRootFromParent_Done,
71827 /* 204303 */ // Label 5963: @204303
71828 /* 204303 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5964*/ GIMT_Encode4(204321), GIMT_Encode2(GIFBS_HasVPOPCNTDQ), // Rule ID 13472 //
71829 /* 204310 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71830 /* 204314 */ // (ctpop:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPOPCNTDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
71831 /* 204314 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
71832 /* 204319 */ GIR_RootConstrainSelectedInstOperands,
71833 /* 204320 */ // GIR_Coverage, 13472,
71834 /* 204320 */ GIR_Done,
71835 /* 204321 */ // Label 5964: @204321
71836 /* 204321 */ GIM_Reject,
71837 /* 204322 */ // Label 5962: @204322
71838 /* 204322 */ GIM_Reject,
71839 /* 204323 */ // Label 5913: @204323
71840 /* 204323 */ GIM_Try, /*On fail goto*//*Label 5965*/ GIMT_Encode4(204517),
71841 /* 204328 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
71842 /* 204331 */ GIM_Try, /*On fail goto*//*Label 5966*/ GIMT_Encode4(204410),
71843 /* 204336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71844 /* 204340 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5967*/ GIMT_Encode4(204391), GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ), // Rule ID 13466 //
71845 /* 204347 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71846 /* 204351 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71847 /* 204355 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71848 /* 204358 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71849 /* 204362 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71850 /* 204366 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71851 /* 204368 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71852 /* 204375 */ // (ctpop:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
71853 /* 204375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ128rm),
71854 /* 204378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71855 /* 204380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71856 /* 204384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71857 /* 204389 */ GIR_RootConstrainSelectedInstOperands,
71858 /* 204390 */ // GIR_Coverage, 13466,
71859 /* 204390 */ GIR_EraseRootFromParent_Done,
71860 /* 204391 */ // Label 5967: @204391
71861 /* 204391 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5968*/ GIMT_Encode4(204409), GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ), // Rule ID 13463 //
71862 /* 204398 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71863 /* 204402 */ // (ctpop:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPOPCNTQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
71864 /* 204402 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ128rr),
71865 /* 204407 */ GIR_RootConstrainSelectedInstOperands,
71866 /* 204408 */ // GIR_Coverage, 13463,
71867 /* 204408 */ GIR_Done,
71868 /* 204409 */ // Label 5968: @204409
71869 /* 204409 */ GIM_Reject,
71870 /* 204410 */ // Label 5966: @204410
71871 /* 204410 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5969*/ GIMT_Encode4(204516), GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX), // Rule ID 21978 //
71872 /* 204417 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71873 /* 204421 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71874 /* 204425 */ // (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] })
71875 /* 204425 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
71876 /* 204428 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71877 /* 204432 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71878 /* 204437 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71879 /* 204439 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
71880 /* 204442 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71881 /* 204446 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71882 /* 204451 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71883 /* 204454 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71884 /* 204458 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
71885 /* 204461 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71886 /* 204466 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71887 /* 204471 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
71888 /* 204476 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71889 /* 204479 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
71890 /* 204483 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71891 /* 204488 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71892 /* 204491 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71893 /* 204493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71894 /* 204496 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71895 /* 204498 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
71896 /* 204505 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71897 /* 204510 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71898 /* 204515 */ // GIR_Coverage, 21978,
71899 /* 204515 */ GIR_EraseRootFromParent_Done,
71900 /* 204516 */ // Label 5969: @204516
71901 /* 204516 */ GIM_Reject,
71902 /* 204517 */ // Label 5965: @204517
71903 /* 204517 */ GIM_Reject,
71904 /* 204518 */ // Label 5914: @204518
71905 /* 204518 */ GIM_Try, /*On fail goto*//*Label 5970*/ GIMT_Encode4(204704),
71906 /* 204523 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
71907 /* 204526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71908 /* 204530 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5971*/ GIMT_Encode4(204581), GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ), // Rule ID 13457 //
71909 /* 204537 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71910 /* 204541 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71911 /* 204545 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71912 /* 204548 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71913 /* 204552 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71914 /* 204556 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71915 /* 204558 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71916 /* 204565 */ // (ctpop:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
71917 /* 204565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ256rm),
71918 /* 204568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71919 /* 204570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71920 /* 204574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71921 /* 204579 */ GIR_RootConstrainSelectedInstOperands,
71922 /* 204580 */ // GIR_Coverage, 13457,
71923 /* 204580 */ GIR_EraseRootFromParent_Done,
71924 /* 204581 */ // Label 5971: @204581
71925 /* 204581 */ GIM_Try, /*On fail goto*//*Label 5972*/ GIMT_Encode4(204703),
71926 /* 204586 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71927 /* 204590 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5973*/ GIMT_Encode4(204604), GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ), // Rule ID 13454 //
71928 /* 204597 */ // (ctpop:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPOPCNTQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
71929 /* 204597 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ256rr),
71930 /* 204602 */ GIR_RootConstrainSelectedInstOperands,
71931 /* 204603 */ // GIR_Coverage, 13454,
71932 /* 204603 */ GIR_Done,
71933 /* 204604 */ // Label 5973: @204604
71934 /* 204604 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5974*/ GIMT_Encode4(204702), GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX), // Rule ID 21977 //
71935 /* 204611 */ // (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] })
71936 /* 204611 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
71937 /* 204614 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71938 /* 204618 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71939 /* 204623 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
71940 /* 204625 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
71941 /* 204628 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
71942 /* 204632 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71943 /* 204637 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
71944 /* 204640 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
71945 /* 204644 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
71946 /* 204647 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
71947 /* 204652 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71948 /* 204657 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
71949 /* 204662 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
71950 /* 204665 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
71951 /* 204669 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71952 /* 204674 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
71953 /* 204677 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71954 /* 204679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71955 /* 204682 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71956 /* 204684 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
71957 /* 204691 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71958 /* 204696 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71959 /* 204701 */ // GIR_Coverage, 21977,
71960 /* 204701 */ GIR_EraseRootFromParent_Done,
71961 /* 204702 */ // Label 5974: @204702
71962 /* 204702 */ GIM_Reject,
71963 /* 204703 */ // Label 5972: @204703
71964 /* 204703 */ GIM_Reject,
71965 /* 204704 */ // Label 5970: @204704
71966 /* 204704 */ GIM_Reject,
71967 /* 204705 */ // Label 5915: @204705
71968 /* 204705 */ GIM_Try, /*On fail goto*//*Label 5975*/ GIMT_Encode4(204787),
71969 /* 204710 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
71970 /* 204713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71971 /* 204717 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5976*/ GIMT_Encode4(204768), GIMT_Encode2(GIFBS_HasVPOPCNTDQ), // Rule ID 13448 //
71972 /* 204724 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71973 /* 204728 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71974 /* 204732 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71975 /* 204735 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71976 /* 204739 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71977 /* 204743 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71978 /* 204745 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71979 /* 204752 */ // (ctpop:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
71980 /* 204752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrm),
71981 /* 204755 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71982 /* 204757 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71983 /* 204761 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71984 /* 204766 */ GIR_RootConstrainSelectedInstOperands,
71985 /* 204767 */ // GIR_Coverage, 13448,
71986 /* 204767 */ GIR_EraseRootFromParent_Done,
71987 /* 204768 */ // Label 5976: @204768
71988 /* 204768 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5977*/ GIMT_Encode4(204786), GIMT_Encode2(GIFBS_HasVPOPCNTDQ), // Rule ID 13445 //
71989 /* 204775 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71990 /* 204779 */ // (ctpop:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPOPCNTQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
71991 /* 204779 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
71992 /* 204784 */ GIR_RootConstrainSelectedInstOperands,
71993 /* 204785 */ // GIR_Coverage, 13445,
71994 /* 204785 */ GIR_Done,
71995 /* 204786 */ // Label 5977: @204786
71996 /* 204786 */ GIM_Reject,
71997 /* 204787 */ // Label 5975: @204787
71998 /* 204787 */ GIM_Reject,
71999 /* 204788 */ // Label 5916: @204788
72000 /* 204788 */ GIM_Reject,
72001 /* 204789 */ // Label 71: @204789
72002 /* 204789 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 5981*/ GIMT_Encode4(205282),
72003 /* 204800 */ /*GILLT_s16*//*Label 5978*/ GIMT_Encode4(204812),
72004 /* 204804 */ /*GILLT_s32*//*Label 5979*/ GIMT_Encode4(204974),
72005 /* 204808 */ /*GILLT_s64*//*Label 5980*/ GIMT_Encode4(205128),
72006 /* 204812 */ // Label 5978: @204812
72007 /* 204812 */ GIM_Try, /*On fail goto*//*Label 5982*/ GIMT_Encode4(204973),
72008 /* 204817 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
72009 /* 204820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72010 /* 204824 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5983*/ GIMT_Encode4(204875), GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR), // Rule ID 49 //
72011 /* 204831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72012 /* 204835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72013 /* 204839 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72014 /* 204842 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72015 /* 204846 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
72016 /* 204850 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72017 /* 204852 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72018 /* 204859 */ // (bswap:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (MOVBE16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src1)
72019 /* 204859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16rm),
72020 /* 204862 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72021 /* 204864 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72022 /* 204868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72023 /* 204873 */ GIR_RootConstrainSelectedInstOperands,
72024 /* 204874 */ // GIR_Coverage, 49,
72025 /* 204874 */ GIR_EraseRootFromParent_Done,
72026 /* 204875 */ // Label 5983: @204875
72027 /* 204875 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5984*/ GIMT_Encode4(204926), GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode), // Rule ID 55 //
72028 /* 204882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72029 /* 204886 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72030 /* 204890 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72031 /* 204893 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72032 /* 204897 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
72033 /* 204901 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72034 /* 204903 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72035 /* 204910 */ // (bswap:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (MOVBE16rm_EVEX:{ *:[i16] } addr:{ *:[iPTR] }:$src1)
72036 /* 204910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16rm_EVEX),
72037 /* 204913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72038 /* 204915 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72039 /* 204919 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72040 /* 204924 */ GIR_RootConstrainSelectedInstOperands,
72041 /* 204925 */ // GIR_Coverage, 55,
72042 /* 204925 */ GIR_EraseRootFromParent_Done,
72043 /* 204926 */ // Label 5984: @204926
72044 /* 204926 */ GIM_Try, /*On fail goto*//*Label 5985*/ GIMT_Encode4(204972),
72045 /* 204931 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72046 /* 204935 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5986*/ GIMT_Encode4(204949), GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode), // Rule ID 61 //
72047 /* 204942 */ // (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (MOVBE16rr:{ *:[i16] } GR16:{ *:[i16] }:$src1)
72048 /* 204942 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE16rr),
72049 /* 204947 */ GIR_RootConstrainSelectedInstOperands,
72050 /* 204948 */ // GIR_Coverage, 61,
72051 /* 204948 */ GIR_Done,
72052 /* 204949 */ // Label 5986: @204949
72053 /* 204949 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5987*/ GIMT_Encode4(204971), GIMT_Encode2(GIFBS_HasMOVBE), // Rule ID 23225 //
72054 /* 204956 */ // (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src) => (ROL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src, 8:{ *:[i8] })
72055 /* 204956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri),
72056 /* 204959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72057 /* 204961 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72058 /* 204963 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/8,
72059 /* 204966 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72060 /* 204969 */ GIR_RootConstrainSelectedInstOperands,
72061 /* 204970 */ // GIR_Coverage, 23225,
72062 /* 204970 */ GIR_EraseRootFromParent_Done,
72063 /* 204971 */ // Label 5987: @204971
72064 /* 204971 */ GIM_Reject,
72065 /* 204972 */ // Label 5985: @204972
72066 /* 204972 */ GIM_Reject,
72067 /* 204973 */ // Label 5982: @204973
72068 /* 204973 */ GIM_Reject,
72069 /* 204974 */ // Label 5979: @204974
72070 /* 204974 */ GIM_Try, /*On fail goto*//*Label 5988*/ GIMT_Encode4(205127),
72071 /* 204979 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
72072 /* 204982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72073 /* 204986 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5989*/ GIMT_Encode4(205037), GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR), // Rule ID 51 //
72074 /* 204993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72075 /* 204997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72076 /* 205001 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72077 /* 205004 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72078 /* 205008 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
72079 /* 205012 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72080 /* 205014 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72081 /* 205021 */ // (bswap:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (MOVBE32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72082 /* 205021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32rm),
72083 /* 205024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72084 /* 205026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72085 /* 205030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72086 /* 205035 */ GIR_RootConstrainSelectedInstOperands,
72087 /* 205036 */ // GIR_Coverage, 51,
72088 /* 205036 */ GIR_EraseRootFromParent_Done,
72089 /* 205037 */ // Label 5989: @205037
72090 /* 205037 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5990*/ GIMT_Encode4(205088), GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode), // Rule ID 57 //
72091 /* 205044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72092 /* 205048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72093 /* 205052 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72094 /* 205055 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72095 /* 205059 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
72096 /* 205063 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72097 /* 205065 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72098 /* 205072 */ // (bswap:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (MOVBE32rm_EVEX:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72099 /* 205072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32rm_EVEX),
72100 /* 205075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72101 /* 205077 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72102 /* 205081 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72103 /* 205086 */ GIR_RootConstrainSelectedInstOperands,
72104 /* 205087 */ // GIR_Coverage, 57,
72105 /* 205087 */ GIR_EraseRootFromParent_Done,
72106 /* 205088 */ // Label 5990: @205088
72107 /* 205088 */ GIM_Try, /*On fail goto*//*Label 5991*/ GIMT_Encode4(205126),
72108 /* 205093 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72109 /* 205097 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5992*/ GIMT_Encode4(205111), GIMT_Encode2(GIFBS_NoNDD_Or_NoMOVBE), // Rule ID 5 //
72110 /* 205104 */ // (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src) => (BSWAP32r:{ *:[i32] } GR32:{ *:[i32] }:$src)
72111 /* 205104 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::BSWAP32r),
72112 /* 205109 */ GIR_RootConstrainSelectedInstOperands,
72113 /* 205110 */ // GIR_Coverage, 5,
72114 /* 205110 */ GIR_Done,
72115 /* 205111 */ // Label 5992: @205111
72116 /* 205111 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5993*/ GIMT_Encode4(205125), GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode), // Rule ID 62 //
72117 /* 205118 */ // (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (MOVBE32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1)
72118 /* 205118 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE32rr),
72119 /* 205123 */ GIR_RootConstrainSelectedInstOperands,
72120 /* 205124 */ // GIR_Coverage, 62,
72121 /* 205124 */ GIR_Done,
72122 /* 205125 */ // Label 5993: @205125
72123 /* 205125 */ GIM_Reject,
72124 /* 205126 */ // Label 5991: @205126
72125 /* 205126 */ GIM_Reject,
72126 /* 205127 */ // Label 5988: @205127
72127 /* 205127 */ GIM_Reject,
72128 /* 205128 */ // Label 5980: @205128
72129 /* 205128 */ GIM_Try, /*On fail goto*//*Label 5994*/ GIMT_Encode4(205281),
72130 /* 205133 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
72131 /* 205136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72132 /* 205140 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5995*/ GIMT_Encode4(205191), GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR), // Rule ID 53 //
72133 /* 205147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72134 /* 205151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72135 /* 205155 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72136 /* 205158 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72137 /* 205162 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72138 /* 205166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72139 /* 205168 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72140 /* 205175 */ // (bswap:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MOVBE64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src1)
72141 /* 205175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64rm),
72142 /* 205178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72143 /* 205180 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72144 /* 205184 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72145 /* 205189 */ GIR_RootConstrainSelectedInstOperands,
72146 /* 205190 */ // GIR_Coverage, 53,
72147 /* 205190 */ GIR_EraseRootFromParent_Done,
72148 /* 205191 */ // Label 5995: @205191
72149 /* 205191 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5996*/ GIMT_Encode4(205242), GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode), // Rule ID 59 //
72150 /* 205198 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72151 /* 205202 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72152 /* 205206 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72153 /* 205209 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72154 /* 205213 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72155 /* 205217 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72156 /* 205219 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72157 /* 205226 */ // (bswap:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MOVBE64rm_EVEX:{ *:[i64] } addr:{ *:[iPTR] }:$src1)
72158 /* 205226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64rm_EVEX),
72159 /* 205229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72160 /* 205231 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72161 /* 205235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72162 /* 205240 */ GIR_RootConstrainSelectedInstOperands,
72163 /* 205241 */ // GIR_Coverage, 59,
72164 /* 205241 */ GIR_EraseRootFromParent_Done,
72165 /* 205242 */ // Label 5996: @205242
72166 /* 205242 */ GIM_Try, /*On fail goto*//*Label 5997*/ GIMT_Encode4(205280),
72167 /* 205247 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72168 /* 205251 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5998*/ GIMT_Encode4(205265), GIMT_Encode2(GIFBS_NoNDD_Or_NoMOVBE), // Rule ID 6 //
72169 /* 205258 */ // (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src) => (BSWAP64r:{ *:[i64] } GR64:{ *:[i64] }:$src)
72170 /* 205258 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::BSWAP64r),
72171 /* 205263 */ GIR_RootConstrainSelectedInstOperands,
72172 /* 205264 */ // GIR_Coverage, 6,
72173 /* 205264 */ GIR_Done,
72174 /* 205265 */ // Label 5998: @205265
72175 /* 205265 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 5999*/ GIMT_Encode4(205279), GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode), // Rule ID 63 //
72176 /* 205272 */ // (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (MOVBE64rr:{ *:[i64] } GR64:{ *:[i64] }:$src1)
72177 /* 205272 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE64rr),
72178 /* 205277 */ GIR_RootConstrainSelectedInstOperands,
72179 /* 205278 */ // GIR_Coverage, 63,
72180 /* 205278 */ GIR_Done,
72181 /* 205279 */ // Label 5999: @205279
72182 /* 205279 */ GIM_Reject,
72183 /* 205280 */ // Label 5997: @205280
72184 /* 205280 */ GIM_Reject,
72185 /* 205281 */ // Label 5994: @205281
72186 /* 205281 */ GIM_Reject,
72187 /* 205282 */ // Label 5981: @205282
72188 /* 205282 */ GIM_Reject,
72189 /* 205283 */ // Label 72: @205283
72190 /* 205283 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(16), /*)*//*default:*//*Label 6003*/ GIMT_Encode4(205771),
72191 /* 205294 */ /*GILLT_v16s8*//*Label 6000*/ GIMT_Encode4(205306),
72192 /* 205298 */ /*GILLT_v32s8*//*Label 6001*/ GIMT_Encode4(205501),
72193 /* 205302 */ /*GILLT_v64s8*//*Label 6002*/ GIMT_Encode4(205688),
72194 /* 205306 */ // Label 6000: @205306
72195 /* 205306 */ GIM_Try, /*On fail goto*//*Label 6004*/ GIMT_Encode4(205500),
72196 /* 205311 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
72197 /* 205314 */ GIM_Try, /*On fail goto*//*Label 6005*/ GIMT_Encode4(205393),
72198 /* 205319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72199 /* 205323 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6006*/ GIMT_Encode4(205374), GIMT_Encode2(GIFBS_HasBMM_HasVLX), // Rule ID 15414 //
72200 /* 205330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72201 /* 205334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72202 /* 205338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72203 /* 205341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72204 /* 205345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72205 /* 205349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72206 /* 205351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72207 /* 205358 */ // (bitreverse:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPBITREVBZ128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)
72208 /* 205358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPBITREVBZ128rm),
72209 /* 205361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72210 /* 205363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72211 /* 205367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72212 /* 205372 */ GIR_RootConstrainSelectedInstOperands,
72213 /* 205373 */ // GIR_Coverage, 15414,
72214 /* 205373 */ GIR_EraseRootFromParent_Done,
72215 /* 205374 */ // Label 6006: @205374
72216 /* 205374 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6007*/ GIMT_Encode4(205392), GIMT_Encode2(GIFBS_HasBMM_HasVLX), // Rule ID 15411 //
72217 /* 205381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72218 /* 205385 */ // (bitreverse:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1) => (VPBITREVBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1)
72219 /* 205385 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPBITREVBZ128rr),
72220 /* 205390 */ GIR_RootConstrainSelectedInstOperands,
72221 /* 205391 */ // GIR_Coverage, 15411,
72222 /* 205391 */ GIR_Done,
72223 /* 205392 */ // Label 6007: @205392
72224 /* 205392 */ GIM_Reject,
72225 /* 205393 */ // Label 6005: @205393
72226 /* 205393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6008*/ GIMT_Encode4(205499), GIMT_Encode2(GIFBS_HasBMM_NoVLX), // Rule ID 22455 //
72227 /* 205400 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72228 /* 205404 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72229 /* 205408 */ // (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] })
72230 /* 205408 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
72231 /* 205411 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72232 /* 205415 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72233 /* 205420 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72234 /* 205422 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
72235 /* 205425 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72236 /* 205429 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72237 /* 205434 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72238 /* 205437 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72239 /* 205441 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
72240 /* 205444 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72241 /* 205449 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72242 /* 205454 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
72243 /* 205459 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72244 /* 205462 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPBITREVBZrr),
72245 /* 205466 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72246 /* 205471 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72247 /* 205474 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72248 /* 205476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72249 /* 205479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72250 /* 205481 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
72251 /* 205488 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
72252 /* 205493 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72253 /* 205498 */ // GIR_Coverage, 22455,
72254 /* 205498 */ GIR_EraseRootFromParent_Done,
72255 /* 205499 */ // Label 6008: @205499
72256 /* 205499 */ GIM_Reject,
72257 /* 205500 */ // Label 6004: @205500
72258 /* 205500 */ GIM_Reject,
72259 /* 205501 */ // Label 6001: @205501
72260 /* 205501 */ GIM_Try, /*On fail goto*//*Label 6009*/ GIMT_Encode4(205687),
72261 /* 205506 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
72262 /* 205509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72263 /* 205513 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6010*/ GIMT_Encode4(205564), GIMT_Encode2(GIFBS_HasBMM_HasVLX), // Rule ID 15408 //
72264 /* 205520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72265 /* 205524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72266 /* 205528 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72267 /* 205531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72268 /* 205535 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72269 /* 205539 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72270 /* 205541 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72271 /* 205548 */ // (bitreverse:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPBITREVBZ256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)
72272 /* 205548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPBITREVBZ256rm),
72273 /* 205551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72274 /* 205553 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72275 /* 205557 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72276 /* 205562 */ GIR_RootConstrainSelectedInstOperands,
72277 /* 205563 */ // GIR_Coverage, 15408,
72278 /* 205563 */ GIR_EraseRootFromParent_Done,
72279 /* 205564 */ // Label 6010: @205564
72280 /* 205564 */ GIM_Try, /*On fail goto*//*Label 6011*/ GIMT_Encode4(205686),
72281 /* 205569 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72282 /* 205573 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6012*/ GIMT_Encode4(205587), GIMT_Encode2(GIFBS_HasBMM_HasVLX), // Rule ID 15405 //
72283 /* 205580 */ // (bitreverse:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1) => (VPBITREVBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1)
72284 /* 205580 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPBITREVBZ256rr),
72285 /* 205585 */ GIR_RootConstrainSelectedInstOperands,
72286 /* 205586 */ // GIR_Coverage, 15405,
72287 /* 205586 */ GIR_Done,
72288 /* 205587 */ // Label 6012: @205587
72289 /* 205587 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6013*/ GIMT_Encode4(205685), GIMT_Encode2(GIFBS_HasBMM_NoVLX), // Rule ID 22454 //
72290 /* 205594 */ // (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] })
72291 /* 205594 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
72292 /* 205597 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72293 /* 205601 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72294 /* 205606 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72295 /* 205608 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
72296 /* 205611 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72297 /* 205615 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72298 /* 205620 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72299 /* 205623 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72300 /* 205627 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
72301 /* 205630 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72302 /* 205635 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72303 /* 205640 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
72304 /* 205645 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72305 /* 205648 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPBITREVBZrr),
72306 /* 205652 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72307 /* 205657 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72308 /* 205660 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72309 /* 205662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72310 /* 205665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72311 /* 205667 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
72312 /* 205674 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
72313 /* 205679 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72314 /* 205684 */ // GIR_Coverage, 22454,
72315 /* 205684 */ GIR_EraseRootFromParent_Done,
72316 /* 205685 */ // Label 6013: @205685
72317 /* 205685 */ GIM_Reject,
72318 /* 205686 */ // Label 6011: @205686
72319 /* 205686 */ GIM_Reject,
72320 /* 205687 */ // Label 6009: @205687
72321 /* 205687 */ GIM_Reject,
72322 /* 205688 */ // Label 6002: @205688
72323 /* 205688 */ GIM_Try, /*On fail goto*//*Label 6014*/ GIMT_Encode4(205770),
72324 /* 205693 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
72325 /* 205696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72326 /* 205700 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6015*/ GIMT_Encode4(205751), GIMT_Encode2(GIFBS_HasBMM), // Rule ID 15402 //
72327 /* 205707 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72328 /* 205711 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72329 /* 205715 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72330 /* 205718 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72331 /* 205722 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72332 /* 205726 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72333 /* 205728 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72334 /* 205735 */ // (bitreverse:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPBITREVBZrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)
72335 /* 205735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPBITREVBZrm),
72336 /* 205738 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72337 /* 205740 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72338 /* 205744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72339 /* 205749 */ GIR_RootConstrainSelectedInstOperands,
72340 /* 205750 */ // GIR_Coverage, 15402,
72341 /* 205750 */ GIR_EraseRootFromParent_Done,
72342 /* 205751 */ // Label 6015: @205751
72343 /* 205751 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6016*/ GIMT_Encode4(205769), GIMT_Encode2(GIFBS_HasBMM), // Rule ID 15399 //
72344 /* 205758 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72345 /* 205762 */ // (bitreverse:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1) => (VPBITREVBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1)
72346 /* 205762 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPBITREVBZrr),
72347 /* 205767 */ GIR_RootConstrainSelectedInstOperands,
72348 /* 205768 */ // GIR_Coverage, 15399,
72349 /* 205768 */ GIR_Done,
72350 /* 205769 */ // Label 6016: @205769
72351 /* 205769 */ GIM_Reject,
72352 /* 205770 */ // Label 6014: @205770
72353 /* 205770 */ GIM_Reject,
72354 /* 205771 */ // Label 6003: @205771
72355 /* 205771 */ GIM_Reject,
72356 /* 205772 */ // Label 73: @205772
72357 /* 205772 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 6030*/ GIMT_Encode4(207899),
72358 /* 205783 */ /*GILLT_s16*//*Label 6017*/ GIMT_Encode4(205875),
72359 /* 205787 */ /*GILLT_s32*//*Label 6018*/ GIMT_Encode4(205994),
72360 /* 205791 */ /*GILLT_s64*//*Label 6019*/ GIMT_Encode4(206343),
72361 /* 205795 */ /*GILLT_s80*//*Label 6020*/ GIMT_Encode4(206692), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
72362 /* 205839 */ /*GILLT_v8s16*//*Label 6021*/ GIMT_Encode4(206728),
72363 /* 205843 */ /*GILLT_v16s16*//*Label 6022*/ GIMT_Encode4(206815),
72364 /* 205847 */ /*GILLT_v32s16*//*Label 6023*/ GIMT_Encode4(206902),
72365 /* 205851 */ /*GILLT_v4s32*//*Label 6024*/ GIMT_Encode4(206989),
72366 /* 205855 */ /*GILLT_v8s32*//*Label 6025*/ GIMT_Encode4(207185),
72367 /* 205859 */ /*GILLT_v16s32*//*Label 6026*/ GIMT_Encode4(207357),
72368 /* 205863 */ /*GILLT_v2s64*//*Label 6027*/ GIMT_Encode4(207444),
72369 /* 205867 */ /*GILLT_v4s64*//*Label 6028*/ GIMT_Encode4(207640),
72370 /* 205871 */ /*GILLT_v8s64*//*Label 6029*/ GIMT_Encode4(207812),
72371 /* 205875 */ // Label 6017: @205875
72372 /* 205875 */ GIM_Try, /*On fail goto*//*Label 6031*/ GIMT_Encode4(205993),
72373 /* 205880 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
72374 /* 205883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72375 /* 205887 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6032*/ GIMT_Encode4(205955), GIMT_Encode2(GIFBS_HasFP16_OptForSize), // Rule ID 21569 //
72376 /* 205894 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72377 /* 205898 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72378 /* 205902 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72379 /* 205905 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72380 /* 205909 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72381 /* 205913 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72382 /* 205915 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72383 /* 205922 */ // (fsqrt:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSHZm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
72384 /* 205922 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
72385 /* 205925 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72386 /* 205929 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72387 /* 205934 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72388 /* 205936 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZm),
72389 /* 205939 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72390 /* 205941 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72391 /* 205944 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72392 /* 205948 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72393 /* 205953 */ GIR_RootConstrainSelectedInstOperands,
72394 /* 205954 */ // GIR_Coverage, 21569,
72395 /* 205954 */ GIR_EraseRootFromParent_Done,
72396 /* 205955 */ // Label 6032: @205955
72397 /* 205955 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6033*/ GIMT_Encode4(205992), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 21567 //
72398 /* 205962 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72399 /* 205966 */ // (fsqrt:{ *:[f16] } FR16X:{ *:[f16] }:$src) => (VSQRTSHZr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR16X:{ *:[f16] }:$src)
72400 /* 205966 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
72401 /* 205969 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72402 /* 205973 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72403 /* 205978 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72404 /* 205980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZr),
72405 /* 205983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72406 /* 205985 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72407 /* 205988 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72408 /* 205990 */ GIR_RootConstrainSelectedInstOperands,
72409 /* 205991 */ // GIR_Coverage, 21567,
72410 /* 205991 */ GIR_EraseRootFromParent_Done,
72411 /* 205992 */ // Label 6033: @205992
72412 /* 205992 */ GIM_Reject,
72413 /* 205993 */ // Label 6031: @205993
72414 /* 205993 */ GIM_Reject,
72415 /* 205994 */ // Label 6018: @205994
72416 /* 205994 */ GIM_Try, /*On fail goto*//*Label 6034*/ GIMT_Encode4(206342),
72417 /* 205999 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
72418 /* 206002 */ GIM_Try, /*On fail goto*//*Label 6035*/ GIMT_Encode4(206131),
72419 /* 206007 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
72420 /* 206011 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6036*/ GIMT_Encode4(206062), GIMT_Encode2(GIFBS_OptForSize_UseSSE1), // Rule ID 2430 //
72421 /* 206018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72422 /* 206022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72423 /* 206026 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72424 /* 206029 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72425 /* 206033 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72426 /* 206037 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72427 /* 206039 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72428 /* 206046 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSSm:{ *:[f32] } addr:{ *:[iPTR] }:$src1)
72429 /* 206046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSSm),
72430 /* 206049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72431 /* 206051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72432 /* 206055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72433 /* 206060 */ GIR_RootConstrainSelectedInstOperands,
72434 /* 206061 */ // GIR_Coverage, 2430,
72435 /* 206061 */ GIR_EraseRootFromParent_Done,
72436 /* 206062 */ // Label 6036: @206062
72437 /* 206062 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6037*/ GIMT_Encode4(206130), GIMT_Encode2(GIFBS_OptForSize_UseAVX), // Rule ID 18370 //
72438 /* 206069 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72439 /* 206073 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72440 /* 206077 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72441 /* 206080 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72442 /* 206084 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72443 /* 206088 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72444 /* 206090 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72445 /* 206097 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
72446 /* 206097 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
72447 /* 206100 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72448 /* 206104 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72449 /* 206109 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72450 /* 206111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSm),
72451 /* 206114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72452 /* 206116 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72453 /* 206119 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72454 /* 206123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72455 /* 206128 */ GIR_RootConstrainSelectedInstOperands,
72456 /* 206129 */ // GIR_Coverage, 18370,
72457 /* 206129 */ GIR_EraseRootFromParent_Done,
72458 /* 206130 */ // Label 6037: @206130
72459 /* 206130 */ GIM_Reject,
72460 /* 206131 */ // Label 6035: @206131
72461 /* 206131 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6038*/ GIMT_Encode4(206203), GIMT_Encode2(GIFBS_HasAVX512_OptForSize), // Rule ID 21573 //
72462 /* 206138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
72463 /* 206142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72464 /* 206146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72465 /* 206150 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72466 /* 206153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72467 /* 206157 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72468 /* 206161 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72469 /* 206163 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72470 /* 206170 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSZm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
72471 /* 206170 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
72472 /* 206173 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72473 /* 206177 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72474 /* 206182 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72475 /* 206184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZm),
72476 /* 206187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72477 /* 206189 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72478 /* 206192 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72479 /* 206196 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72480 /* 206201 */ GIR_RootConstrainSelectedInstOperands,
72481 /* 206202 */ // GIR_Coverage, 21573,
72482 /* 206202 */ GIR_EraseRootFromParent_Done,
72483 /* 206203 */ // Label 6038: @206203
72484 /* 206203 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6039*/ GIMT_Encode4(206235), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1025 //
72485 /* 206210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
72486 /* 206214 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
72487 /* 206218 */ // (fsqrt:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (SQRT_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
72488 /* 206218 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp32),
72489 /* 206223 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72490 /* 206229 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
72491 /* 206233 */ GIR_RootConstrainSelectedInstOperands,
72492 /* 206234 */ // GIR_Coverage, 1025,
72493 /* 206234 */ GIR_Done,
72494 /* 206235 */ // Label 6039: @206235
72495 /* 206235 */ GIM_Try, /*On fail goto*//*Label 6040*/ GIMT_Encode4(206300),
72496 /* 206240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
72497 /* 206244 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
72498 /* 206248 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6041*/ GIMT_Encode4(206266), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2428 //
72499 /* 206255 */ // (fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src1) => (SQRTSSr:{ *:[f32] } FR32:{ *:[f32] }:$src1)
72500 /* 206255 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSSr),
72501 /* 206260 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72502 /* 206264 */ GIR_RootConstrainSelectedInstOperands,
72503 /* 206265 */ // GIR_Coverage, 2428,
72504 /* 206265 */ GIR_Done,
72505 /* 206266 */ // Label 6041: @206266
72506 /* 206266 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6042*/ GIMT_Encode4(206299), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18368 //
72507 /* 206273 */ // (fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src) => (VSQRTSSr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32:{ *:[f32] }:$src)
72508 /* 206273 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
72509 /* 206276 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72510 /* 206280 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72511 /* 206285 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72512 /* 206287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSr),
72513 /* 206290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72514 /* 206292 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72515 /* 206295 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72516 /* 206297 */ GIR_RootConstrainSelectedInstOperands,
72517 /* 206298 */ // GIR_Coverage, 18368,
72518 /* 206298 */ GIR_EraseRootFromParent_Done,
72519 /* 206299 */ // Label 6042: @206299
72520 /* 206299 */ GIM_Reject,
72521 /* 206300 */ // Label 6040: @206300
72522 /* 206300 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6043*/ GIMT_Encode4(206341), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21571 //
72523 /* 206307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
72524 /* 206311 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
72525 /* 206315 */ // (fsqrt:{ *:[f32] } FR32X:{ *:[f32] }:$src) => (VSQRTSSZr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32X:{ *:[f32] }:$src)
72526 /* 206315 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
72527 /* 206318 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72528 /* 206322 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72529 /* 206327 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72530 /* 206329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZr),
72531 /* 206332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72532 /* 206334 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72533 /* 206337 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72534 /* 206339 */ GIR_RootConstrainSelectedInstOperands,
72535 /* 206340 */ // GIR_Coverage, 21571,
72536 /* 206340 */ GIR_EraseRootFromParent_Done,
72537 /* 206341 */ // Label 6043: @206341
72538 /* 206341 */ GIM_Reject,
72539 /* 206342 */ // Label 6034: @206342
72540 /* 206342 */ GIM_Reject,
72541 /* 206343 */ // Label 6019: @206343
72542 /* 206343 */ GIM_Try, /*On fail goto*//*Label 6044*/ GIMT_Encode4(206691),
72543 /* 206348 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
72544 /* 206351 */ GIM_Try, /*On fail goto*//*Label 6045*/ GIMT_Encode4(206480),
72545 /* 206356 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
72546 /* 206360 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6046*/ GIMT_Encode4(206411), GIMT_Encode2(GIFBS_OptForSize_UseSSE2), // Rule ID 2446 //
72547 /* 206367 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72548 /* 206371 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72549 /* 206375 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72550 /* 206378 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72551 /* 206382 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72552 /* 206386 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72553 /* 206388 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72554 /* 206395 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSDm:{ *:[f64] } addr:{ *:[iPTR] }:$src1)
72555 /* 206395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSDm),
72556 /* 206398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72557 /* 206400 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72558 /* 206404 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72559 /* 206409 */ GIR_RootConstrainSelectedInstOperands,
72560 /* 206410 */ // GIR_Coverage, 2446,
72561 /* 206410 */ GIR_EraseRootFromParent_Done,
72562 /* 206411 */ // Label 6046: @206411
72563 /* 206411 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6047*/ GIMT_Encode4(206479), GIMT_Encode2(GIFBS_OptForSize_UseAVX), // Rule ID 18374 //
72564 /* 206418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72565 /* 206422 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72566 /* 206426 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72567 /* 206429 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72568 /* 206433 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72569 /* 206437 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72570 /* 206439 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72571 /* 206446 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
72572 /* 206446 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
72573 /* 206449 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72574 /* 206453 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72575 /* 206458 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72576 /* 206460 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDm),
72577 /* 206463 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72578 /* 206465 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72579 /* 206468 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72580 /* 206472 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72581 /* 206477 */ GIR_RootConstrainSelectedInstOperands,
72582 /* 206478 */ // GIR_Coverage, 18374,
72583 /* 206478 */ GIR_EraseRootFromParent_Done,
72584 /* 206479 */ // Label 6047: @206479
72585 /* 206479 */ GIM_Reject,
72586 /* 206480 */ // Label 6045: @206480
72587 /* 206480 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6048*/ GIMT_Encode4(206552), GIMT_Encode2(GIFBS_HasAVX512_OptForSize), // Rule ID 21577 //
72588 /* 206487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
72589 /* 206491 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72590 /* 206495 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72591 /* 206499 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72592 /* 206502 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72593 /* 206506 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72594 /* 206510 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72595 /* 206512 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72596 /* 206519 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDZm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
72597 /* 206519 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
72598 /* 206522 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72599 /* 206526 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72600 /* 206531 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72601 /* 206533 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZm),
72602 /* 206536 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72603 /* 206538 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72604 /* 206541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72605 /* 206545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72606 /* 206550 */ GIR_RootConstrainSelectedInstOperands,
72607 /* 206551 */ // GIR_Coverage, 21577,
72608 /* 206551 */ GIR_EraseRootFromParent_Done,
72609 /* 206552 */ // Label 6048: @206552
72610 /* 206552 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6049*/ GIMT_Encode4(206584), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1027 //
72611 /* 206559 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
72612 /* 206563 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
72613 /* 206567 */ // (fsqrt:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (SQRT_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
72614 /* 206567 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp64),
72615 /* 206572 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72616 /* 206578 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
72617 /* 206582 */ GIR_RootConstrainSelectedInstOperands,
72618 /* 206583 */ // GIR_Coverage, 1027,
72619 /* 206583 */ GIR_Done,
72620 /* 206584 */ // Label 6049: @206584
72621 /* 206584 */ GIM_Try, /*On fail goto*//*Label 6050*/ GIMT_Encode4(206649),
72622 /* 206589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
72623 /* 206593 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
72624 /* 206597 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6051*/ GIMT_Encode4(206615), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2444 //
72625 /* 206604 */ // (fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src1) => (SQRTSDr:{ *:[f64] } FR64:{ *:[f64] }:$src1)
72626 /* 206604 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSDr),
72627 /* 206609 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72628 /* 206613 */ GIR_RootConstrainSelectedInstOperands,
72629 /* 206614 */ // GIR_Coverage, 2444,
72630 /* 206614 */ GIR_Done,
72631 /* 206615 */ // Label 6051: @206615
72632 /* 206615 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6052*/ GIMT_Encode4(206648), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18372 //
72633 /* 206622 */ // (fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src) => (VSQRTSDr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64:{ *:[f64] }:$src)
72634 /* 206622 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
72635 /* 206625 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72636 /* 206629 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72637 /* 206634 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72638 /* 206636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDr),
72639 /* 206639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72640 /* 206641 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72641 /* 206644 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72642 /* 206646 */ GIR_RootConstrainSelectedInstOperands,
72643 /* 206647 */ // GIR_Coverage, 18372,
72644 /* 206647 */ GIR_EraseRootFromParent_Done,
72645 /* 206648 */ // Label 6052: @206648
72646 /* 206648 */ GIM_Reject,
72647 /* 206649 */ // Label 6050: @206649
72648 /* 206649 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6053*/ GIMT_Encode4(206690), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21575 //
72649 /* 206656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
72650 /* 206660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
72651 /* 206664 */ // (fsqrt:{ *:[f64] } FR64X:{ *:[f64] }:$src) => (VSQRTSDZr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64X:{ *:[f64] }:$src)
72652 /* 206664 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
72653 /* 206667 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72654 /* 206671 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72655 /* 206676 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72656 /* 206678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZr),
72657 /* 206681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72658 /* 206683 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72659 /* 206686 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72660 /* 206688 */ GIR_RootConstrainSelectedInstOperands,
72661 /* 206689 */ // GIR_Coverage, 21575,
72662 /* 206689 */ GIR_EraseRootFromParent_Done,
72663 /* 206690 */ // Label 6053: @206690
72664 /* 206690 */ GIM_Reject,
72665 /* 206691 */ // Label 6044: @206691
72666 /* 206691 */ GIM_Reject,
72667 /* 206692 */ // Label 6020: @206692
72668 /* 206692 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6054*/ GIMT_Encode4(206727), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1029 //
72669 /* 206699 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
72670 /* 206702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
72671 /* 206706 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
72672 /* 206710 */ // (fsqrt:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (SQRT_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
72673 /* 206710 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp80),
72674 /* 206715 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72675 /* 206721 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
72676 /* 206725 */ GIR_RootConstrainSelectedInstOperands,
72677 /* 206726 */ // GIR_Coverage, 1029,
72678 /* 206726 */ GIR_Done,
72679 /* 206727 */ // Label 6054: @206727
72680 /* 206727 */ GIM_Reject,
72681 /* 206728 */ // Label 6021: @206728
72682 /* 206728 */ GIM_Try, /*On fail goto*//*Label 6055*/ GIMT_Encode4(206814),
72683 /* 206733 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
72684 /* 206736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72685 /* 206740 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6056*/ GIMT_Encode4(206791), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 12016 //
72686 /* 206747 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72687 /* 206751 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72688 /* 206755 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72689 /* 206758 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72690 /* 206762 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72691 /* 206766 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72692 /* 206768 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72693 /* 206775 */ // (fsqrt:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ128m:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
72694 /* 206775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128m),
72695 /* 206778 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72696 /* 206780 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72697 /* 206784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72698 /* 206789 */ GIR_RootConstrainSelectedInstOperands,
72699 /* 206790 */ // GIR_Coverage, 12016,
72700 /* 206790 */ GIR_EraseRootFromParent_Done,
72701 /* 206791 */ // Label 6056: @206791
72702 /* 206791 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6057*/ GIMT_Encode4(206813), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 12012 //
72703 /* 206798 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72704 /* 206802 */ // (fsqrt:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src) => (VSQRTPHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src)
72705 /* 206802 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128r),
72706 /* 206807 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72707 /* 206811 */ GIR_RootConstrainSelectedInstOperands,
72708 /* 206812 */ // GIR_Coverage, 12012,
72709 /* 206812 */ GIR_Done,
72710 /* 206813 */ // Label 6057: @206813
72711 /* 206813 */ GIM_Reject,
72712 /* 206814 */ // Label 6055: @206814
72713 /* 206814 */ GIM_Reject,
72714 /* 206815 */ // Label 6022: @206815
72715 /* 206815 */ GIM_Try, /*On fail goto*//*Label 6058*/ GIMT_Encode4(206901),
72716 /* 206820 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
72717 /* 206823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72718 /* 206827 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6059*/ GIMT_Encode4(206878), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 12028 //
72719 /* 206834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72720 /* 206838 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72721 /* 206842 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72722 /* 206845 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72723 /* 206849 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72724 /* 206853 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72725 /* 206855 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72726 /* 206862 */ // (fsqrt:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ256m:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
72727 /* 206862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256m),
72728 /* 206865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72729 /* 206867 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72730 /* 206871 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72731 /* 206876 */ GIR_RootConstrainSelectedInstOperands,
72732 /* 206877 */ // GIR_Coverage, 12028,
72733 /* 206877 */ GIR_EraseRootFromParent_Done,
72734 /* 206878 */ // Label 6059: @206878
72735 /* 206878 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6060*/ GIMT_Encode4(206900), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 12024 //
72736 /* 206885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72737 /* 206889 */ // (fsqrt:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src) => (VSQRTPHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src)
72738 /* 206889 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256r),
72739 /* 206894 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72740 /* 206898 */ GIR_RootConstrainSelectedInstOperands,
72741 /* 206899 */ // GIR_Coverage, 12024,
72742 /* 206899 */ GIR_Done,
72743 /* 206900 */ // Label 6060: @206900
72744 /* 206900 */ GIM_Reject,
72745 /* 206901 */ // Label 6058: @206901
72746 /* 206901 */ GIM_Reject,
72747 /* 206902 */ // Label 6023: @206902
72748 /* 206902 */ GIM_Try, /*On fail goto*//*Label 6061*/ GIMT_Encode4(206988),
72749 /* 206907 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
72750 /* 206910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72751 /* 206914 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6062*/ GIMT_Encode4(206965), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 12004 //
72752 /* 206921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72753 /* 206925 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72754 /* 206929 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72755 /* 206932 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72756 /* 206936 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72757 /* 206940 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72758 /* 206942 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72759 /* 206949 */ // (fsqrt:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
72760 /* 206949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZm),
72761 /* 206952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72762 /* 206954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72763 /* 206958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72764 /* 206963 */ GIR_RootConstrainSelectedInstOperands,
72765 /* 206964 */ // GIR_Coverage, 12004,
72766 /* 206964 */ GIR_EraseRootFromParent_Done,
72767 /* 206965 */ // Label 6062: @206965
72768 /* 206965 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6063*/ GIMT_Encode4(206987), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 12000 //
72769 /* 206972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72770 /* 206976 */ // (fsqrt:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src) => (VSQRTPHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src)
72771 /* 206976 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZr),
72772 /* 206981 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72773 /* 206985 */ GIR_RootConstrainSelectedInstOperands,
72774 /* 206986 */ // GIR_Coverage, 12000,
72775 /* 206986 */ GIR_Done,
72776 /* 206987 */ // Label 6063: @206987
72777 /* 206987 */ GIM_Reject,
72778 /* 206988 */ // Label 6061: @206988
72779 /* 206988 */ GIM_Reject,
72780 /* 206989 */ // Label 6024: @206989
72781 /* 206989 */ GIM_Try, /*On fail goto*//*Label 6064*/ GIMT_Encode4(207184),
72782 /* 206994 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
72783 /* 206997 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6065*/ GIMT_Encode4(207052), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2434 //
72784 /* 207004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
72785 /* 207008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72786 /* 207012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72787 /* 207016 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72788 /* 207019 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72789 /* 207023 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72790 /* 207027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72791 /* 207029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72792 /* 207036 */ // (fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
72793 /* 207036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSm),
72794 /* 207039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72795 /* 207041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72796 /* 207045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72797 /* 207050 */ GIR_RootConstrainSelectedInstOperands,
72798 /* 207051 */ // GIR_Coverage, 2434,
72799 /* 207051 */ GIR_EraseRootFromParent_Done,
72800 /* 207052 */ // Label 6065: @207052
72801 /* 207052 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6066*/ GIMT_Encode4(207107), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12064 //
72802 /* 207059 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72803 /* 207063 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72804 /* 207067 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72805 /* 207071 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72806 /* 207074 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72807 /* 207078 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72808 /* 207082 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72809 /* 207084 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72810 /* 207091 */ // (fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ128m:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
72811 /* 207091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128m),
72812 /* 207094 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72813 /* 207096 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72814 /* 207100 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72815 /* 207105 */ GIR_RootConstrainSelectedInstOperands,
72816 /* 207106 */ // GIR_Coverage, 12064,
72817 /* 207106 */ GIR_EraseRootFromParent_Done,
72818 /* 207107 */ // Label 6066: @207107
72819 /* 207107 */ GIM_Try, /*On fail goto*//*Label 6067*/ GIMT_Encode4(207157),
72820 /* 207112 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
72821 /* 207116 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
72822 /* 207120 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6068*/ GIMT_Encode4(207138), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2432 //
72823 /* 207127 */ // (fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (VSQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
72824 /* 207127 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSr),
72825 /* 207132 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72826 /* 207136 */ GIR_RootConstrainSelectedInstOperands,
72827 /* 207137 */ // GIR_Coverage, 2432,
72828 /* 207137 */ GIR_Done,
72829 /* 207138 */ // Label 6068: @207138
72830 /* 207138 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6069*/ GIMT_Encode4(207156), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2440 //
72831 /* 207145 */ // (fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (SQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
72832 /* 207145 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPSr),
72833 /* 207150 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72834 /* 207154 */ GIR_RootConstrainSelectedInstOperands,
72835 /* 207155 */ // GIR_Coverage, 2440,
72836 /* 207155 */ GIR_Done,
72837 /* 207156 */ // Label 6069: @207156
72838 /* 207156 */ GIM_Reject,
72839 /* 207157 */ // Label 6067: @207157
72840 /* 207157 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6070*/ GIMT_Encode4(207183), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12060 //
72841 /* 207164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72842 /* 207168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72843 /* 207172 */ // (fsqrt:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src) => (VSQRTPSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src)
72844 /* 207172 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128r),
72845 /* 207177 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72846 /* 207181 */ GIR_RootConstrainSelectedInstOperands,
72847 /* 207182 */ // GIR_Coverage, 12060,
72848 /* 207182 */ GIR_Done,
72849 /* 207183 */ // Label 6070: @207183
72850 /* 207183 */ GIM_Reject,
72851 /* 207184 */ // Label 6064: @207184
72852 /* 207184 */ GIM_Reject,
72853 /* 207185 */ // Label 6025: @207185
72854 /* 207185 */ GIM_Try, /*On fail goto*//*Label 6071*/ GIMT_Encode4(207356),
72855 /* 207190 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
72856 /* 207193 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6072*/ GIMT_Encode4(207248), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2438 //
72857 /* 207200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
72858 /* 207204 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72859 /* 207208 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72860 /* 207212 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72861 /* 207215 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72862 /* 207219 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72863 /* 207223 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72864 /* 207225 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72865 /* 207232 */ // (fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSYm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
72866 /* 207232 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYm),
72867 /* 207235 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72868 /* 207237 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72869 /* 207241 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72870 /* 207246 */ GIR_RootConstrainSelectedInstOperands,
72871 /* 207247 */ // GIR_Coverage, 2438,
72872 /* 207247 */ GIR_EraseRootFromParent_Done,
72873 /* 207248 */ // Label 6072: @207248
72874 /* 207248 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6073*/ GIMT_Encode4(207303), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12076 //
72875 /* 207255 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72876 /* 207259 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72877 /* 207263 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72878 /* 207267 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72879 /* 207270 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72880 /* 207274 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72881 /* 207278 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72882 /* 207280 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72883 /* 207287 */ // (fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ256m:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
72884 /* 207287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256m),
72885 /* 207290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72886 /* 207292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72887 /* 207296 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72888 /* 207301 */ GIR_RootConstrainSelectedInstOperands,
72889 /* 207302 */ // GIR_Coverage, 12076,
72890 /* 207302 */ GIR_EraseRootFromParent_Done,
72891 /* 207303 */ // Label 6073: @207303
72892 /* 207303 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6074*/ GIMT_Encode4(207329), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2436 //
72893 /* 207310 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
72894 /* 207314 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
72895 /* 207318 */ // (fsqrt:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src) => (VSQRTPSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
72896 /* 207318 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYr),
72897 /* 207323 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72898 /* 207327 */ GIR_RootConstrainSelectedInstOperands,
72899 /* 207328 */ // GIR_Coverage, 2436,
72900 /* 207328 */ GIR_Done,
72901 /* 207329 */ // Label 6074: @207329
72902 /* 207329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6075*/ GIMT_Encode4(207355), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12072 //
72903 /* 207336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72904 /* 207340 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72905 /* 207344 */ // (fsqrt:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src) => (VSQRTPSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src)
72906 /* 207344 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256r),
72907 /* 207349 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72908 /* 207353 */ GIR_RootConstrainSelectedInstOperands,
72909 /* 207354 */ // GIR_Coverage, 12072,
72910 /* 207354 */ GIR_Done,
72911 /* 207355 */ // Label 6075: @207355
72912 /* 207355 */ GIM_Reject,
72913 /* 207356 */ // Label 6071: @207356
72914 /* 207356 */ GIM_Reject,
72915 /* 207357 */ // Label 6026: @207357
72916 /* 207357 */ GIM_Try, /*On fail goto*//*Label 6076*/ GIMT_Encode4(207443),
72917 /* 207362 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
72918 /* 207365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72919 /* 207369 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6077*/ GIMT_Encode4(207420), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12040 //
72920 /* 207376 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72921 /* 207380 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72922 /* 207384 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72923 /* 207387 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72924 /* 207391 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72925 /* 207395 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72926 /* 207397 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72927 /* 207404 */ // (fsqrt:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
72928 /* 207404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZm),
72929 /* 207407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72930 /* 207409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72931 /* 207413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72932 /* 207418 */ GIR_RootConstrainSelectedInstOperands,
72933 /* 207419 */ // GIR_Coverage, 12040,
72934 /* 207419 */ GIR_EraseRootFromParent_Done,
72935 /* 207420 */ // Label 6077: @207420
72936 /* 207420 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6078*/ GIMT_Encode4(207442), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12036 //
72937 /* 207427 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72938 /* 207431 */ // (fsqrt:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src) => (VSQRTPSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src)
72939 /* 207431 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZr),
72940 /* 207436 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72941 /* 207440 */ GIR_RootConstrainSelectedInstOperands,
72942 /* 207441 */ // GIR_Coverage, 12036,
72943 /* 207441 */ GIR_Done,
72944 /* 207442 */ // Label 6078: @207442
72945 /* 207442 */ GIM_Reject,
72946 /* 207443 */ // Label 6076: @207443
72947 /* 207443 */ GIM_Reject,
72948 /* 207444 */ // Label 6027: @207444
72949 /* 207444 */ GIM_Try, /*On fail goto*//*Label 6079*/ GIMT_Encode4(207639),
72950 /* 207449 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
72951 /* 207452 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6080*/ GIMT_Encode4(207507), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2450 //
72952 /* 207459 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
72953 /* 207463 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72954 /* 207467 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72955 /* 207471 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72956 /* 207474 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72957 /* 207478 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72958 /* 207482 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72959 /* 207484 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72960 /* 207491 */ // (fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
72961 /* 207491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDm),
72962 /* 207494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72963 /* 207496 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72964 /* 207500 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72965 /* 207505 */ GIR_RootConstrainSelectedInstOperands,
72966 /* 207506 */ // GIR_Coverage, 2450,
72967 /* 207506 */ GIR_EraseRootFromParent_Done,
72968 /* 207507 */ // Label 6080: @207507
72969 /* 207507 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6081*/ GIMT_Encode4(207562), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12088 //
72970 /* 207514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72971 /* 207518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72972 /* 207522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72973 /* 207526 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72974 /* 207529 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72975 /* 207533 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72976 /* 207537 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72977 /* 207539 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72978 /* 207546 */ // (fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ128m:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
72979 /* 207546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128m),
72980 /* 207549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72981 /* 207551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72982 /* 207555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72983 /* 207560 */ GIR_RootConstrainSelectedInstOperands,
72984 /* 207561 */ // GIR_Coverage, 12088,
72985 /* 207561 */ GIR_EraseRootFromParent_Done,
72986 /* 207562 */ // Label 6081: @207562
72987 /* 207562 */ GIM_Try, /*On fail goto*//*Label 6082*/ GIMT_Encode4(207612),
72988 /* 207567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
72989 /* 207571 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
72990 /* 207575 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6083*/ GIMT_Encode4(207593), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2448 //
72991 /* 207582 */ // (fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (VSQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
72992 /* 207582 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDr),
72993 /* 207587 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
72994 /* 207591 */ GIR_RootConstrainSelectedInstOperands,
72995 /* 207592 */ // GIR_Coverage, 2448,
72996 /* 207592 */ GIR_Done,
72997 /* 207593 */ // Label 6083: @207593
72998 /* 207593 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6084*/ GIMT_Encode4(207611), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2456 //
72999 /* 207600 */ // (fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (SQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
73000 /* 207600 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPDr),
73001 /* 207605 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73002 /* 207609 */ GIR_RootConstrainSelectedInstOperands,
73003 /* 207610 */ // GIR_Coverage, 2456,
73004 /* 207610 */ GIR_Done,
73005 /* 207611 */ // Label 6084: @207611
73006 /* 207611 */ GIM_Reject,
73007 /* 207612 */ // Label 6082: @207612
73008 /* 207612 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6085*/ GIMT_Encode4(207638), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12084 //
73009 /* 207619 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73010 /* 207623 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73011 /* 207627 */ // (fsqrt:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src) => (VSQRTPDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src)
73012 /* 207627 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128r),
73013 /* 207632 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73014 /* 207636 */ GIR_RootConstrainSelectedInstOperands,
73015 /* 207637 */ // GIR_Coverage, 12084,
73016 /* 207637 */ GIR_Done,
73017 /* 207638 */ // Label 6085: @207638
73018 /* 207638 */ GIM_Reject,
73019 /* 207639 */ // Label 6079: @207639
73020 /* 207639 */ GIM_Reject,
73021 /* 207640 */ // Label 6028: @207640
73022 /* 207640 */ GIM_Try, /*On fail goto*//*Label 6086*/ GIMT_Encode4(207811),
73023 /* 207645 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
73024 /* 207648 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6087*/ GIMT_Encode4(207703), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2454 //
73025 /* 207655 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
73026 /* 207659 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73027 /* 207663 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73028 /* 207667 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73029 /* 207670 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73030 /* 207674 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73031 /* 207678 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73032 /* 207680 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73033 /* 207687 */ // (fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDYm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
73034 /* 207687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYm),
73035 /* 207690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73036 /* 207692 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73037 /* 207696 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73038 /* 207701 */ GIR_RootConstrainSelectedInstOperands,
73039 /* 207702 */ // GIR_Coverage, 2454,
73040 /* 207702 */ GIR_EraseRootFromParent_Done,
73041 /* 207703 */ // Label 6087: @207703
73042 /* 207703 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6088*/ GIMT_Encode4(207758), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12100 //
73043 /* 207710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73044 /* 207714 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73045 /* 207718 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73046 /* 207722 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73047 /* 207725 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73048 /* 207729 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73049 /* 207733 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73050 /* 207735 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73051 /* 207742 */ // (fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ256m:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
73052 /* 207742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256m),
73053 /* 207745 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73054 /* 207747 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73055 /* 207751 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73056 /* 207756 */ GIR_RootConstrainSelectedInstOperands,
73057 /* 207757 */ // GIR_Coverage, 12100,
73058 /* 207757 */ GIR_EraseRootFromParent_Done,
73059 /* 207758 */ // Label 6088: @207758
73060 /* 207758 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6089*/ GIMT_Encode4(207784), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2452 //
73061 /* 207765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
73062 /* 207769 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
73063 /* 207773 */ // (fsqrt:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src) => (VSQRTPDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
73064 /* 207773 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYr),
73065 /* 207778 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73066 /* 207782 */ GIR_RootConstrainSelectedInstOperands,
73067 /* 207783 */ // GIR_Coverage, 2452,
73068 /* 207783 */ GIR_Done,
73069 /* 207784 */ // Label 6089: @207784
73070 /* 207784 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6090*/ GIMT_Encode4(207810), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12096 //
73071 /* 207791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73072 /* 207795 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73073 /* 207799 */ // (fsqrt:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src) => (VSQRTPDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src)
73074 /* 207799 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256r),
73075 /* 207804 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73076 /* 207808 */ GIR_RootConstrainSelectedInstOperands,
73077 /* 207809 */ // GIR_Coverage, 12096,
73078 /* 207809 */ GIR_Done,
73079 /* 207810 */ // Label 6090: @207810
73080 /* 207810 */ GIM_Reject,
73081 /* 207811 */ // Label 6086: @207811
73082 /* 207811 */ GIM_Reject,
73083 /* 207812 */ // Label 6029: @207812
73084 /* 207812 */ GIM_Try, /*On fail goto*//*Label 6091*/ GIMT_Encode4(207898),
73085 /* 207817 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
73086 /* 207820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73087 /* 207824 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6092*/ GIMT_Encode4(207875), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12052 //
73088 /* 207831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73089 /* 207835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73090 /* 207839 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73091 /* 207842 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73092 /* 207846 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73093 /* 207850 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73094 /* 207852 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73095 /* 207859 */ // (fsqrt:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
73096 /* 207859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZm),
73097 /* 207862 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73098 /* 207864 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73099 /* 207868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73100 /* 207873 */ GIR_RootConstrainSelectedInstOperands,
73101 /* 207874 */ // GIR_Coverage, 12052,
73102 /* 207874 */ GIR_EraseRootFromParent_Done,
73103 /* 207875 */ // Label 6092: @207875
73104 /* 207875 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6093*/ GIMT_Encode4(207897), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12048 //
73105 /* 207882 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73106 /* 207886 */ // (fsqrt:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src) => (VSQRTPDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src)
73107 /* 207886 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZr),
73108 /* 207891 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73109 /* 207895 */ GIR_RootConstrainSelectedInstOperands,
73110 /* 207896 */ // GIR_Coverage, 12048,
73111 /* 207896 */ GIR_Done,
73112 /* 207897 */ // Label 6093: @207897
73113 /* 207897 */ GIM_Reject,
73114 /* 207898 */ // Label 6091: @207898
73115 /* 207898 */ GIM_Reject,
73116 /* 207899 */ // Label 6030: @207899
73117 /* 207899 */ GIM_Reject,
73118 /* 207900 */ // Label 74: @207900
73119 /* 207900 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 6107*/ GIMT_Encode4(212658),
73120 /* 207911 */ /*GILLT_s16*//*Label 6094*/ GIMT_Encode4(208003),
73121 /* 207915 */ /*GILLT_s32*//*Label 6095*/ GIMT_Encode4(208162),
73122 /* 207919 */ /*GILLT_s64*//*Label 6096*/ GIMT_Encode4(209021),
73123 /* 207923 */ /*GILLT_s80*//*Label 6097*/ GIMT_Encode4(210006), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
73124 /* 207967 */ /*GILLT_v8s16*//*Label 6098*/ GIMT_Encode4(210547),
73125 /* 207971 */ /*GILLT_v16s16*//*Label 6099*/ GIMT_Encode4(210706),
73126 /* 207975 */ /*GILLT_v32s16*//*Label 6100*/ GIMT_Encode4(210865),
73127 /* 207979 */ /*GILLT_v4s32*//*Label 6101*/ GIMT_Encode4(211024),
73128 /* 207983 */ /*GILLT_v8s32*//*Label 6102*/ GIMT_Encode4(211365),
73129 /* 207987 */ /*GILLT_v16s32*//*Label 6103*/ GIMT_Encode4(211682),
73130 /* 207991 */ /*GILLT_v2s64*//*Label 6104*/ GIMT_Encode4(211841),
73131 /* 207995 */ /*GILLT_v4s64*//*Label 6105*/ GIMT_Encode4(212182),
73132 /* 207999 */ /*GILLT_v8s64*//*Label 6106*/ GIMT_Encode4(212499),
73133 /* 208003 */ // Label 6094: @208003
73134 /* 208003 */ GIM_Try, /*On fail goto*//*Label 6108*/ GIMT_Encode4(208161),
73135 /* 208008 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
73136 /* 208011 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
73137 /* 208014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73138 /* 208018 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6109*/ GIMT_Encode4(208075), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 24489 //
73139 /* 208025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73140 /* 208029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73141 /* 208033 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73142 /* 208036 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73143 /* 208040 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73144 /* 208044 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73145 /* 208048 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73146 /* 208050 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73147 /* 208057 */ // (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)
73148 /* 208057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
73149 /* 208060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73150 /* 208062 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73151 /* 208064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73152 /* 208068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73153 /* 208073 */ GIR_RootConstrainSelectedInstOperands,
73154 /* 208074 */ // GIR_Coverage, 24489,
73155 /* 208074 */ GIR_EraseRootFromParent_Done,
73156 /* 208075 */ // Label 6109: @208075
73157 /* 208075 */ GIM_Try, /*On fail goto*//*Label 6110*/ GIMT_Encode4(208160),
73158 /* 208080 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73159 /* 208084 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6111*/ GIMT_Encode4(208137), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 5955 //
73160 /* 208091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73161 /* 208095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73162 /* 208099 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73163 /* 208102 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73164 /* 208106 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73165 /* 208110 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73166 /* 208112 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73167 /* 208119 */ // (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)
73168 /* 208119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
73169 /* 208122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73170 /* 208124 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73171 /* 208126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73172 /* 208130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73173 /* 208135 */ GIR_RootConstrainSelectedInstOperands,
73174 /* 208136 */ // GIR_Coverage, 5955,
73175 /* 208136 */ GIR_EraseRootFromParent_Done,
73176 /* 208137 */ // Label 6111: @208137
73177 /* 208137 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6112*/ GIMT_Encode4(208159), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 5953 //
73178 /* 208144 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73179 /* 208148 */ // (strict_fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VADDSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
73180 /* 208148 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSHZrr),
73181 /* 208153 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73182 /* 208157 */ GIR_RootConstrainSelectedInstOperands,
73183 /* 208158 */ // GIR_Coverage, 5953,
73184 /* 208158 */ GIR_Done,
73185 /* 208159 */ // Label 6112: @208159
73186 /* 208159 */ GIM_Reject,
73187 /* 208160 */ // Label 6110: @208160
73188 /* 208160 */ GIM_Reject,
73189 /* 208161 */ // Label 6108: @208161
73190 /* 208161 */ GIM_Reject,
73191 /* 208162 */ // Label 6095: @208162
73192 /* 208162 */ GIM_Try, /*On fail goto*//*Label 6113*/ GIMT_Encode4(209020),
73193 /* 208167 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
73194 /* 208170 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
73195 /* 208173 */ GIM_Try, /*On fail goto*//*Label 6114*/ GIMT_Encode4(208355),
73196 /* 208178 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73197 /* 208182 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73198 /* 208186 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6115*/ GIMT_Encode4(208242), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23486 //
73199 /* 208193 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73200 /* 208197 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73201 /* 208201 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
73202 /* 208208 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73203 /* 208212 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73204 /* 208214 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73205 /* 208221 */ // (strict_fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
73206 /* 208221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
73207 /* 208224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73208 /* 208226 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73209 /* 208228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73210 /* 208232 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73211 /* 208235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73212 /* 208240 */ GIR_RootConstrainSelectedInstOperands,
73213 /* 208241 */ // GIR_Coverage, 23486,
73214 /* 208241 */ GIR_EraseRootFromParent_Done,
73215 /* 208242 */ // Label 6115: @208242
73216 /* 208242 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6116*/ GIMT_Encode4(208298), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23488 //
73217 /* 208249 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73218 /* 208253 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73219 /* 208257 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73220 /* 208264 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73221 /* 208268 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73222 /* 208270 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73223 /* 208277 */ // (strict_fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
73224 /* 208277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
73225 /* 208280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73226 /* 208282 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73227 /* 208284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73228 /* 208288 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73229 /* 208291 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73230 /* 208296 */ GIR_RootConstrainSelectedInstOperands,
73231 /* 208297 */ // GIR_Coverage, 23488,
73232 /* 208297 */ GIR_EraseRootFromParent_Done,
73233 /* 208298 */ // Label 6116: @208298
73234 /* 208298 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6117*/ GIMT_Encode4(208354), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23476 //
73235 /* 208305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73236 /* 208309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73237 /* 208313 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73238 /* 208316 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73239 /* 208320 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73240 /* 208324 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73241 /* 208326 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73242 /* 208333 */ // (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)
73243 /* 208333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
73244 /* 208336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73245 /* 208338 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73246 /* 208340 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73247 /* 208344 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73248 /* 208347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73249 /* 208352 */ GIR_RootConstrainSelectedInstOperands,
73250 /* 208353 */ // GIR_Coverage, 23476,
73251 /* 208353 */ GIR_EraseRootFromParent_Done,
73252 /* 208354 */ // Label 6117: @208354
73253 /* 208354 */ GIM_Reject,
73254 /* 208355 */ // Label 6114: @208355
73255 /* 208355 */ GIM_Try, /*On fail goto*//*Label 6118*/ GIMT_Encode4(208475),
73256 /* 208360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73257 /* 208364 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73258 /* 208368 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6119*/ GIMT_Encode4(208421), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 23621 //
73259 /* 208375 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73260 /* 208379 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73261 /* 208383 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73262 /* 208386 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73263 /* 208390 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73264 /* 208394 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73265 /* 208396 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73266 /* 208403 */ // (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)
73267 /* 208403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
73268 /* 208406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73269 /* 208408 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73270 /* 208410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73271 /* 208414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73272 /* 208419 */ GIR_RootConstrainSelectedInstOperands,
73273 /* 208420 */ // GIR_Coverage, 23621,
73274 /* 208420 */ GIR_EraseRootFromParent_Done,
73275 /* 208421 */ // Label 6119: @208421
73276 /* 208421 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6120*/ GIMT_Encode4(208474), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 23625 //
73277 /* 208428 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73278 /* 208432 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73279 /* 208436 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73280 /* 208439 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73281 /* 208443 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73282 /* 208447 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73283 /* 208449 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73284 /* 208456 */ // (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)
73285 /* 208456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
73286 /* 208459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73287 /* 208461 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73288 /* 208463 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73289 /* 208467 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73290 /* 208472 */ GIR_RootConstrainSelectedInstOperands,
73291 /* 208473 */ // GIR_Coverage, 23625,
73292 /* 208473 */ GIR_EraseRootFromParent_Done,
73293 /* 208474 */ // Label 6120: @208474
73294 /* 208474 */ GIM_Reject,
73295 /* 208475 */ // Label 6118: @208475
73296 /* 208475 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6121*/ GIMT_Encode4(208536), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24485 //
73297 /* 208482 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73298 /* 208486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73299 /* 208490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73300 /* 208494 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73301 /* 208497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73302 /* 208501 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73303 /* 208505 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73304 /* 208509 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73305 /* 208511 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73306 /* 208518 */ // (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)
73307 /* 208518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
73308 /* 208521 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73309 /* 208523 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73310 /* 208525 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73311 /* 208529 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73312 /* 208534 */ GIR_RootConstrainSelectedInstOperands,
73313 /* 208535 */ // GIR_Coverage, 24485,
73314 /* 208535 */ GIR_EraseRootFromParent_Done,
73315 /* 208536 */ // Label 6121: @208536
73316 /* 208536 */ GIM_Try, /*On fail goto*//*Label 6122*/ GIMT_Encode4(208718),
73317 /* 208541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73318 /* 208545 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73319 /* 208549 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6123*/ GIMT_Encode4(208605), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 896 //
73320 /* 208556 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73321 /* 208560 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73322 /* 208564 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
73323 /* 208571 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73324 /* 208575 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73325 /* 208577 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73326 /* 208584 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
73327 /* 208584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
73328 /* 208587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73329 /* 208589 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73330 /* 208591 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73331 /* 208595 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73332 /* 208598 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73333 /* 208603 */ GIR_RootConstrainSelectedInstOperands,
73334 /* 208604 */ // GIR_Coverage, 896,
73335 /* 208604 */ GIR_EraseRootFromParent_Done,
73336 /* 208605 */ // Label 6123: @208605
73337 /* 208605 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6124*/ GIMT_Encode4(208661), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 898 //
73338 /* 208612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73339 /* 208616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73340 /* 208620 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73341 /* 208627 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73342 /* 208631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73343 /* 208633 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73344 /* 208640 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
73345 /* 208640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
73346 /* 208643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73347 /* 208645 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73348 /* 208647 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73349 /* 208651 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73350 /* 208654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73351 /* 208659 */ GIR_RootConstrainSelectedInstOperands,
73352 /* 208660 */ // GIR_Coverage, 898,
73353 /* 208660 */ GIR_EraseRootFromParent_Done,
73354 /* 208661 */ // Label 6124: @208661
73355 /* 208661 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6125*/ GIMT_Encode4(208717), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 886 //
73356 /* 208668 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73357 /* 208672 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73358 /* 208676 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73359 /* 208679 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73360 /* 208683 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73361 /* 208687 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73362 /* 208689 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73363 /* 208696 */ // (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)
73364 /* 208696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
73365 /* 208699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73366 /* 208701 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73367 /* 208703 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73368 /* 208707 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73369 /* 208710 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73370 /* 208715 */ GIR_RootConstrainSelectedInstOperands,
73371 /* 208716 */ // GIR_Coverage, 886,
73372 /* 208716 */ GIR_EraseRootFromParent_Done,
73373 /* 208717 */ // Label 6125: @208717
73374 /* 208717 */ GIM_Reject,
73375 /* 208718 */ // Label 6122: @208718
73376 /* 208718 */ GIM_Try, /*On fail goto*//*Label 6126*/ GIMT_Encode4(208838),
73377 /* 208723 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73378 /* 208727 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73379 /* 208731 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6127*/ GIMT_Encode4(208784), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2141 //
73380 /* 208738 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73381 /* 208742 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73382 /* 208746 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73383 /* 208749 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73384 /* 208753 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73385 /* 208757 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73386 /* 208759 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73387 /* 208766 */ // (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)
73388 /* 208766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
73389 /* 208769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73390 /* 208771 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73391 /* 208773 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73392 /* 208777 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73393 /* 208782 */ GIR_RootConstrainSelectedInstOperands,
73394 /* 208783 */ // GIR_Coverage, 2141,
73395 /* 208783 */ GIR_EraseRootFromParent_Done,
73396 /* 208784 */ // Label 6127: @208784
73397 /* 208784 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6128*/ GIMT_Encode4(208837), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2149 //
73398 /* 208791 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73399 /* 208795 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73400 /* 208799 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73401 /* 208802 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73402 /* 208806 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73403 /* 208810 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73404 /* 208812 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73405 /* 208819 */ // (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)
73406 /* 208819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
73407 /* 208822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73408 /* 208824 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73409 /* 208826 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73410 /* 208830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73411 /* 208835 */ GIR_RootConstrainSelectedInstOperands,
73412 /* 208836 */ // GIR_Coverage, 2149,
73413 /* 208836 */ GIR_EraseRootFromParent_Done,
73414 /* 208837 */ // Label 6128: @208837
73415 /* 208837 */ GIM_Reject,
73416 /* 208838 */ // Label 6126: @208838
73417 /* 208838 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6129*/ GIMT_Encode4(208899), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5917 //
73418 /* 208845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73419 /* 208849 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73420 /* 208853 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73421 /* 208857 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73422 /* 208861 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73423 /* 208864 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73424 /* 208868 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73425 /* 208872 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73426 /* 208874 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73427 /* 208881 */ // (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)
73428 /* 208881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
73429 /* 208884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73430 /* 208886 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73431 /* 208888 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73432 /* 208892 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73433 /* 208897 */ GIR_RootConstrainSelectedInstOperands,
73434 /* 208898 */ // GIR_Coverage, 5917,
73435 /* 208898 */ GIR_EraseRootFromParent_Done,
73436 /* 208899 */ // Label 6129: @208899
73437 /* 208899 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6130*/ GIMT_Encode4(208935), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 862 //
73438 /* 208906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73439 /* 208910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73440 /* 208914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73441 /* 208918 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (ADD_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
73442 /* 208918 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32),
73443 /* 208923 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73444 /* 208929 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
73445 /* 208933 */ GIR_RootConstrainSelectedInstOperands,
73446 /* 208934 */ // GIR_Coverage, 862,
73447 /* 208934 */ GIR_Done,
73448 /* 208935 */ // Label 6130: @208935
73449 /* 208935 */ GIM_Try, /*On fail goto*//*Label 6131*/ GIMT_Encode4(208989),
73450 /* 208940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73451 /* 208944 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73452 /* 208948 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73453 /* 208952 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6132*/ GIMT_Encode4(208970), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2139 //
73454 /* 208959 */ // (strict_fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
73455 /* 208959 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSrr),
73456 /* 208964 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73457 /* 208968 */ GIR_RootConstrainSelectedInstOperands,
73458 /* 208969 */ // GIR_Coverage, 2139,
73459 /* 208969 */ GIR_Done,
73460 /* 208970 */ // Label 6132: @208970
73461 /* 208970 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6133*/ GIMT_Encode4(208988), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2147 //
73462 /* 208977 */ // (strict_fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (ADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
73463 /* 208977 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSSrr),
73464 /* 208982 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73465 /* 208986 */ GIR_RootConstrainSelectedInstOperands,
73466 /* 208987 */ // GIR_Coverage, 2147,
73467 /* 208987 */ GIR_Done,
73468 /* 208988 */ // Label 6133: @208988
73469 /* 208988 */ GIM_Reject,
73470 /* 208989 */ // Label 6131: @208989
73471 /* 208989 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6134*/ GIMT_Encode4(209019), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5915 //
73472 /* 208996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73473 /* 209000 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73474 /* 209004 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73475 /* 209008 */ // (strict_fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VADDSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
73476 /* 209008 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSZrr),
73477 /* 209013 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73478 /* 209017 */ GIR_RootConstrainSelectedInstOperands,
73479 /* 209018 */ // GIR_Coverage, 5915,
73480 /* 209018 */ GIR_Done,
73481 /* 209019 */ // Label 6134: @209019
73482 /* 209019 */ GIM_Reject,
73483 /* 209020 */ // Label 6113: @209020
73484 /* 209020 */ GIM_Reject,
73485 /* 209021 */ // Label 6096: @209021
73486 /* 209021 */ GIM_Try, /*On fail goto*//*Label 6135*/ GIMT_Encode4(210005),
73487 /* 209026 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
73488 /* 209029 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
73489 /* 209032 */ GIM_Try, /*On fail goto*//*Label 6136*/ GIMT_Encode4(209277),
73490 /* 209037 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73491 /* 209041 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73492 /* 209045 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6137*/ GIMT_Encode4(209101), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23490 //
73493 /* 209052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73494 /* 209056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73495 /* 209060 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
73496 /* 209067 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73497 /* 209071 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73498 /* 209073 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73499 /* 209080 */ // (strict_fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
73500 /* 209080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
73501 /* 209083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73502 /* 209085 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73503 /* 209087 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73504 /* 209091 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73505 /* 209094 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73506 /* 209099 */ GIR_RootConstrainSelectedInstOperands,
73507 /* 209100 */ // GIR_Coverage, 23490,
73508 /* 209100 */ GIR_EraseRootFromParent_Done,
73509 /* 209101 */ // Label 6137: @209101
73510 /* 209101 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6138*/ GIMT_Encode4(209157), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23492 //
73511 /* 209108 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73512 /* 209112 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73513 /* 209116 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73514 /* 209123 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73515 /* 209127 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73516 /* 209129 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73517 /* 209136 */ // (strict_fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
73518 /* 209136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
73519 /* 209139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73520 /* 209141 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73521 /* 209143 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73522 /* 209147 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73523 /* 209150 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73524 /* 209155 */ GIR_RootConstrainSelectedInstOperands,
73525 /* 209156 */ // GIR_Coverage, 23492,
73526 /* 209156 */ GIR_EraseRootFromParent_Done,
73527 /* 209157 */ // Label 6138: @209157
73528 /* 209157 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6139*/ GIMT_Encode4(209220), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23480 //
73529 /* 209164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73530 /* 209168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
73531 /* 209172 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73532 /* 209175 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73533 /* 209179 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73534 /* 209186 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73535 /* 209190 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73536 /* 209192 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73537 /* 209199 */ // (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)
73538 /* 209199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
73539 /* 209202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73540 /* 209204 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73541 /* 209206 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73542 /* 209210 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73543 /* 209213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73544 /* 209218 */ GIR_RootConstrainSelectedInstOperands,
73545 /* 209219 */ // GIR_Coverage, 23480,
73546 /* 209219 */ GIR_EraseRootFromParent_Done,
73547 /* 209220 */ // Label 6139: @209220
73548 /* 209220 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6140*/ GIMT_Encode4(209276), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23478 //
73549 /* 209227 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73550 /* 209231 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73551 /* 209235 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73552 /* 209238 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73553 /* 209242 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73554 /* 209246 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73555 /* 209248 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73556 /* 209255 */ // (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)
73557 /* 209255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
73558 /* 209258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73559 /* 209260 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73560 /* 209262 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73561 /* 209266 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73562 /* 209269 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73563 /* 209274 */ GIR_RootConstrainSelectedInstOperands,
73564 /* 209275 */ // GIR_Coverage, 23478,
73565 /* 209275 */ GIR_EraseRootFromParent_Done,
73566 /* 209276 */ // Label 6140: @209276
73567 /* 209276 */ GIM_Reject,
73568 /* 209277 */ // Label 6136: @209277
73569 /* 209277 */ GIM_Try, /*On fail goto*//*Label 6141*/ GIMT_Encode4(209397),
73570 /* 209282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73571 /* 209286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73572 /* 209290 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6142*/ GIMT_Encode4(209343), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 23623 //
73573 /* 209297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73574 /* 209301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73575 /* 209305 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73576 /* 209308 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73577 /* 209312 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73578 /* 209316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73579 /* 209318 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73580 /* 209325 */ // (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)
73581 /* 209325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
73582 /* 209328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73583 /* 209330 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73584 /* 209332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73585 /* 209336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73586 /* 209341 */ GIR_RootConstrainSelectedInstOperands,
73587 /* 209342 */ // GIR_Coverage, 23623,
73588 /* 209342 */ GIR_EraseRootFromParent_Done,
73589 /* 209343 */ // Label 6142: @209343
73590 /* 209343 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6143*/ GIMT_Encode4(209396), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 23627 //
73591 /* 209350 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73592 /* 209354 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73593 /* 209358 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73594 /* 209361 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73595 /* 209365 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73596 /* 209369 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73597 /* 209371 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73598 /* 209378 */ // (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)
73599 /* 209378 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
73600 /* 209381 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73601 /* 209383 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73602 /* 209385 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73603 /* 209389 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73604 /* 209394 */ GIR_RootConstrainSelectedInstOperands,
73605 /* 209395 */ // GIR_Coverage, 23627,
73606 /* 209395 */ GIR_EraseRootFromParent_Done,
73607 /* 209396 */ // Label 6143: @209396
73608 /* 209396 */ GIM_Reject,
73609 /* 209397 */ // Label 6141: @209397
73610 /* 209397 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6144*/ GIMT_Encode4(209458), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24487 //
73611 /* 209404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73612 /* 209408 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73613 /* 209412 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73614 /* 209416 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73615 /* 209419 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73616 /* 209423 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73617 /* 209427 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73618 /* 209431 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73619 /* 209433 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73620 /* 209440 */ // (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)
73621 /* 209440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
73622 /* 209443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73623 /* 209445 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73624 /* 209447 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73625 /* 209451 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73626 /* 209456 */ GIR_RootConstrainSelectedInstOperands,
73627 /* 209457 */ // GIR_Coverage, 24487,
73628 /* 209457 */ GIR_EraseRootFromParent_Done,
73629 /* 209458 */ // Label 6144: @209458
73630 /* 209458 */ GIM_Try, /*On fail goto*//*Label 6145*/ GIMT_Encode4(209703),
73631 /* 209463 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73632 /* 209467 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73633 /* 209471 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6146*/ GIMT_Encode4(209527), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 900 //
73634 /* 209478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73635 /* 209482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73636 /* 209486 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
73637 /* 209493 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73638 /* 209497 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73639 /* 209499 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73640 /* 209506 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
73641 /* 209506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
73642 /* 209509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73643 /* 209511 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73644 /* 209513 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73645 /* 209517 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73646 /* 209520 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73647 /* 209525 */ GIR_RootConstrainSelectedInstOperands,
73648 /* 209526 */ // GIR_Coverage, 900,
73649 /* 209526 */ GIR_EraseRootFromParent_Done,
73650 /* 209527 */ // Label 6146: @209527
73651 /* 209527 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6147*/ GIMT_Encode4(209583), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 902 //
73652 /* 209534 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73653 /* 209538 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73654 /* 209542 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73655 /* 209549 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73656 /* 209553 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73657 /* 209555 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73658 /* 209562 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
73659 /* 209562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
73660 /* 209565 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73661 /* 209567 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73662 /* 209569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73663 /* 209573 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73664 /* 209576 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73665 /* 209581 */ GIR_RootConstrainSelectedInstOperands,
73666 /* 209582 */ // GIR_Coverage, 902,
73667 /* 209582 */ GIR_EraseRootFromParent_Done,
73668 /* 209583 */ // Label 6147: @209583
73669 /* 209583 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6148*/ GIMT_Encode4(209646), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 890 //
73670 /* 209590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73671 /* 209594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
73672 /* 209598 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73673 /* 209601 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73674 /* 209605 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73675 /* 209612 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73676 /* 209616 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73677 /* 209618 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73678 /* 209625 */ // (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)
73679 /* 209625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
73680 /* 209628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73681 /* 209630 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73682 /* 209632 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73683 /* 209636 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73684 /* 209639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73685 /* 209644 */ GIR_RootConstrainSelectedInstOperands,
73686 /* 209645 */ // GIR_Coverage, 890,
73687 /* 209645 */ GIR_EraseRootFromParent_Done,
73688 /* 209646 */ // Label 6148: @209646
73689 /* 209646 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6149*/ GIMT_Encode4(209702), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 888 //
73690 /* 209653 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73691 /* 209657 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73692 /* 209661 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73693 /* 209664 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73694 /* 209668 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73695 /* 209672 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73696 /* 209674 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73697 /* 209681 */ // (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)
73698 /* 209681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
73699 /* 209684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73700 /* 209686 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73701 /* 209688 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73702 /* 209692 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73703 /* 209695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73704 /* 209700 */ GIR_RootConstrainSelectedInstOperands,
73705 /* 209701 */ // GIR_Coverage, 888,
73706 /* 209701 */ GIR_EraseRootFromParent_Done,
73707 /* 209702 */ // Label 6149: @209702
73708 /* 209702 */ GIM_Reject,
73709 /* 209703 */ // Label 6145: @209703
73710 /* 209703 */ GIM_Try, /*On fail goto*//*Label 6150*/ GIMT_Encode4(209823),
73711 /* 209708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73712 /* 209712 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73713 /* 209716 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6151*/ GIMT_Encode4(209769), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2145 //
73714 /* 209723 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73715 /* 209727 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73716 /* 209731 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73717 /* 209734 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73718 /* 209738 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73719 /* 209742 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73720 /* 209744 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73721 /* 209751 */ // (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)
73722 /* 209751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
73723 /* 209754 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73724 /* 209756 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73725 /* 209758 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73726 /* 209762 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73727 /* 209767 */ GIR_RootConstrainSelectedInstOperands,
73728 /* 209768 */ // GIR_Coverage, 2145,
73729 /* 209768 */ GIR_EraseRootFromParent_Done,
73730 /* 209769 */ // Label 6151: @209769
73731 /* 209769 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6152*/ GIMT_Encode4(209822), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2153 //
73732 /* 209776 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73733 /* 209780 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73734 /* 209784 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73735 /* 209787 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73736 /* 209791 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73737 /* 209795 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73738 /* 209797 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73739 /* 209804 */ // (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)
73740 /* 209804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
73741 /* 209807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73742 /* 209809 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73743 /* 209811 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73744 /* 209815 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73745 /* 209820 */ GIR_RootConstrainSelectedInstOperands,
73746 /* 209821 */ // GIR_Coverage, 2153,
73747 /* 209821 */ GIR_EraseRootFromParent_Done,
73748 /* 209822 */ // Label 6152: @209822
73749 /* 209822 */ GIM_Reject,
73750 /* 209823 */ // Label 6150: @209823
73751 /* 209823 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6153*/ GIMT_Encode4(209884), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5936 //
73752 /* 209830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73753 /* 209834 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73754 /* 209838 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73755 /* 209842 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73756 /* 209846 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73757 /* 209849 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73758 /* 209853 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73759 /* 209857 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73760 /* 209859 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73761 /* 209866 */ // (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)
73762 /* 209866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
73763 /* 209869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73764 /* 209871 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73765 /* 209873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73766 /* 209877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73767 /* 209882 */ GIR_RootConstrainSelectedInstOperands,
73768 /* 209883 */ // GIR_Coverage, 5936,
73769 /* 209883 */ GIR_EraseRootFromParent_Done,
73770 /* 209884 */ // Label 6153: @209884
73771 /* 209884 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6154*/ GIMT_Encode4(209920), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 864 //
73772 /* 209891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73773 /* 209895 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73774 /* 209899 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73775 /* 209903 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (ADD_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
73776 /* 209903 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64),
73777 /* 209908 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73778 /* 209914 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
73779 /* 209918 */ GIR_RootConstrainSelectedInstOperands,
73780 /* 209919 */ // GIR_Coverage, 864,
73781 /* 209919 */ GIR_Done,
73782 /* 209920 */ // Label 6154: @209920
73783 /* 209920 */ GIM_Try, /*On fail goto*//*Label 6155*/ GIMT_Encode4(209974),
73784 /* 209925 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73785 /* 209929 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73786 /* 209933 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73787 /* 209937 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6156*/ GIMT_Encode4(209955), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2143 //
73788 /* 209944 */ // (strict_fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
73789 /* 209944 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDrr),
73790 /* 209949 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73791 /* 209953 */ GIR_RootConstrainSelectedInstOperands,
73792 /* 209954 */ // GIR_Coverage, 2143,
73793 /* 209954 */ GIR_Done,
73794 /* 209955 */ // Label 6156: @209955
73795 /* 209955 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6157*/ GIMT_Encode4(209973), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2151 //
73796 /* 209962 */ // (strict_fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (ADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
73797 /* 209962 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSDrr),
73798 /* 209967 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73799 /* 209971 */ GIR_RootConstrainSelectedInstOperands,
73800 /* 209972 */ // GIR_Coverage, 2151,
73801 /* 209972 */ GIR_Done,
73802 /* 209973 */ // Label 6157: @209973
73803 /* 209973 */ GIM_Reject,
73804 /* 209974 */ // Label 6155: @209974
73805 /* 209974 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6158*/ GIMT_Encode4(210004), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5934 //
73806 /* 209981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73807 /* 209985 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73808 /* 209989 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73809 /* 209993 */ // (strict_fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VADDSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
73810 /* 209993 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDZrr),
73811 /* 209998 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73812 /* 210002 */ GIR_RootConstrainSelectedInstOperands,
73813 /* 210003 */ // GIR_Coverage, 5934,
73814 /* 210003 */ GIR_Done,
73815 /* 210004 */ // Label 6158: @210004
73816 /* 210004 */ GIM_Reject,
73817 /* 210005 */ // Label 6135: @210005
73818 /* 210005 */ GIM_Reject,
73819 /* 210006 */ // Label 6097: @210006
73820 /* 210006 */ GIM_Try, /*On fail goto*//*Label 6159*/ GIMT_Encode4(210546),
73821 /* 210011 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
73822 /* 210014 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
73823 /* 210017 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
73824 /* 210021 */ GIM_Try, /*On fail goto*//*Label 6160*/ GIMT_Encode4(210269),
73825 /* 210026 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
73826 /* 210030 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6161*/ GIMT_Encode4(210086), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23494 //
73827 /* 210037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73828 /* 210041 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73829 /* 210045 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
73830 /* 210052 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73831 /* 210056 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73832 /* 210058 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73833 /* 210065 */ // (strict_fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
73834 /* 210065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
73835 /* 210068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73836 /* 210070 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73837 /* 210072 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73838 /* 210076 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73839 /* 210079 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73840 /* 210084 */ GIR_RootConstrainSelectedInstOperands,
73841 /* 210085 */ // GIR_Coverage, 23494,
73842 /* 210085 */ GIR_EraseRootFromParent_Done,
73843 /* 210086 */ // Label 6161: @210086
73844 /* 210086 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6162*/ GIMT_Encode4(210142), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23496 //
73845 /* 210093 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73846 /* 210097 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73847 /* 210101 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73848 /* 210108 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73849 /* 210112 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73850 /* 210114 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73851 /* 210121 */ // (strict_fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
73852 /* 210121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
73853 /* 210124 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73854 /* 210126 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73855 /* 210128 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73856 /* 210132 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73857 /* 210135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73858 /* 210140 */ GIR_RootConstrainSelectedInstOperands,
73859 /* 210141 */ // GIR_Coverage, 23496,
73860 /* 210141 */ GIR_EraseRootFromParent_Done,
73861 /* 210142 */ // Label 6162: @210142
73862 /* 210142 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6163*/ GIMT_Encode4(210205), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23482 //
73863 /* 210149 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73864 /* 210153 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
73865 /* 210157 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73866 /* 210160 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73867 /* 210164 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73868 /* 210171 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73869 /* 210175 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73870 /* 210177 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73871 /* 210184 */ // (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)
73872 /* 210184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
73873 /* 210187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73874 /* 210189 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73875 /* 210191 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73876 /* 210195 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73877 /* 210198 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73878 /* 210203 */ GIR_RootConstrainSelectedInstOperands,
73879 /* 210204 */ // GIR_Coverage, 23482,
73880 /* 210204 */ GIR_EraseRootFromParent_Done,
73881 /* 210205 */ // Label 6163: @210205
73882 /* 210205 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6164*/ GIMT_Encode4(210268), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23484 //
73883 /* 210212 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73884 /* 210216 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
73885 /* 210220 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73886 /* 210223 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73887 /* 210227 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
73888 /* 210234 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73889 /* 210238 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73890 /* 210240 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73891 /* 210247 */ // (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)
73892 /* 210247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
73893 /* 210250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73894 /* 210252 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
73895 /* 210254 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73896 /* 210258 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73897 /* 210261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73898 /* 210266 */ GIR_RootConstrainSelectedInstOperands,
73899 /* 210267 */ // GIR_Coverage, 23484,
73900 /* 210267 */ GIR_EraseRootFromParent_Done,
73901 /* 210268 */ // Label 6164: @210268
73902 /* 210268 */ GIM_Reject,
73903 /* 210269 */ // Label 6160: @210269
73904 /* 210269 */ GIM_Try, /*On fail goto*//*Label 6165*/ GIMT_Encode4(210545),
73905 /* 210274 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
73906 /* 210278 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6166*/ GIMT_Encode4(210334), GIMT_Encode2(GIFBS_HasX87), // Rule ID 904 //
73907 /* 210285 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73908 /* 210289 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73909 /* 210293 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
73910 /* 210300 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73911 /* 210304 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73912 /* 210306 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73913 /* 210313 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
73914 /* 210313 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
73915 /* 210316 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73916 /* 210318 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73917 /* 210320 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73918 /* 210324 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73919 /* 210327 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73920 /* 210332 */ GIR_RootConstrainSelectedInstOperands,
73921 /* 210333 */ // GIR_Coverage, 904,
73922 /* 210333 */ GIR_EraseRootFromParent_Done,
73923 /* 210334 */ // Label 6166: @210334
73924 /* 210334 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6167*/ GIMT_Encode4(210390), GIMT_Encode2(GIFBS_HasX87), // Rule ID 906 //
73925 /* 210341 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73926 /* 210345 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
73927 /* 210349 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73928 /* 210356 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73929 /* 210360 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73930 /* 210362 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73931 /* 210369 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
73932 /* 210369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
73933 /* 210372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73934 /* 210374 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73935 /* 210376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73936 /* 210380 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73937 /* 210383 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73938 /* 210388 */ GIR_RootConstrainSelectedInstOperands,
73939 /* 210389 */ // GIR_Coverage, 906,
73940 /* 210389 */ GIR_EraseRootFromParent_Done,
73941 /* 210390 */ // Label 6167: @210390
73942 /* 210390 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6168*/ GIMT_Encode4(210453), GIMT_Encode2(GIFBS_HasX87), // Rule ID 892 //
73943 /* 210397 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73944 /* 210401 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
73945 /* 210405 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73946 /* 210408 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73947 /* 210412 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
73948 /* 210419 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73949 /* 210423 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73950 /* 210425 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73951 /* 210432 */ // (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)
73952 /* 210432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
73953 /* 210435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73954 /* 210437 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73955 /* 210439 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73956 /* 210443 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73957 /* 210446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73958 /* 210451 */ GIR_RootConstrainSelectedInstOperands,
73959 /* 210452 */ // GIR_Coverage, 892,
73960 /* 210452 */ GIR_EraseRootFromParent_Done,
73961 /* 210453 */ // Label 6168: @210453
73962 /* 210453 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6169*/ GIMT_Encode4(210516), GIMT_Encode2(GIFBS_HasX87), // Rule ID 894 //
73963 /* 210460 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
73964 /* 210464 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
73965 /* 210468 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73966 /* 210471 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73967 /* 210475 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
73968 /* 210482 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73969 /* 210486 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73970 /* 210488 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73971 /* 210495 */ // (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)
73972 /* 210495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
73973 /* 210498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73974 /* 210500 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
73975 /* 210502 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
73976 /* 210506 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
73977 /* 210509 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73978 /* 210514 */ GIR_RootConstrainSelectedInstOperands,
73979 /* 210515 */ // GIR_Coverage, 894,
73980 /* 210515 */ GIR_EraseRootFromParent_Done,
73981 /* 210516 */ // Label 6169: @210516
73982 /* 210516 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6170*/ GIMT_Encode4(210544), GIMT_Encode2(GIFBS_HasX87), // Rule ID 866 //
73983 /* 210523 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
73984 /* 210527 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (ADD_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
73985 /* 210527 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80),
73986 /* 210532 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73987 /* 210538 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
73988 /* 210542 */ GIR_RootConstrainSelectedInstOperands,
73989 /* 210543 */ // GIR_Coverage, 866,
73990 /* 210543 */ GIR_Done,
73991 /* 210544 */ // Label 6170: @210544
73992 /* 210544 */ GIM_Reject,
73993 /* 210545 */ // Label 6165: @210545
73994 /* 210545 */ GIM_Reject,
73995 /* 210546 */ // Label 6159: @210546
73996 /* 210546 */ GIM_Reject,
73997 /* 210547 */ // Label 6098: @210547
73998 /* 210547 */ GIM_Try, /*On fail goto*//*Label 6171*/ GIMT_Encode4(210705),
73999 /* 210552 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
74000 /* 210555 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
74001 /* 210558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74002 /* 210562 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6172*/ GIMT_Encode4(210619), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 24559 //
74003 /* 210569 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74004 /* 210573 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74005 /* 210577 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74006 /* 210580 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74007 /* 210584 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74008 /* 210588 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74009 /* 210592 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74010 /* 210594 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74011 /* 210601 */ // (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)
74012 /* 210601 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
74013 /* 210604 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74014 /* 210606 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74015 /* 210608 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74016 /* 210612 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74017 /* 210617 */ GIR_RootConstrainSelectedInstOperands,
74018 /* 210618 */ // GIR_Coverage, 24559,
74019 /* 210618 */ GIR_EraseRootFromParent_Done,
74020 /* 210619 */ // Label 6172: @210619
74021 /* 210619 */ GIM_Try, /*On fail goto*//*Label 6173*/ GIMT_Encode4(210704),
74022 /* 210624 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74023 /* 210628 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6174*/ GIMT_Encode4(210681), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6345 //
74024 /* 210635 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74025 /* 210639 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74026 /* 210643 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74027 /* 210646 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74028 /* 210650 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74029 /* 210654 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74030 /* 210656 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74031 /* 210663 */ // (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)
74032 /* 210663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
74033 /* 210666 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74034 /* 210668 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74035 /* 210670 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74036 /* 210674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74037 /* 210679 */ GIR_RootConstrainSelectedInstOperands,
74038 /* 210680 */ // GIR_Coverage, 6345,
74039 /* 210680 */ GIR_EraseRootFromParent_Done,
74040 /* 210681 */ // Label 6174: @210681
74041 /* 210681 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6175*/ GIMT_Encode4(210703), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6341 //
74042 /* 210688 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74043 /* 210692 */ // (strict_fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VADDPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
74044 /* 210692 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rr),
74045 /* 210697 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74046 /* 210701 */ GIR_RootConstrainSelectedInstOperands,
74047 /* 210702 */ // GIR_Coverage, 6341,
74048 /* 210702 */ GIR_Done,
74049 /* 210703 */ // Label 6175: @210703
74050 /* 210703 */ GIM_Reject,
74051 /* 210704 */ // Label 6173: @210704
74052 /* 210704 */ GIM_Reject,
74053 /* 210705 */ // Label 6171: @210705
74054 /* 210705 */ GIM_Reject,
74055 /* 210706 */ // Label 6099: @210706
74056 /* 210706 */ GIM_Try, /*On fail goto*//*Label 6176*/ GIMT_Encode4(210864),
74057 /* 210711 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
74058 /* 210714 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
74059 /* 210717 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74060 /* 210721 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6177*/ GIMT_Encode4(210778), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 24567 //
74061 /* 210728 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74062 /* 210732 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74063 /* 210736 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74064 /* 210739 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74065 /* 210743 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74066 /* 210747 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74067 /* 210751 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74068 /* 210753 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74069 /* 210760 */ // (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)
74070 /* 210760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
74071 /* 210763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74072 /* 210765 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74073 /* 210767 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74074 /* 210771 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74075 /* 210776 */ GIR_RootConstrainSelectedInstOperands,
74076 /* 210777 */ // GIR_Coverage, 24567,
74077 /* 210777 */ GIR_EraseRootFromParent_Done,
74078 /* 210778 */ // Label 6177: @210778
74079 /* 210778 */ GIM_Try, /*On fail goto*//*Label 6178*/ GIMT_Encode4(210863),
74080 /* 210783 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74081 /* 210787 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6179*/ GIMT_Encode4(210840), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6357 //
74082 /* 210794 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74083 /* 210798 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74084 /* 210802 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74085 /* 210805 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74086 /* 210809 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74087 /* 210813 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74088 /* 210815 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74089 /* 210822 */ // (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)
74090 /* 210822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
74091 /* 210825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74092 /* 210827 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74093 /* 210829 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74094 /* 210833 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74095 /* 210838 */ GIR_RootConstrainSelectedInstOperands,
74096 /* 210839 */ // GIR_Coverage, 6357,
74097 /* 210839 */ GIR_EraseRootFromParent_Done,
74098 /* 210840 */ // Label 6179: @210840
74099 /* 210840 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6180*/ GIMT_Encode4(210862), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6353 //
74100 /* 210847 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74101 /* 210851 */ // (strict_fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VADDPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
74102 /* 210851 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rr),
74103 /* 210856 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74104 /* 210860 */ GIR_RootConstrainSelectedInstOperands,
74105 /* 210861 */ // GIR_Coverage, 6353,
74106 /* 210861 */ GIR_Done,
74107 /* 210862 */ // Label 6180: @210862
74108 /* 210862 */ GIM_Reject,
74109 /* 210863 */ // Label 6178: @210863
74110 /* 210863 */ GIM_Reject,
74111 /* 210864 */ // Label 6176: @210864
74112 /* 210864 */ GIM_Reject,
74113 /* 210865 */ // Label 6100: @210865
74114 /* 210865 */ GIM_Try, /*On fail goto*//*Label 6181*/ GIMT_Encode4(211023),
74115 /* 210870 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
74116 /* 210873 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
74117 /* 210876 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74118 /* 210880 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6182*/ GIMT_Encode4(210937), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 24551 //
74119 /* 210887 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74120 /* 210891 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74121 /* 210895 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74122 /* 210898 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74123 /* 210902 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74124 /* 210906 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74125 /* 210910 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74126 /* 210912 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74127 /* 210919 */ // (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)
74128 /* 210919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
74129 /* 210922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74130 /* 210924 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74131 /* 210926 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74132 /* 210930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74133 /* 210935 */ GIR_RootConstrainSelectedInstOperands,
74134 /* 210936 */ // GIR_Coverage, 24551,
74135 /* 210936 */ GIR_EraseRootFromParent_Done,
74136 /* 210937 */ // Label 6182: @210937
74137 /* 210937 */ GIM_Try, /*On fail goto*//*Label 6183*/ GIMT_Encode4(211022),
74138 /* 210942 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74139 /* 210946 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6184*/ GIMT_Encode4(210999), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6333 //
74140 /* 210953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74141 /* 210957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74142 /* 210961 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74143 /* 210964 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74144 /* 210968 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74145 /* 210972 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74146 /* 210974 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74147 /* 210981 */ // (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)
74148 /* 210981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
74149 /* 210984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74150 /* 210986 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74151 /* 210988 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74152 /* 210992 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74153 /* 210997 */ GIR_RootConstrainSelectedInstOperands,
74154 /* 210998 */ // GIR_Coverage, 6333,
74155 /* 210998 */ GIR_EraseRootFromParent_Done,
74156 /* 210999 */ // Label 6184: @210999
74157 /* 210999 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6185*/ GIMT_Encode4(211021), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6329 //
74158 /* 211006 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74159 /* 211010 */ // (strict_fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VADDPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
74160 /* 211010 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZrr),
74161 /* 211015 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74162 /* 211019 */ GIR_RootConstrainSelectedInstOperands,
74163 /* 211020 */ // GIR_Coverage, 6329,
74164 /* 211020 */ GIR_Done,
74165 /* 211021 */ // Label 6185: @211021
74166 /* 211021 */ GIM_Reject,
74167 /* 211022 */ // Label 6183: @211022
74168 /* 211022 */ GIM_Reject,
74169 /* 211023 */ // Label 6181: @211023
74170 /* 211023 */ GIM_Reject,
74171 /* 211024 */ // Label 6101: @211024
74172 /* 211024 */ GIM_Try, /*On fail goto*//*Label 6186*/ GIMT_Encode4(211364),
74173 /* 211029 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
74174 /* 211032 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
74175 /* 211035 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6187*/ GIMT_Encode4(211096), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23609 //
74176 /* 211042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74177 /* 211046 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74178 /* 211050 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74179 /* 211054 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74180 /* 211057 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74181 /* 211061 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74182 /* 211065 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74183 /* 211069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74184 /* 211071 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74185 /* 211078 */ // (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)
74186 /* 211078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
74187 /* 211081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74188 /* 211083 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74189 /* 211085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74190 /* 211089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74191 /* 211094 */ GIR_RootConstrainSelectedInstOperands,
74192 /* 211095 */ // GIR_Coverage, 23609,
74193 /* 211095 */ GIR_EraseRootFromParent_Done,
74194 /* 211096 */ // Label 6187: @211096
74195 /* 211096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6188*/ GIMT_Encode4(211157), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24519 //
74196 /* 211103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74197 /* 211107 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74198 /* 211111 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74199 /* 211115 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74200 /* 211118 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74201 /* 211122 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74202 /* 211126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74203 /* 211130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74204 /* 211132 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74205 /* 211139 */ // (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)
74206 /* 211139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
74207 /* 211142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74208 /* 211144 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74209 /* 211146 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74210 /* 211150 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74211 /* 211155 */ GIR_RootConstrainSelectedInstOperands,
74212 /* 211156 */ // GIR_Coverage, 24519,
74213 /* 211156 */ GIR_EraseRootFromParent_Done,
74214 /* 211157 */ // Label 6188: @211157
74215 /* 211157 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6189*/ GIMT_Encode4(211218), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2117 //
74216 /* 211164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74217 /* 211168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74218 /* 211172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74219 /* 211176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74220 /* 211180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74221 /* 211183 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74222 /* 211187 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74223 /* 211191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74224 /* 211193 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74225 /* 211200 */ // (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)
74226 /* 211200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
74227 /* 211203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74228 /* 211205 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74229 /* 211207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74230 /* 211211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74231 /* 211216 */ GIR_RootConstrainSelectedInstOperands,
74232 /* 211217 */ // GIR_Coverage, 2117,
74233 /* 211217 */ GIR_EraseRootFromParent_Done,
74234 /* 211218 */ // Label 6189: @211218
74235 /* 211218 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6190*/ GIMT_Encode4(211279), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6285 //
74236 /* 211225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74237 /* 211229 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74238 /* 211233 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74239 /* 211237 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74240 /* 211241 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74241 /* 211244 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74242 /* 211248 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74243 /* 211252 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74244 /* 211254 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74245 /* 211261 */ // (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)
74246 /* 211261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
74247 /* 211264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74248 /* 211266 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74249 /* 211268 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74250 /* 211272 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74251 /* 211277 */ GIR_RootConstrainSelectedInstOperands,
74252 /* 211278 */ // GIR_Coverage, 6285,
74253 /* 211278 */ GIR_EraseRootFromParent_Done,
74254 /* 211279 */ // Label 6190: @211279
74255 /* 211279 */ GIM_Try, /*On fail goto*//*Label 6191*/ GIMT_Encode4(211333),
74256 /* 211284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74257 /* 211288 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74258 /* 211292 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74259 /* 211296 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6192*/ GIMT_Encode4(211314), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2115 //
74260 /* 211303 */ // (strict_fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
74261 /* 211303 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSrr),
74262 /* 211308 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74263 /* 211312 */ GIR_RootConstrainSelectedInstOperands,
74264 /* 211313 */ // GIR_Coverage, 2115,
74265 /* 211313 */ GIR_Done,
74266 /* 211314 */ // Label 6192: @211314
74267 /* 211314 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6193*/ GIMT_Encode4(211332), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2131 //
74268 /* 211321 */ // (strict_fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (ADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
74269 /* 211321 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPSrr),
74270 /* 211326 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74271 /* 211330 */ GIR_RootConstrainSelectedInstOperands,
74272 /* 211331 */ // GIR_Coverage, 2131,
74273 /* 211331 */ GIR_Done,
74274 /* 211332 */ // Label 6193: @211332
74275 /* 211332 */ GIM_Reject,
74276 /* 211333 */ // Label 6191: @211333
74277 /* 211333 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6194*/ GIMT_Encode4(211363), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6281 //
74278 /* 211340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74279 /* 211344 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74280 /* 211348 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74281 /* 211352 */ // (strict_fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VADDPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
74282 /* 211352 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rr),
74283 /* 211357 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74284 /* 211361 */ GIR_RootConstrainSelectedInstOperands,
74285 /* 211362 */ // GIR_Coverage, 6281,
74286 /* 211362 */ GIR_Done,
74287 /* 211363 */ // Label 6194: @211363
74288 /* 211363 */ GIM_Reject,
74289 /* 211364 */ // Label 6186: @211364
74290 /* 211364 */ GIM_Reject,
74291 /* 211365 */ // Label 6102: @211365
74292 /* 211365 */ GIM_Try, /*On fail goto*//*Label 6195*/ GIMT_Encode4(211681),
74293 /* 211370 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
74294 /* 211373 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
74295 /* 211376 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6196*/ GIMT_Encode4(211437), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23613 //
74296 /* 211383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74297 /* 211387 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74298 /* 211391 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74299 /* 211395 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74300 /* 211398 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74301 /* 211402 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74302 /* 211406 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74303 /* 211410 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74304 /* 211412 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74305 /* 211419 */ // (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)
74306 /* 211419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
74307 /* 211422 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74308 /* 211424 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74309 /* 211426 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74310 /* 211430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74311 /* 211435 */ GIR_RootConstrainSelectedInstOperands,
74312 /* 211436 */ // GIR_Coverage, 23613,
74313 /* 211436 */ GIR_EraseRootFromParent_Done,
74314 /* 211437 */ // Label 6196: @211437
74315 /* 211437 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6197*/ GIMT_Encode4(211498), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24527 //
74316 /* 211444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74317 /* 211448 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74318 /* 211452 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74319 /* 211456 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74320 /* 211459 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74321 /* 211463 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74322 /* 211467 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74323 /* 211471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74324 /* 211473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74325 /* 211480 */ // (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)
74326 /* 211480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
74327 /* 211483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74328 /* 211485 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74329 /* 211487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74330 /* 211491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74331 /* 211496 */ GIR_RootConstrainSelectedInstOperands,
74332 /* 211497 */ // GIR_Coverage, 24527,
74333 /* 211497 */ GIR_EraseRootFromParent_Done,
74334 /* 211498 */ // Label 6197: @211498
74335 /* 211498 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6198*/ GIMT_Encode4(211559), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2125 //
74336 /* 211505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74337 /* 211509 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74338 /* 211513 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74339 /* 211517 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74340 /* 211521 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74341 /* 211524 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74342 /* 211528 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74343 /* 211532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74344 /* 211534 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74345 /* 211541 */ // (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)
74346 /* 211541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
74347 /* 211544 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74348 /* 211546 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74349 /* 211548 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74350 /* 211552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74351 /* 211557 */ GIR_RootConstrainSelectedInstOperands,
74352 /* 211558 */ // GIR_Coverage, 2125,
74353 /* 211558 */ GIR_EraseRootFromParent_Done,
74354 /* 211559 */ // Label 6198: @211559
74355 /* 211559 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6199*/ GIMT_Encode4(211620), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6297 //
74356 /* 211566 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74357 /* 211570 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74358 /* 211574 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74359 /* 211578 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74360 /* 211582 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74361 /* 211585 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74362 /* 211589 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74363 /* 211593 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74364 /* 211595 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74365 /* 211602 */ // (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)
74366 /* 211602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
74367 /* 211605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74368 /* 211607 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74369 /* 211609 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74370 /* 211613 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74371 /* 211618 */ GIR_RootConstrainSelectedInstOperands,
74372 /* 211619 */ // GIR_Coverage, 6297,
74373 /* 211619 */ GIR_EraseRootFromParent_Done,
74374 /* 211620 */ // Label 6199: @211620
74375 /* 211620 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6200*/ GIMT_Encode4(211650), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2123 //
74376 /* 211627 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74377 /* 211631 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74378 /* 211635 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74379 /* 211639 */ // (strict_fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VADDPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
74380 /* 211639 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSYrr),
74381 /* 211644 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74382 /* 211648 */ GIR_RootConstrainSelectedInstOperands,
74383 /* 211649 */ // GIR_Coverage, 2123,
74384 /* 211649 */ GIR_Done,
74385 /* 211650 */ // Label 6200: @211650
74386 /* 211650 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6201*/ GIMT_Encode4(211680), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6293 //
74387 /* 211657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74388 /* 211661 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74389 /* 211665 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74390 /* 211669 */ // (strict_fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VADDPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
74391 /* 211669 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rr),
74392 /* 211674 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74393 /* 211678 */ GIR_RootConstrainSelectedInstOperands,
74394 /* 211679 */ // GIR_Coverage, 6293,
74395 /* 211679 */ GIR_Done,
74396 /* 211680 */ // Label 6201: @211680
74397 /* 211680 */ GIM_Reject,
74398 /* 211681 */ // Label 6195: @211681
74399 /* 211681 */ GIM_Reject,
74400 /* 211682 */ // Label 6103: @211682
74401 /* 211682 */ GIM_Try, /*On fail goto*//*Label 6202*/ GIMT_Encode4(211840),
74402 /* 211687 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
74403 /* 211690 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
74404 /* 211693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74405 /* 211697 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6203*/ GIMT_Encode4(211754), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24503 //
74406 /* 211704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74407 /* 211708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74408 /* 211712 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74409 /* 211715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74410 /* 211719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74411 /* 211723 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74412 /* 211727 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74413 /* 211729 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74414 /* 211736 */ // (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)
74415 /* 211736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
74416 /* 211739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74417 /* 211741 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74418 /* 211743 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74419 /* 211747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74420 /* 211752 */ GIR_RootConstrainSelectedInstOperands,
74421 /* 211753 */ // GIR_Coverage, 24503,
74422 /* 211753 */ GIR_EraseRootFromParent_Done,
74423 /* 211754 */ // Label 6203: @211754
74424 /* 211754 */ GIM_Try, /*On fail goto*//*Label 6204*/ GIMT_Encode4(211839),
74425 /* 211759 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74426 /* 211763 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6205*/ GIMT_Encode4(211816), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6261 //
74427 /* 211770 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74428 /* 211774 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74429 /* 211778 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74430 /* 211781 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74431 /* 211785 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74432 /* 211789 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74433 /* 211791 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74434 /* 211798 */ // (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)
74435 /* 211798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
74436 /* 211801 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74437 /* 211803 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74438 /* 211805 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74439 /* 211809 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74440 /* 211814 */ GIR_RootConstrainSelectedInstOperands,
74441 /* 211815 */ // GIR_Coverage, 6261,
74442 /* 211815 */ GIR_EraseRootFromParent_Done,
74443 /* 211816 */ // Label 6205: @211816
74444 /* 211816 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6206*/ GIMT_Encode4(211838), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6257 //
74445 /* 211823 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74446 /* 211827 */ // (strict_fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VADDPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
74447 /* 211827 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZrr),
74448 /* 211832 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74449 /* 211836 */ GIR_RootConstrainSelectedInstOperands,
74450 /* 211837 */ // GIR_Coverage, 6257,
74451 /* 211837 */ GIR_Done,
74452 /* 211838 */ // Label 6206: @211838
74453 /* 211838 */ GIM_Reject,
74454 /* 211839 */ // Label 6204: @211839
74455 /* 211839 */ GIM_Reject,
74456 /* 211840 */ // Label 6202: @211840
74457 /* 211840 */ GIM_Reject,
74458 /* 211841 */ // Label 6104: @211841
74459 /* 211841 */ GIM_Try, /*On fail goto*//*Label 6207*/ GIMT_Encode4(212181),
74460 /* 211846 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
74461 /* 211849 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
74462 /* 211852 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6208*/ GIMT_Encode4(211913), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23611 //
74463 /* 211859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74464 /* 211863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74465 /* 211867 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74466 /* 211871 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74467 /* 211874 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74468 /* 211878 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74469 /* 211882 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74470 /* 211886 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74471 /* 211888 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74472 /* 211895 */ // (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)
74473 /* 211895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
74474 /* 211898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74475 /* 211900 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74476 /* 211902 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74477 /* 211906 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74478 /* 211911 */ GIR_RootConstrainSelectedInstOperands,
74479 /* 211912 */ // GIR_Coverage, 23611,
74480 /* 211912 */ GIR_EraseRootFromParent_Done,
74481 /* 211913 */ // Label 6208: @211913
74482 /* 211913 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6209*/ GIMT_Encode4(211974), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24535 //
74483 /* 211920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74484 /* 211924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74485 /* 211928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74486 /* 211932 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74487 /* 211935 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74488 /* 211939 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74489 /* 211943 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74490 /* 211947 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74491 /* 211949 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74492 /* 211956 */ // (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)
74493 /* 211956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
74494 /* 211959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74495 /* 211961 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74496 /* 211963 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74497 /* 211967 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74498 /* 211972 */ GIR_RootConstrainSelectedInstOperands,
74499 /* 211973 */ // GIR_Coverage, 24535,
74500 /* 211973 */ GIR_EraseRootFromParent_Done,
74501 /* 211974 */ // Label 6209: @211974
74502 /* 211974 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6210*/ GIMT_Encode4(212035), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2121 //
74503 /* 211981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74504 /* 211985 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74505 /* 211989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74506 /* 211993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74507 /* 211997 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74508 /* 212000 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74509 /* 212004 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74510 /* 212008 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74511 /* 212010 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74512 /* 212017 */ // (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)
74513 /* 212017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
74514 /* 212020 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74515 /* 212022 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74516 /* 212024 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74517 /* 212028 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74518 /* 212033 */ GIR_RootConstrainSelectedInstOperands,
74519 /* 212034 */ // GIR_Coverage, 2121,
74520 /* 212034 */ GIR_EraseRootFromParent_Done,
74521 /* 212035 */ // Label 6210: @212035
74522 /* 212035 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6211*/ GIMT_Encode4(212096), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6309 //
74523 /* 212042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74524 /* 212046 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74525 /* 212050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74526 /* 212054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74527 /* 212058 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74528 /* 212061 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74529 /* 212065 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74530 /* 212069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74531 /* 212071 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74532 /* 212078 */ // (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)
74533 /* 212078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
74534 /* 212081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74535 /* 212083 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74536 /* 212085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74537 /* 212089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74538 /* 212094 */ GIR_RootConstrainSelectedInstOperands,
74539 /* 212095 */ // GIR_Coverage, 6309,
74540 /* 212095 */ GIR_EraseRootFromParent_Done,
74541 /* 212096 */ // Label 6211: @212096
74542 /* 212096 */ GIM_Try, /*On fail goto*//*Label 6212*/ GIMT_Encode4(212150),
74543 /* 212101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74544 /* 212105 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74545 /* 212109 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74546 /* 212113 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6213*/ GIMT_Encode4(212131), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2119 //
74547 /* 212120 */ // (strict_fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
74548 /* 212120 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDrr),
74549 /* 212125 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74550 /* 212129 */ GIR_RootConstrainSelectedInstOperands,
74551 /* 212130 */ // GIR_Coverage, 2119,
74552 /* 212130 */ GIR_Done,
74553 /* 212131 */ // Label 6213: @212131
74554 /* 212131 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6214*/ GIMT_Encode4(212149), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2135 //
74555 /* 212138 */ // (strict_fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (ADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
74556 /* 212138 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPDrr),
74557 /* 212143 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74558 /* 212147 */ GIR_RootConstrainSelectedInstOperands,
74559 /* 212148 */ // GIR_Coverage, 2135,
74560 /* 212148 */ GIR_Done,
74561 /* 212149 */ // Label 6214: @212149
74562 /* 212149 */ GIM_Reject,
74563 /* 212150 */ // Label 6212: @212150
74564 /* 212150 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6215*/ GIMT_Encode4(212180), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6305 //
74565 /* 212157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74566 /* 212161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74567 /* 212165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74568 /* 212169 */ // (strict_fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VADDPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
74569 /* 212169 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rr),
74570 /* 212174 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74571 /* 212178 */ GIR_RootConstrainSelectedInstOperands,
74572 /* 212179 */ // GIR_Coverage, 6305,
74573 /* 212179 */ GIR_Done,
74574 /* 212180 */ // Label 6215: @212180
74575 /* 212180 */ GIM_Reject,
74576 /* 212181 */ // Label 6207: @212181
74577 /* 212181 */ GIM_Reject,
74578 /* 212182 */ // Label 6105: @212182
74579 /* 212182 */ GIM_Try, /*On fail goto*//*Label 6216*/ GIMT_Encode4(212498),
74580 /* 212187 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
74581 /* 212190 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
74582 /* 212193 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6217*/ GIMT_Encode4(212254), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23615 //
74583 /* 212200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74584 /* 212204 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74585 /* 212208 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74586 /* 212212 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74587 /* 212215 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74588 /* 212219 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74589 /* 212223 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74590 /* 212227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74591 /* 212229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74592 /* 212236 */ // (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)
74593 /* 212236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
74594 /* 212239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74595 /* 212241 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74596 /* 212243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74597 /* 212247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74598 /* 212252 */ GIR_RootConstrainSelectedInstOperands,
74599 /* 212253 */ // GIR_Coverage, 23615,
74600 /* 212253 */ GIR_EraseRootFromParent_Done,
74601 /* 212254 */ // Label 6217: @212254
74602 /* 212254 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6218*/ GIMT_Encode4(212315), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24543 //
74603 /* 212261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74604 /* 212265 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74605 /* 212269 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74606 /* 212273 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74607 /* 212276 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74608 /* 212280 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74609 /* 212284 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74610 /* 212288 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74611 /* 212290 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74612 /* 212297 */ // (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)
74613 /* 212297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
74614 /* 212300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74615 /* 212302 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74616 /* 212304 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74617 /* 212308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74618 /* 212313 */ GIR_RootConstrainSelectedInstOperands,
74619 /* 212314 */ // GIR_Coverage, 24543,
74620 /* 212314 */ GIR_EraseRootFromParent_Done,
74621 /* 212315 */ // Label 6218: @212315
74622 /* 212315 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6219*/ GIMT_Encode4(212376), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2129 //
74623 /* 212322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74624 /* 212326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74625 /* 212330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74626 /* 212334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74627 /* 212338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74628 /* 212341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74629 /* 212345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74630 /* 212349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74631 /* 212351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74632 /* 212358 */ // (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)
74633 /* 212358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
74634 /* 212361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74635 /* 212363 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74636 /* 212365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74637 /* 212369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74638 /* 212374 */ GIR_RootConstrainSelectedInstOperands,
74639 /* 212375 */ // GIR_Coverage, 2129,
74640 /* 212375 */ GIR_EraseRootFromParent_Done,
74641 /* 212376 */ // Label 6219: @212376
74642 /* 212376 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6220*/ GIMT_Encode4(212437), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6321 //
74643 /* 212383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74644 /* 212387 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74645 /* 212391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74646 /* 212395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74647 /* 212399 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74648 /* 212402 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74649 /* 212406 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74650 /* 212410 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74651 /* 212412 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74652 /* 212419 */ // (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)
74653 /* 212419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
74654 /* 212422 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74655 /* 212424 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74656 /* 212426 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74657 /* 212430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74658 /* 212435 */ GIR_RootConstrainSelectedInstOperands,
74659 /* 212436 */ // GIR_Coverage, 6321,
74660 /* 212436 */ GIR_EraseRootFromParent_Done,
74661 /* 212437 */ // Label 6220: @212437
74662 /* 212437 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6221*/ GIMT_Encode4(212467), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2127 //
74663 /* 212444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74664 /* 212448 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74665 /* 212452 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74666 /* 212456 */ // (strict_fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VADDPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
74667 /* 212456 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDYrr),
74668 /* 212461 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74669 /* 212465 */ GIR_RootConstrainSelectedInstOperands,
74670 /* 212466 */ // GIR_Coverage, 2127,
74671 /* 212466 */ GIR_Done,
74672 /* 212467 */ // Label 6221: @212467
74673 /* 212467 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6222*/ GIMT_Encode4(212497), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6317 //
74674 /* 212474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74675 /* 212478 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74676 /* 212482 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74677 /* 212486 */ // (strict_fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VADDPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
74678 /* 212486 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rr),
74679 /* 212491 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74680 /* 212495 */ GIR_RootConstrainSelectedInstOperands,
74681 /* 212496 */ // GIR_Coverage, 6317,
74682 /* 212496 */ GIR_Done,
74683 /* 212497 */ // Label 6222: @212497
74684 /* 212497 */ GIM_Reject,
74685 /* 212498 */ // Label 6216: @212498
74686 /* 212498 */ GIM_Reject,
74687 /* 212499 */ // Label 6106: @212499
74688 /* 212499 */ GIM_Try, /*On fail goto*//*Label 6223*/ GIMT_Encode4(212657),
74689 /* 212504 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
74690 /* 212507 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
74691 /* 212510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74692 /* 212514 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6224*/ GIMT_Encode4(212571), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24511 //
74693 /* 212521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74694 /* 212525 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74695 /* 212529 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74696 /* 212532 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74697 /* 212536 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74698 /* 212540 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74699 /* 212544 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74700 /* 212546 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74701 /* 212553 */ // (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)
74702 /* 212553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
74703 /* 212556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74704 /* 212558 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74705 /* 212560 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74706 /* 212564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74707 /* 212569 */ GIR_RootConstrainSelectedInstOperands,
74708 /* 212570 */ // GIR_Coverage, 24511,
74709 /* 212570 */ GIR_EraseRootFromParent_Done,
74710 /* 212571 */ // Label 6224: @212571
74711 /* 212571 */ GIM_Try, /*On fail goto*//*Label 6225*/ GIMT_Encode4(212656),
74712 /* 212576 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74713 /* 212580 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6226*/ GIMT_Encode4(212633), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6273 //
74714 /* 212587 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74715 /* 212591 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74716 /* 212595 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74717 /* 212598 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74718 /* 212602 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74719 /* 212606 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74720 /* 212608 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74721 /* 212615 */ // (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)
74722 /* 212615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
74723 /* 212618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74724 /* 212620 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74725 /* 212622 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74726 /* 212626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74727 /* 212631 */ GIR_RootConstrainSelectedInstOperands,
74728 /* 212632 */ // GIR_Coverage, 6273,
74729 /* 212632 */ GIR_EraseRootFromParent_Done,
74730 /* 212633 */ // Label 6226: @212633
74731 /* 212633 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6227*/ GIMT_Encode4(212655), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6269 //
74732 /* 212640 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74733 /* 212644 */ // (strict_fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VADDPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
74734 /* 212644 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZrr),
74735 /* 212649 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74736 /* 212653 */ GIR_RootConstrainSelectedInstOperands,
74737 /* 212654 */ // GIR_Coverage, 6269,
74738 /* 212654 */ GIR_Done,
74739 /* 212655 */ // Label 6227: @212655
74740 /* 212655 */ GIM_Reject,
74741 /* 212656 */ // Label 6225: @212656
74742 /* 212656 */ GIM_Reject,
74743 /* 212657 */ // Label 6223: @212657
74744 /* 212657 */ GIM_Reject,
74745 /* 212658 */ // Label 6107: @212658
74746 /* 212658 */ GIM_Reject,
74747 /* 212659 */ // Label 75: @212659
74748 /* 212659 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 6241*/ GIMT_Encode4(216193),
74749 /* 212670 */ /*GILLT_s16*//*Label 6228*/ GIMT_Encode4(212762),
74750 /* 212674 */ /*GILLT_s32*//*Label 6229*/ GIMT_Encode4(212858),
74751 /* 212678 */ /*GILLT_s64*//*Label 6230*/ GIMT_Encode4(213538),
74752 /* 212682 */ /*GILLT_s80*//*Label 6231*/ GIMT_Encode4(214344), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
74753 /* 212726 */ /*GILLT_v8s16*//*Label 6232*/ GIMT_Encode4(214885),
74754 /* 212730 */ /*GILLT_v16s16*//*Label 6233*/ GIMT_Encode4(214981),
74755 /* 212734 */ /*GILLT_v32s16*//*Label 6234*/ GIMT_Encode4(215077),
74756 /* 212738 */ /*GILLT_v4s32*//*Label 6235*/ GIMT_Encode4(215173),
74757 /* 212742 */ /*GILLT_v8s32*//*Label 6236*/ GIMT_Encode4(215392),
74758 /* 212746 */ /*GILLT_v16s32*//*Label 6237*/ GIMT_Encode4(215587),
74759 /* 212750 */ /*GILLT_v2s64*//*Label 6238*/ GIMT_Encode4(215683),
74760 /* 212754 */ /*GILLT_v4s64*//*Label 6239*/ GIMT_Encode4(215902),
74761 /* 212758 */ /*GILLT_v8s64*//*Label 6240*/ GIMT_Encode4(216097),
74762 /* 212762 */ // Label 6228: @212762
74763 /* 212762 */ GIM_Try, /*On fail goto*//*Label 6242*/ GIMT_Encode4(212857),
74764 /* 212767 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
74765 /* 212770 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
74766 /* 212773 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74767 /* 212777 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74768 /* 212781 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6243*/ GIMT_Encode4(212834), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6069 //
74769 /* 212788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74770 /* 212792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74771 /* 212796 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74772 /* 212799 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74773 /* 212803 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74774 /* 212807 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74775 /* 212809 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74776 /* 212816 */ // (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)
74777 /* 212816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrm),
74778 /* 212819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74779 /* 212821 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74780 /* 212823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74781 /* 212827 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74782 /* 212832 */ GIR_RootConstrainSelectedInstOperands,
74783 /* 212833 */ // GIR_Coverage, 6069,
74784 /* 212833 */ GIR_EraseRootFromParent_Done,
74785 /* 212834 */ // Label 6243: @212834
74786 /* 212834 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6244*/ GIMT_Encode4(212856), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6067 //
74787 /* 212841 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74788 /* 212845 */ // (strict_fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VSUBSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
74789 /* 212845 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrr),
74790 /* 212850 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74791 /* 212854 */ GIR_RootConstrainSelectedInstOperands,
74792 /* 212855 */ // GIR_Coverage, 6067,
74793 /* 212855 */ GIR_Done,
74794 /* 212856 */ // Label 6244: @212856
74795 /* 212856 */ GIM_Reject,
74796 /* 212857 */ // Label 6242: @212857
74797 /* 212857 */ GIM_Reject,
74798 /* 212858 */ // Label 6229: @212858
74799 /* 212858 */ GIM_Try, /*On fail goto*//*Label 6245*/ GIMT_Encode4(213537),
74800 /* 212863 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
74801 /* 212866 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
74802 /* 212869 */ GIM_Try, /*On fail goto*//*Label 6246*/ GIMT_Encode4(213235),
74803 /* 212874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74804 /* 212878 */ GIM_Try, /*On fail goto*//*Label 6247*/ GIMT_Encode4(213056),
74805 /* 212883 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74806 /* 212887 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6248*/ GIMT_Encode4(212943), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 940 //
74807 /* 212894 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74808 /* 212898 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74809 /* 212902 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74810 /* 212909 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74811 /* 212913 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74812 /* 212915 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74813 /* 212922 */ // (strict_fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74814 /* 212922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m32),
74815 /* 212925 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74816 /* 212927 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74817 /* 212929 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74818 /* 212933 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74819 /* 212936 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74820 /* 212941 */ GIR_RootConstrainSelectedInstOperands,
74821 /* 212942 */ // GIR_Coverage, 940,
74822 /* 212942 */ GIR_EraseRootFromParent_Done,
74823 /* 212943 */ // Label 6248: @212943
74824 /* 212943 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6249*/ GIMT_Encode4(212999), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 942 //
74825 /* 212950 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74826 /* 212954 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74827 /* 212958 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74828 /* 212965 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74829 /* 212969 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74830 /* 212971 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74831 /* 212978 */ // (strict_fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74832 /* 212978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m32),
74833 /* 212981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74834 /* 212983 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74835 /* 212985 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74836 /* 212989 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74837 /* 212992 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74838 /* 212997 */ GIR_RootConstrainSelectedInstOperands,
74839 /* 212998 */ // GIR_Coverage, 942,
74840 /* 212998 */ GIR_EraseRootFromParent_Done,
74841 /* 212999 */ // Label 6249: @212999
74842 /* 212999 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6250*/ GIMT_Encode4(213055), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 930 //
74843 /* 213006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74844 /* 213010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74845 /* 213014 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74846 /* 213017 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74847 /* 213021 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74848 /* 213025 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74849 /* 213027 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74850 /* 213034 */ // (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)
74851 /* 213034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp32m),
74852 /* 213037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74853 /* 213039 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74854 /* 213041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74855 /* 213045 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74856 /* 213048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74857 /* 213053 */ GIR_RootConstrainSelectedInstOperands,
74858 /* 213054 */ // GIR_Coverage, 930,
74859 /* 213054 */ GIR_EraseRootFromParent_Done,
74860 /* 213055 */ // Label 6250: @213055
74861 /* 213055 */ GIM_Reject,
74862 /* 213056 */ // Label 6247: @213056
74863 /* 213056 */ GIM_Try, /*On fail goto*//*Label 6251*/ GIMT_Encode4(213234),
74864 /* 213061 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74865 /* 213065 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6252*/ GIMT_Encode4(213121), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 918 //
74866 /* 213072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74867 /* 213076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74868 /* 213080 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74869 /* 213087 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74870 /* 213091 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74871 /* 213093 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74872 /* 213100 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74873 /* 213100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m32),
74874 /* 213103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74875 /* 213105 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74876 /* 213107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74877 /* 213111 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74878 /* 213114 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74879 /* 213119 */ GIR_RootConstrainSelectedInstOperands,
74880 /* 213120 */ // GIR_Coverage, 918,
74881 /* 213120 */ GIR_EraseRootFromParent_Done,
74882 /* 213121 */ // Label 6252: @213121
74883 /* 213121 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6253*/ GIMT_Encode4(213177), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 920 //
74884 /* 213128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74885 /* 213132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74886 /* 213136 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74887 /* 213143 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74888 /* 213147 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74889 /* 213149 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74890 /* 213156 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74891 /* 213156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m32),
74892 /* 213159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74893 /* 213161 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74894 /* 213163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74895 /* 213167 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74896 /* 213170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74897 /* 213175 */ GIR_RootConstrainSelectedInstOperands,
74898 /* 213176 */ // GIR_Coverage, 920,
74899 /* 213176 */ GIR_EraseRootFromParent_Done,
74900 /* 213177 */ // Label 6253: @213177
74901 /* 213177 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6254*/ GIMT_Encode4(213233), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 908 //
74902 /* 213184 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74903 /* 213188 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74904 /* 213192 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74905 /* 213195 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74906 /* 213199 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74907 /* 213203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74908 /* 213205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74909 /* 213212 */ // (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)
74910 /* 213212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32m),
74911 /* 213215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74912 /* 213217 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74913 /* 213219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74914 /* 213223 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74915 /* 213226 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74916 /* 213231 */ GIR_RootConstrainSelectedInstOperands,
74917 /* 213232 */ // GIR_Coverage, 908,
74918 /* 213232 */ GIR_EraseRootFromParent_Done,
74919 /* 213233 */ // Label 6254: @213233
74920 /* 213233 */ GIM_Reject,
74921 /* 213234 */ // Label 6251: @213234
74922 /* 213234 */ GIM_Reject,
74923 /* 213235 */ // Label 6246: @213235
74924 /* 213235 */ GIM_Try, /*On fail goto*//*Label 6255*/ GIMT_Encode4(213355),
74925 /* 213240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74926 /* 213244 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74927 /* 213248 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6256*/ GIMT_Encode4(213301), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2221 //
74928 /* 213255 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74929 /* 213259 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74930 /* 213263 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74931 /* 213266 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74932 /* 213270 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74933 /* 213274 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74934 /* 213276 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74935 /* 213283 */ // (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)
74936 /* 213283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
74937 /* 213286 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74938 /* 213288 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74939 /* 213290 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74940 /* 213294 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74941 /* 213299 */ GIR_RootConstrainSelectedInstOperands,
74942 /* 213300 */ // GIR_Coverage, 2221,
74943 /* 213300 */ GIR_EraseRootFromParent_Done,
74944 /* 213301 */ // Label 6256: @213301
74945 /* 213301 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6257*/ GIMT_Encode4(213354), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2229 //
74946 /* 213308 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74947 /* 213312 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74948 /* 213316 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74949 /* 213319 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74950 /* 213323 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74951 /* 213327 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74952 /* 213329 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74953 /* 213336 */ // (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)
74954 /* 213336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
74955 /* 213339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74956 /* 213341 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74957 /* 213343 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74958 /* 213347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74959 /* 213352 */ GIR_RootConstrainSelectedInstOperands,
74960 /* 213353 */ // GIR_Coverage, 2229,
74961 /* 213353 */ GIR_EraseRootFromParent_Done,
74962 /* 213354 */ // Label 6257: @213354
74963 /* 213354 */ GIM_Reject,
74964 /* 213355 */ // Label 6255: @213355
74965 /* 213355 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6258*/ GIMT_Encode4(213416), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6031 //
74966 /* 213362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74967 /* 213366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74968 /* 213370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74969 /* 213374 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74970 /* 213378 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74971 /* 213381 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74972 /* 213385 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74973 /* 213389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74974 /* 213391 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74975 /* 213398 */ // (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)
74976 /* 213398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
74977 /* 213401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74978 /* 213403 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74979 /* 213405 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74980 /* 213409 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74981 /* 213414 */ GIR_RootConstrainSelectedInstOperands,
74982 /* 213415 */ // GIR_Coverage, 6031,
74983 /* 213415 */ GIR_EraseRootFromParent_Done,
74984 /* 213416 */ // Label 6258: @213416
74985 /* 213416 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6259*/ GIMT_Encode4(213452), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 868 //
74986 /* 213423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74987 /* 213427 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74988 /* 213431 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74989 /* 213435 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (SUB_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
74990 /* 213435 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32),
74991 /* 213440 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
74992 /* 213446 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
74993 /* 213450 */ GIR_RootConstrainSelectedInstOperands,
74994 /* 213451 */ // GIR_Coverage, 868,
74995 /* 213451 */ GIR_Done,
74996 /* 213452 */ // Label 6259: @213452
74997 /* 213452 */ GIM_Try, /*On fail goto*//*Label 6260*/ GIMT_Encode4(213506),
74998 /* 213457 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74999 /* 213461 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75000 /* 213465 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75001 /* 213469 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6261*/ GIMT_Encode4(213487), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2219 //
75002 /* 213476 */ // (strict_fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VSUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
75003 /* 213476 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSrr),
75004 /* 213481 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75005 /* 213485 */ GIR_RootConstrainSelectedInstOperands,
75006 /* 213486 */ // GIR_Coverage, 2219,
75007 /* 213486 */ GIR_Done,
75008 /* 213487 */ // Label 6261: @213487
75009 /* 213487 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6262*/ GIMT_Encode4(213505), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2227 //
75010 /* 213494 */ // (strict_fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (SUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
75011 /* 213494 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSSrr),
75012 /* 213499 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75013 /* 213503 */ GIR_RootConstrainSelectedInstOperands,
75014 /* 213504 */ // GIR_Coverage, 2227,
75015 /* 213504 */ GIR_Done,
75016 /* 213505 */ // Label 6262: @213505
75017 /* 213505 */ GIM_Reject,
75018 /* 213506 */ // Label 6260: @213506
75019 /* 213506 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6263*/ GIMT_Encode4(213536), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6029 //
75020 /* 213513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
75021 /* 213517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
75022 /* 213521 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
75023 /* 213525 */ // (strict_fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VSUBSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
75024 /* 213525 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrr),
75025 /* 213530 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75026 /* 213534 */ GIR_RootConstrainSelectedInstOperands,
75027 /* 213535 */ // GIR_Coverage, 6029,
75028 /* 213535 */ GIR_Done,
75029 /* 213536 */ // Label 6263: @213536
75030 /* 213536 */ GIM_Reject,
75031 /* 213537 */ // Label 6245: @213537
75032 /* 213537 */ GIM_Reject,
75033 /* 213538 */ // Label 6230: @213538
75034 /* 213538 */ GIM_Try, /*On fail goto*//*Label 6264*/ GIMT_Encode4(214343),
75035 /* 213543 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
75036 /* 213546 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
75037 /* 213549 */ GIM_Try, /*On fail goto*//*Label 6265*/ GIMT_Encode4(214041),
75038 /* 213554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75039 /* 213558 */ GIM_Try, /*On fail goto*//*Label 6266*/ GIMT_Encode4(213799),
75040 /* 213563 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75041 /* 213567 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6267*/ GIMT_Encode4(213623), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 944 //
75042 /* 213574 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75043 /* 213578 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75044 /* 213582 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75045 /* 213589 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75046 /* 213593 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75047 /* 213595 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75048 /* 213602 */ // (strict_fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75049 /* 213602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m64),
75050 /* 213605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75051 /* 213607 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75052 /* 213609 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75053 /* 213613 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75054 /* 213616 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75055 /* 213621 */ GIR_RootConstrainSelectedInstOperands,
75056 /* 213622 */ // GIR_Coverage, 944,
75057 /* 213622 */ GIR_EraseRootFromParent_Done,
75058 /* 213623 */ // Label 6267: @213623
75059 /* 213623 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6268*/ GIMT_Encode4(213679), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 946 //
75060 /* 213630 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75061 /* 213634 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75062 /* 213638 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75063 /* 213645 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75064 /* 213649 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75065 /* 213651 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75066 /* 213658 */ // (strict_fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75067 /* 213658 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m64),
75068 /* 213661 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75069 /* 213663 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75070 /* 213665 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75071 /* 213669 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75072 /* 213672 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75073 /* 213677 */ GIR_RootConstrainSelectedInstOperands,
75074 /* 213678 */ // GIR_Coverage, 946,
75075 /* 213678 */ GIR_EraseRootFromParent_Done,
75076 /* 213679 */ // Label 6268: @213679
75077 /* 213679 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6269*/ GIMT_Encode4(213742), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 934 //
75078 /* 213686 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75079 /* 213690 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
75080 /* 213694 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75081 /* 213697 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75082 /* 213701 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75083 /* 213708 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75084 /* 213712 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75085 /* 213714 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75086 /* 213721 */ // (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)
75087 /* 213721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m32),
75088 /* 213724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75089 /* 213726 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75090 /* 213728 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75091 /* 213732 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75092 /* 213735 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75093 /* 213740 */ GIR_RootConstrainSelectedInstOperands,
75094 /* 213741 */ // GIR_Coverage, 934,
75095 /* 213741 */ GIR_EraseRootFromParent_Done,
75096 /* 213742 */ // Label 6269: @213742
75097 /* 213742 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6270*/ GIMT_Encode4(213798), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 932 //
75098 /* 213749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75099 /* 213753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75100 /* 213757 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75101 /* 213760 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75102 /* 213764 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75103 /* 213768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75104 /* 213770 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75105 /* 213777 */ // (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)
75106 /* 213777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m),
75107 /* 213780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75108 /* 213782 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75109 /* 213784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75110 /* 213788 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75111 /* 213791 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75112 /* 213796 */ GIR_RootConstrainSelectedInstOperands,
75113 /* 213797 */ // GIR_Coverage, 932,
75114 /* 213797 */ GIR_EraseRootFromParent_Done,
75115 /* 213798 */ // Label 6270: @213798
75116 /* 213798 */ GIM_Reject,
75117 /* 213799 */ // Label 6266: @213799
75118 /* 213799 */ GIM_Try, /*On fail goto*//*Label 6271*/ GIMT_Encode4(214040),
75119 /* 213804 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75120 /* 213808 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6272*/ GIMT_Encode4(213864), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 922 //
75121 /* 213815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75122 /* 213819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75123 /* 213823 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75124 /* 213830 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75125 /* 213834 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75126 /* 213836 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75127 /* 213843 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75128 /* 213843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m64),
75129 /* 213846 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75130 /* 213848 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75131 /* 213850 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75132 /* 213854 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75133 /* 213857 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75134 /* 213862 */ GIR_RootConstrainSelectedInstOperands,
75135 /* 213863 */ // GIR_Coverage, 922,
75136 /* 213863 */ GIR_EraseRootFromParent_Done,
75137 /* 213864 */ // Label 6272: @213864
75138 /* 213864 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6273*/ GIMT_Encode4(213920), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 924 //
75139 /* 213871 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75140 /* 213875 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75141 /* 213879 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75142 /* 213886 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75143 /* 213890 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75144 /* 213892 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75145 /* 213899 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75146 /* 213899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m64),
75147 /* 213902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75148 /* 213904 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75149 /* 213906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75150 /* 213910 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75151 /* 213913 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75152 /* 213918 */ GIR_RootConstrainSelectedInstOperands,
75153 /* 213919 */ // GIR_Coverage, 924,
75154 /* 213919 */ GIR_EraseRootFromParent_Done,
75155 /* 213920 */ // Label 6273: @213920
75156 /* 213920 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6274*/ GIMT_Encode4(213983), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 912 //
75157 /* 213927 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75158 /* 213931 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
75159 /* 213935 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75160 /* 213938 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75161 /* 213942 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75162 /* 213949 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75163 /* 213953 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75164 /* 213955 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75165 /* 213962 */ // (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)
75166 /* 213962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m32),
75167 /* 213965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75168 /* 213967 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75169 /* 213969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75170 /* 213973 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75171 /* 213976 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75172 /* 213981 */ GIR_RootConstrainSelectedInstOperands,
75173 /* 213982 */ // GIR_Coverage, 912,
75174 /* 213982 */ GIR_EraseRootFromParent_Done,
75175 /* 213983 */ // Label 6274: @213983
75176 /* 213983 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6275*/ GIMT_Encode4(214039), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 910 //
75177 /* 213990 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75178 /* 213994 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75179 /* 213998 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75180 /* 214001 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75181 /* 214005 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75182 /* 214009 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75183 /* 214011 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75184 /* 214018 */ // (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)
75185 /* 214018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m),
75186 /* 214021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75187 /* 214023 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75188 /* 214025 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75189 /* 214029 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75190 /* 214032 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75191 /* 214037 */ GIR_RootConstrainSelectedInstOperands,
75192 /* 214038 */ // GIR_Coverage, 910,
75193 /* 214038 */ GIR_EraseRootFromParent_Done,
75194 /* 214039 */ // Label 6275: @214039
75195 /* 214039 */ GIM_Reject,
75196 /* 214040 */ // Label 6271: @214040
75197 /* 214040 */ GIM_Reject,
75198 /* 214041 */ // Label 6265: @214041
75199 /* 214041 */ GIM_Try, /*On fail goto*//*Label 6276*/ GIMT_Encode4(214161),
75200 /* 214046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75201 /* 214050 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75202 /* 214054 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6277*/ GIMT_Encode4(214107), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2225 //
75203 /* 214061 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75204 /* 214065 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75205 /* 214069 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75206 /* 214072 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75207 /* 214076 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75208 /* 214080 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75209 /* 214082 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75210 /* 214089 */ // (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)
75211 /* 214089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
75212 /* 214092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75213 /* 214094 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75214 /* 214096 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75215 /* 214100 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75216 /* 214105 */ GIR_RootConstrainSelectedInstOperands,
75217 /* 214106 */ // GIR_Coverage, 2225,
75218 /* 214106 */ GIR_EraseRootFromParent_Done,
75219 /* 214107 */ // Label 6277: @214107
75220 /* 214107 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6278*/ GIMT_Encode4(214160), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2233 //
75221 /* 214114 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75222 /* 214118 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75223 /* 214122 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75224 /* 214125 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75225 /* 214129 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75226 /* 214133 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75227 /* 214135 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75228 /* 214142 */ // (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)
75229 /* 214142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
75230 /* 214145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75231 /* 214147 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75232 /* 214149 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75233 /* 214153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75234 /* 214158 */ GIR_RootConstrainSelectedInstOperands,
75235 /* 214159 */ // GIR_Coverage, 2233,
75236 /* 214159 */ GIR_EraseRootFromParent_Done,
75237 /* 214160 */ // Label 6278: @214160
75238 /* 214160 */ GIM_Reject,
75239 /* 214161 */ // Label 6276: @214161
75240 /* 214161 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6279*/ GIMT_Encode4(214222), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6050 //
75241 /* 214168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75242 /* 214172 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75243 /* 214176 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75244 /* 214180 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75245 /* 214184 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75246 /* 214187 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75247 /* 214191 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75248 /* 214195 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75249 /* 214197 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75250 /* 214204 */ // (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)
75251 /* 214204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
75252 /* 214207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75253 /* 214209 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75254 /* 214211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75255 /* 214215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75256 /* 214220 */ GIR_RootConstrainSelectedInstOperands,
75257 /* 214221 */ // GIR_Coverage, 6050,
75258 /* 214221 */ GIR_EraseRootFromParent_Done,
75259 /* 214222 */ // Label 6279: @214222
75260 /* 214222 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6280*/ GIMT_Encode4(214258), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 870 //
75261 /* 214229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75262 /* 214233 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75263 /* 214237 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75264 /* 214241 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (SUB_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
75265 /* 214241 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64),
75266 /* 214246 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
75267 /* 214252 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
75268 /* 214256 */ GIR_RootConstrainSelectedInstOperands,
75269 /* 214257 */ // GIR_Coverage, 870,
75270 /* 214257 */ GIR_Done,
75271 /* 214258 */ // Label 6280: @214258
75272 /* 214258 */ GIM_Try, /*On fail goto*//*Label 6281*/ GIMT_Encode4(214312),
75273 /* 214263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75274 /* 214267 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75275 /* 214271 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75276 /* 214275 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6282*/ GIMT_Encode4(214293), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2223 //
75277 /* 214282 */ // (strict_fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VSUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
75278 /* 214282 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDrr),
75279 /* 214287 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75280 /* 214291 */ GIR_RootConstrainSelectedInstOperands,
75281 /* 214292 */ // GIR_Coverage, 2223,
75282 /* 214292 */ GIR_Done,
75283 /* 214293 */ // Label 6282: @214293
75284 /* 214293 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6283*/ GIMT_Encode4(214311), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2231 //
75285 /* 214300 */ // (strict_fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (SUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
75286 /* 214300 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSDrr),
75287 /* 214305 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75288 /* 214309 */ GIR_RootConstrainSelectedInstOperands,
75289 /* 214310 */ // GIR_Coverage, 2231,
75290 /* 214310 */ GIR_Done,
75291 /* 214311 */ // Label 6283: @214311
75292 /* 214311 */ GIM_Reject,
75293 /* 214312 */ // Label 6281: @214312
75294 /* 214312 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6284*/ GIMT_Encode4(214342), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6048 //
75295 /* 214319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75296 /* 214323 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75297 /* 214327 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75298 /* 214331 */ // (strict_fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VSUBSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
75299 /* 214331 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrr),
75300 /* 214336 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75301 /* 214340 */ GIR_RootConstrainSelectedInstOperands,
75302 /* 214341 */ // GIR_Coverage, 6048,
75303 /* 214341 */ GIR_Done,
75304 /* 214342 */ // Label 6284: @214342
75305 /* 214342 */ GIM_Reject,
75306 /* 214343 */ // Label 6264: @214343
75307 /* 214343 */ GIM_Reject,
75308 /* 214344 */ // Label 6231: @214344
75309 /* 214344 */ GIM_Try, /*On fail goto*//*Label 6285*/ GIMT_Encode4(214884),
75310 /* 214349 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
75311 /* 214352 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
75312 /* 214355 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75313 /* 214359 */ GIM_Try, /*On fail goto*//*Label 6286*/ GIMT_Encode4(214607),
75314 /* 214364 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75315 /* 214368 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6287*/ GIMT_Encode4(214424), GIMT_Encode2(GIFBS_HasX87), // Rule ID 948 //
75316 /* 214375 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75317 /* 214379 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75318 /* 214383 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75319 /* 214390 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75320 /* 214394 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75321 /* 214396 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75322 /* 214403 */ // (strict_fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
75323 /* 214403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m80),
75324 /* 214406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75325 /* 214408 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75326 /* 214410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75327 /* 214414 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75328 /* 214417 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75329 /* 214422 */ GIR_RootConstrainSelectedInstOperands,
75330 /* 214423 */ // GIR_Coverage, 948,
75331 /* 214423 */ GIR_EraseRootFromParent_Done,
75332 /* 214424 */ // Label 6287: @214424
75333 /* 214424 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6288*/ GIMT_Encode4(214480), GIMT_Encode2(GIFBS_HasX87), // Rule ID 950 //
75334 /* 214431 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75335 /* 214435 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75336 /* 214439 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75337 /* 214446 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75338 /* 214450 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75339 /* 214452 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75340 /* 214459 */ // (strict_fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
75341 /* 214459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m80),
75342 /* 214462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75343 /* 214464 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75344 /* 214466 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75345 /* 214470 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75346 /* 214473 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75347 /* 214478 */ GIR_RootConstrainSelectedInstOperands,
75348 /* 214479 */ // GIR_Coverage, 950,
75349 /* 214479 */ GIR_EraseRootFromParent_Done,
75350 /* 214480 */ // Label 6288: @214480
75351 /* 214480 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6289*/ GIMT_Encode4(214543), GIMT_Encode2(GIFBS_HasX87), // Rule ID 936 //
75352 /* 214487 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75353 /* 214491 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
75354 /* 214495 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75355 /* 214498 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75356 /* 214502 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75357 /* 214509 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75358 /* 214513 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75359 /* 214515 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75360 /* 214522 */ // (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)
75361 /* 214522 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m32),
75362 /* 214525 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75363 /* 214527 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75364 /* 214529 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75365 /* 214533 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75366 /* 214536 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75367 /* 214541 */ GIR_RootConstrainSelectedInstOperands,
75368 /* 214542 */ // GIR_Coverage, 936,
75369 /* 214542 */ GIR_EraseRootFromParent_Done,
75370 /* 214543 */ // Label 6289: @214543
75371 /* 214543 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6290*/ GIMT_Encode4(214606), GIMT_Encode2(GIFBS_HasX87), // Rule ID 938 //
75372 /* 214550 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75373 /* 214554 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
75374 /* 214558 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75375 /* 214561 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75376 /* 214565 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
75377 /* 214572 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75378 /* 214576 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75379 /* 214578 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75380 /* 214585 */ // (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)
75381 /* 214585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m64),
75382 /* 214588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75383 /* 214590 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75384 /* 214592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75385 /* 214596 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75386 /* 214599 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75387 /* 214604 */ GIR_RootConstrainSelectedInstOperands,
75388 /* 214605 */ // GIR_Coverage, 938,
75389 /* 214605 */ GIR_EraseRootFromParent_Done,
75390 /* 214606 */ // Label 6290: @214606
75391 /* 214606 */ GIM_Reject,
75392 /* 214607 */ // Label 6286: @214607
75393 /* 214607 */ GIM_Try, /*On fail goto*//*Label 6291*/ GIMT_Encode4(214883),
75394 /* 214612 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75395 /* 214616 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6292*/ GIMT_Encode4(214672), GIMT_Encode2(GIFBS_HasX87), // Rule ID 926 //
75396 /* 214623 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75397 /* 214627 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75398 /* 214631 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75399 /* 214638 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75400 /* 214642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75401 /* 214644 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75402 /* 214651 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
75403 /* 214651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m80),
75404 /* 214654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75405 /* 214656 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75406 /* 214658 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75407 /* 214662 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75408 /* 214665 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75409 /* 214670 */ GIR_RootConstrainSelectedInstOperands,
75410 /* 214671 */ // GIR_Coverage, 926,
75411 /* 214671 */ GIR_EraseRootFromParent_Done,
75412 /* 214672 */ // Label 6292: @214672
75413 /* 214672 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6293*/ GIMT_Encode4(214728), GIMT_Encode2(GIFBS_HasX87), // Rule ID 928 //
75414 /* 214679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75415 /* 214683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75416 /* 214687 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75417 /* 214694 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75418 /* 214698 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75419 /* 214700 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75420 /* 214707 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
75421 /* 214707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m80),
75422 /* 214710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75423 /* 214712 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75424 /* 214714 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75425 /* 214718 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75426 /* 214721 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75427 /* 214726 */ GIR_RootConstrainSelectedInstOperands,
75428 /* 214727 */ // GIR_Coverage, 928,
75429 /* 214727 */ GIR_EraseRootFromParent_Done,
75430 /* 214728 */ // Label 6293: @214728
75431 /* 214728 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6294*/ GIMT_Encode4(214791), GIMT_Encode2(GIFBS_HasX87), // Rule ID 914 //
75432 /* 214735 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75433 /* 214739 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
75434 /* 214743 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75435 /* 214746 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75436 /* 214750 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75437 /* 214757 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75438 /* 214761 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75439 /* 214763 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75440 /* 214770 */ // (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)
75441 /* 214770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m32),
75442 /* 214773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75443 /* 214775 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75444 /* 214777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75445 /* 214781 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75446 /* 214784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75447 /* 214789 */ GIR_RootConstrainSelectedInstOperands,
75448 /* 214790 */ // GIR_Coverage, 914,
75449 /* 214790 */ GIR_EraseRootFromParent_Done,
75450 /* 214791 */ // Label 6294: @214791
75451 /* 214791 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6295*/ GIMT_Encode4(214854), GIMT_Encode2(GIFBS_HasX87), // Rule ID 916 //
75452 /* 214798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75453 /* 214802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
75454 /* 214806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75455 /* 214809 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75456 /* 214813 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
75457 /* 214820 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75458 /* 214824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75459 /* 214826 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75460 /* 214833 */ // (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)
75461 /* 214833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m64),
75462 /* 214836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75463 /* 214838 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75464 /* 214840 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75465 /* 214844 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75466 /* 214847 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75467 /* 214852 */ GIR_RootConstrainSelectedInstOperands,
75468 /* 214853 */ // GIR_Coverage, 916,
75469 /* 214853 */ GIR_EraseRootFromParent_Done,
75470 /* 214854 */ // Label 6295: @214854
75471 /* 214854 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6296*/ GIMT_Encode4(214882), GIMT_Encode2(GIFBS_HasX87), // Rule ID 872 //
75472 /* 214861 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75473 /* 214865 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (SUB_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
75474 /* 214865 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80),
75475 /* 214870 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
75476 /* 214876 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
75477 /* 214880 */ GIR_RootConstrainSelectedInstOperands,
75478 /* 214881 */ // GIR_Coverage, 872,
75479 /* 214881 */ GIR_Done,
75480 /* 214882 */ // Label 6296: @214882
75481 /* 214882 */ GIM_Reject,
75482 /* 214883 */ // Label 6291: @214883
75483 /* 214883 */ GIM_Reject,
75484 /* 214884 */ // Label 6285: @214884
75485 /* 214884 */ GIM_Reject,
75486 /* 214885 */ // Label 6232: @214885
75487 /* 214885 */ GIM_Try, /*On fail goto*//*Label 6297*/ GIMT_Encode4(214980),
75488 /* 214890 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
75489 /* 214893 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
75490 /* 214896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75491 /* 214900 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75492 /* 214904 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6298*/ GIMT_Encode4(214957), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6579 //
75493 /* 214911 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75494 /* 214915 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75495 /* 214919 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75496 /* 214922 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75497 /* 214926 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75498 /* 214930 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75499 /* 214932 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75500 /* 214939 */ // (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)
75501 /* 214939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rm),
75502 /* 214942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75503 /* 214944 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75504 /* 214946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75505 /* 214950 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75506 /* 214955 */ GIR_RootConstrainSelectedInstOperands,
75507 /* 214956 */ // GIR_Coverage, 6579,
75508 /* 214956 */ GIR_EraseRootFromParent_Done,
75509 /* 214957 */ // Label 6298: @214957
75510 /* 214957 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6299*/ GIMT_Encode4(214979), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6575 //
75511 /* 214964 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75512 /* 214968 */ // (strict_fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VSUBPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
75513 /* 214968 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rr),
75514 /* 214973 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75515 /* 214977 */ GIR_RootConstrainSelectedInstOperands,
75516 /* 214978 */ // GIR_Coverage, 6575,
75517 /* 214978 */ GIR_Done,
75518 /* 214979 */ // Label 6299: @214979
75519 /* 214979 */ GIM_Reject,
75520 /* 214980 */ // Label 6297: @214980
75521 /* 214980 */ GIM_Reject,
75522 /* 214981 */ // Label 6233: @214981
75523 /* 214981 */ GIM_Try, /*On fail goto*//*Label 6300*/ GIMT_Encode4(215076),
75524 /* 214986 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
75525 /* 214989 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
75526 /* 214992 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75527 /* 214996 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75528 /* 215000 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6301*/ GIMT_Encode4(215053), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6591 //
75529 /* 215007 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75530 /* 215011 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75531 /* 215015 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75532 /* 215018 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75533 /* 215022 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75534 /* 215026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75535 /* 215028 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75536 /* 215035 */ // (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)
75537 /* 215035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rm),
75538 /* 215038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75539 /* 215040 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75540 /* 215042 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75541 /* 215046 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75542 /* 215051 */ GIR_RootConstrainSelectedInstOperands,
75543 /* 215052 */ // GIR_Coverage, 6591,
75544 /* 215052 */ GIR_EraseRootFromParent_Done,
75545 /* 215053 */ // Label 6301: @215053
75546 /* 215053 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6302*/ GIMT_Encode4(215075), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6587 //
75547 /* 215060 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75548 /* 215064 */ // (strict_fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VSUBPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
75549 /* 215064 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rr),
75550 /* 215069 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75551 /* 215073 */ GIR_RootConstrainSelectedInstOperands,
75552 /* 215074 */ // GIR_Coverage, 6587,
75553 /* 215074 */ GIR_Done,
75554 /* 215075 */ // Label 6302: @215075
75555 /* 215075 */ GIM_Reject,
75556 /* 215076 */ // Label 6300: @215076
75557 /* 215076 */ GIM_Reject,
75558 /* 215077 */ // Label 6234: @215077
75559 /* 215077 */ GIM_Try, /*On fail goto*//*Label 6303*/ GIMT_Encode4(215172),
75560 /* 215082 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
75561 /* 215085 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
75562 /* 215088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75563 /* 215092 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75564 /* 215096 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6304*/ GIMT_Encode4(215149), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6567 //
75565 /* 215103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75566 /* 215107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75567 /* 215111 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75568 /* 215114 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75569 /* 215118 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75570 /* 215122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75571 /* 215124 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75572 /* 215131 */ // (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)
75573 /* 215131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrm),
75574 /* 215134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75575 /* 215136 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75576 /* 215138 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75577 /* 215142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75578 /* 215147 */ GIR_RootConstrainSelectedInstOperands,
75579 /* 215148 */ // GIR_Coverage, 6567,
75580 /* 215148 */ GIR_EraseRootFromParent_Done,
75581 /* 215149 */ // Label 6304: @215149
75582 /* 215149 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6305*/ GIMT_Encode4(215171), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6563 //
75583 /* 215156 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75584 /* 215160 */ // (strict_fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VSUBPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
75585 /* 215160 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrr),
75586 /* 215165 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75587 /* 215169 */ GIR_RootConstrainSelectedInstOperands,
75588 /* 215170 */ // GIR_Coverage, 6563,
75589 /* 215170 */ GIR_Done,
75590 /* 215171 */ // Label 6305: @215171
75591 /* 215171 */ GIM_Reject,
75592 /* 215172 */ // Label 6303: @215172
75593 /* 215172 */ GIM_Reject,
75594 /* 215173 */ // Label 6235: @215173
75595 /* 215173 */ GIM_Try, /*On fail goto*//*Label 6306*/ GIMT_Encode4(215391),
75596 /* 215178 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
75597 /* 215181 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
75598 /* 215184 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6307*/ GIMT_Encode4(215245), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2197 //
75599 /* 215191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75600 /* 215195 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75601 /* 215199 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75602 /* 215203 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75603 /* 215207 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75604 /* 215210 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75605 /* 215214 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75606 /* 215218 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75607 /* 215220 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75608 /* 215227 */ // (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)
75609 /* 215227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSrm),
75610 /* 215230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75611 /* 215232 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75612 /* 215234 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75613 /* 215238 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75614 /* 215243 */ GIR_RootConstrainSelectedInstOperands,
75615 /* 215244 */ // GIR_Coverage, 2197,
75616 /* 215244 */ GIR_EraseRootFromParent_Done,
75617 /* 215245 */ // Label 6307: @215245
75618 /* 215245 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6308*/ GIMT_Encode4(215306), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6519 //
75619 /* 215252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75620 /* 215256 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75621 /* 215260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75622 /* 215264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75623 /* 215268 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75624 /* 215271 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75625 /* 215275 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75626 /* 215279 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75627 /* 215281 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75628 /* 215288 */ // (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)
75629 /* 215288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rm),
75630 /* 215291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75631 /* 215293 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75632 /* 215295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75633 /* 215299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75634 /* 215304 */ GIR_RootConstrainSelectedInstOperands,
75635 /* 215305 */ // GIR_Coverage, 6519,
75636 /* 215305 */ GIR_EraseRootFromParent_Done,
75637 /* 215306 */ // Label 6308: @215306
75638 /* 215306 */ GIM_Try, /*On fail goto*//*Label 6309*/ GIMT_Encode4(215360),
75639 /* 215311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75640 /* 215315 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75641 /* 215319 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75642 /* 215323 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6310*/ GIMT_Encode4(215341), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2195 //
75643 /* 215330 */ // (strict_fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VSUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
75644 /* 215330 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSrr),
75645 /* 215335 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75646 /* 215339 */ GIR_RootConstrainSelectedInstOperands,
75647 /* 215340 */ // GIR_Coverage, 2195,
75648 /* 215340 */ GIR_Done,
75649 /* 215341 */ // Label 6310: @215341
75650 /* 215341 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6311*/ GIMT_Encode4(215359), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2211 //
75651 /* 215348 */ // (strict_fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (SUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
75652 /* 215348 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPSrr),
75653 /* 215353 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75654 /* 215357 */ GIR_RootConstrainSelectedInstOperands,
75655 /* 215358 */ // GIR_Coverage, 2211,
75656 /* 215358 */ GIR_Done,
75657 /* 215359 */ // Label 6311: @215359
75658 /* 215359 */ GIM_Reject,
75659 /* 215360 */ // Label 6309: @215360
75660 /* 215360 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6312*/ GIMT_Encode4(215390), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6515 //
75661 /* 215367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75662 /* 215371 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75663 /* 215375 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75664 /* 215379 */ // (strict_fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VSUBPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
75665 /* 215379 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rr),
75666 /* 215384 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75667 /* 215388 */ GIR_RootConstrainSelectedInstOperands,
75668 /* 215389 */ // GIR_Coverage, 6515,
75669 /* 215389 */ GIR_Done,
75670 /* 215390 */ // Label 6312: @215390
75671 /* 215390 */ GIM_Reject,
75672 /* 215391 */ // Label 6306: @215391
75673 /* 215391 */ GIM_Reject,
75674 /* 215392 */ // Label 6236: @215392
75675 /* 215392 */ GIM_Try, /*On fail goto*//*Label 6313*/ GIMT_Encode4(215586),
75676 /* 215397 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
75677 /* 215400 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
75678 /* 215403 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6314*/ GIMT_Encode4(215464), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2205 //
75679 /* 215410 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75680 /* 215414 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75681 /* 215418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75682 /* 215422 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75683 /* 215426 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75684 /* 215429 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75685 /* 215433 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75686 /* 215437 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75687 /* 215439 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75688 /* 215446 */ // (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)
75689 /* 215446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrm),
75690 /* 215449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75691 /* 215451 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75692 /* 215453 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75693 /* 215457 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75694 /* 215462 */ GIR_RootConstrainSelectedInstOperands,
75695 /* 215463 */ // GIR_Coverage, 2205,
75696 /* 215463 */ GIR_EraseRootFromParent_Done,
75697 /* 215464 */ // Label 6314: @215464
75698 /* 215464 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6315*/ GIMT_Encode4(215525), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6531 //
75699 /* 215471 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75700 /* 215475 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75701 /* 215479 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75702 /* 215483 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75703 /* 215487 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75704 /* 215490 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75705 /* 215494 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75706 /* 215498 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75707 /* 215500 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75708 /* 215507 */ // (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)
75709 /* 215507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rm),
75710 /* 215510 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75711 /* 215512 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75712 /* 215514 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75713 /* 215518 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75714 /* 215523 */ GIR_RootConstrainSelectedInstOperands,
75715 /* 215524 */ // GIR_Coverage, 6531,
75716 /* 215524 */ GIR_EraseRootFromParent_Done,
75717 /* 215525 */ // Label 6315: @215525
75718 /* 215525 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6316*/ GIMT_Encode4(215555), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2203 //
75719 /* 215532 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75720 /* 215536 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75721 /* 215540 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75722 /* 215544 */ // (strict_fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VSUBPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
75723 /* 215544 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrr),
75724 /* 215549 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75725 /* 215553 */ GIR_RootConstrainSelectedInstOperands,
75726 /* 215554 */ // GIR_Coverage, 2203,
75727 /* 215554 */ GIR_Done,
75728 /* 215555 */ // Label 6316: @215555
75729 /* 215555 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6317*/ GIMT_Encode4(215585), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6527 //
75730 /* 215562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75731 /* 215566 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75732 /* 215570 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75733 /* 215574 */ // (strict_fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VSUBPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
75734 /* 215574 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rr),
75735 /* 215579 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75736 /* 215583 */ GIR_RootConstrainSelectedInstOperands,
75737 /* 215584 */ // GIR_Coverage, 6527,
75738 /* 215584 */ GIR_Done,
75739 /* 215585 */ // Label 6317: @215585
75740 /* 215585 */ GIM_Reject,
75741 /* 215586 */ // Label 6313: @215586
75742 /* 215586 */ GIM_Reject,
75743 /* 215587 */ // Label 6237: @215587
75744 /* 215587 */ GIM_Try, /*On fail goto*//*Label 6318*/ GIMT_Encode4(215682),
75745 /* 215592 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
75746 /* 215595 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
75747 /* 215598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75748 /* 215602 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75749 /* 215606 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6319*/ GIMT_Encode4(215659), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6495 //
75750 /* 215613 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75751 /* 215617 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75752 /* 215621 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75753 /* 215624 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75754 /* 215628 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75755 /* 215632 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75756 /* 215634 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75757 /* 215641 */ // (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)
75758 /* 215641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrm),
75759 /* 215644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75760 /* 215646 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75761 /* 215648 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75762 /* 215652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75763 /* 215657 */ GIR_RootConstrainSelectedInstOperands,
75764 /* 215658 */ // GIR_Coverage, 6495,
75765 /* 215658 */ GIR_EraseRootFromParent_Done,
75766 /* 215659 */ // Label 6319: @215659
75767 /* 215659 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6320*/ GIMT_Encode4(215681), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6491 //
75768 /* 215666 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75769 /* 215670 */ // (strict_fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VSUBPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
75770 /* 215670 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrr),
75771 /* 215675 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75772 /* 215679 */ GIR_RootConstrainSelectedInstOperands,
75773 /* 215680 */ // GIR_Coverage, 6491,
75774 /* 215680 */ GIR_Done,
75775 /* 215681 */ // Label 6320: @215681
75776 /* 215681 */ GIM_Reject,
75777 /* 215682 */ // Label 6318: @215682
75778 /* 215682 */ GIM_Reject,
75779 /* 215683 */ // Label 6238: @215683
75780 /* 215683 */ GIM_Try, /*On fail goto*//*Label 6321*/ GIMT_Encode4(215901),
75781 /* 215688 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
75782 /* 215691 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
75783 /* 215694 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6322*/ GIMT_Encode4(215755), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2201 //
75784 /* 215701 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75785 /* 215705 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75786 /* 215709 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75787 /* 215713 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75788 /* 215717 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75789 /* 215720 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75790 /* 215724 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75791 /* 215728 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75792 /* 215730 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75793 /* 215737 */ // (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)
75794 /* 215737 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDrm),
75795 /* 215740 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75796 /* 215742 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75797 /* 215744 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75798 /* 215748 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75799 /* 215753 */ GIR_RootConstrainSelectedInstOperands,
75800 /* 215754 */ // GIR_Coverage, 2201,
75801 /* 215754 */ GIR_EraseRootFromParent_Done,
75802 /* 215755 */ // Label 6322: @215755
75803 /* 215755 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6323*/ GIMT_Encode4(215816), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6543 //
75804 /* 215762 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75805 /* 215766 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75806 /* 215770 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75807 /* 215774 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75808 /* 215778 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75809 /* 215781 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75810 /* 215785 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75811 /* 215789 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75812 /* 215791 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75813 /* 215798 */ // (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)
75814 /* 215798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rm),
75815 /* 215801 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75816 /* 215803 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75817 /* 215805 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75818 /* 215809 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75819 /* 215814 */ GIR_RootConstrainSelectedInstOperands,
75820 /* 215815 */ // GIR_Coverage, 6543,
75821 /* 215815 */ GIR_EraseRootFromParent_Done,
75822 /* 215816 */ // Label 6323: @215816
75823 /* 215816 */ GIM_Try, /*On fail goto*//*Label 6324*/ GIMT_Encode4(215870),
75824 /* 215821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75825 /* 215825 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75826 /* 215829 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75827 /* 215833 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6325*/ GIMT_Encode4(215851), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2199 //
75828 /* 215840 */ // (strict_fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VSUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
75829 /* 215840 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDrr),
75830 /* 215845 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75831 /* 215849 */ GIR_RootConstrainSelectedInstOperands,
75832 /* 215850 */ // GIR_Coverage, 2199,
75833 /* 215850 */ GIR_Done,
75834 /* 215851 */ // Label 6325: @215851
75835 /* 215851 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6326*/ GIMT_Encode4(215869), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2215 //
75836 /* 215858 */ // (strict_fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (SUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
75837 /* 215858 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPDrr),
75838 /* 215863 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75839 /* 215867 */ GIR_RootConstrainSelectedInstOperands,
75840 /* 215868 */ // GIR_Coverage, 2215,
75841 /* 215868 */ GIR_Done,
75842 /* 215869 */ // Label 6326: @215869
75843 /* 215869 */ GIM_Reject,
75844 /* 215870 */ // Label 6324: @215870
75845 /* 215870 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6327*/ GIMT_Encode4(215900), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6539 //
75846 /* 215877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75847 /* 215881 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75848 /* 215885 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75849 /* 215889 */ // (strict_fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VSUBPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
75850 /* 215889 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rr),
75851 /* 215894 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75852 /* 215898 */ GIR_RootConstrainSelectedInstOperands,
75853 /* 215899 */ // GIR_Coverage, 6539,
75854 /* 215899 */ GIR_Done,
75855 /* 215900 */ // Label 6327: @215900
75856 /* 215900 */ GIM_Reject,
75857 /* 215901 */ // Label 6321: @215901
75858 /* 215901 */ GIM_Reject,
75859 /* 215902 */ // Label 6239: @215902
75860 /* 215902 */ GIM_Try, /*On fail goto*//*Label 6328*/ GIMT_Encode4(216096),
75861 /* 215907 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
75862 /* 215910 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
75863 /* 215913 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6329*/ GIMT_Encode4(215974), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2209 //
75864 /* 215920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75865 /* 215924 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75866 /* 215928 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75867 /* 215932 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75868 /* 215936 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75869 /* 215939 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75870 /* 215943 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75871 /* 215947 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75872 /* 215949 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75873 /* 215956 */ // (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)
75874 /* 215956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrm),
75875 /* 215959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75876 /* 215961 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75877 /* 215963 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75878 /* 215967 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75879 /* 215972 */ GIR_RootConstrainSelectedInstOperands,
75880 /* 215973 */ // GIR_Coverage, 2209,
75881 /* 215973 */ GIR_EraseRootFromParent_Done,
75882 /* 215974 */ // Label 6329: @215974
75883 /* 215974 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6330*/ GIMT_Encode4(216035), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6555 //
75884 /* 215981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75885 /* 215985 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75886 /* 215989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75887 /* 215993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75888 /* 215997 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75889 /* 216000 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75890 /* 216004 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75891 /* 216008 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75892 /* 216010 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75893 /* 216017 */ // (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)
75894 /* 216017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rm),
75895 /* 216020 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75896 /* 216022 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75897 /* 216024 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75898 /* 216028 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75899 /* 216033 */ GIR_RootConstrainSelectedInstOperands,
75900 /* 216034 */ // GIR_Coverage, 6555,
75901 /* 216034 */ GIR_EraseRootFromParent_Done,
75902 /* 216035 */ // Label 6330: @216035
75903 /* 216035 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6331*/ GIMT_Encode4(216065), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2207 //
75904 /* 216042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75905 /* 216046 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75906 /* 216050 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75907 /* 216054 */ // (strict_fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VSUBPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
75908 /* 216054 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrr),
75909 /* 216059 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75910 /* 216063 */ GIR_RootConstrainSelectedInstOperands,
75911 /* 216064 */ // GIR_Coverage, 2207,
75912 /* 216064 */ GIR_Done,
75913 /* 216065 */ // Label 6331: @216065
75914 /* 216065 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6332*/ GIMT_Encode4(216095), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6551 //
75915 /* 216072 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75916 /* 216076 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75917 /* 216080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75918 /* 216084 */ // (strict_fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VSUBPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
75919 /* 216084 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rr),
75920 /* 216089 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75921 /* 216093 */ GIR_RootConstrainSelectedInstOperands,
75922 /* 216094 */ // GIR_Coverage, 6551,
75923 /* 216094 */ GIR_Done,
75924 /* 216095 */ // Label 6332: @216095
75925 /* 216095 */ GIM_Reject,
75926 /* 216096 */ // Label 6328: @216096
75927 /* 216096 */ GIM_Reject,
75928 /* 216097 */ // Label 6240: @216097
75929 /* 216097 */ GIM_Try, /*On fail goto*//*Label 6333*/ GIMT_Encode4(216192),
75930 /* 216102 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
75931 /* 216105 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
75932 /* 216108 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75933 /* 216112 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75934 /* 216116 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6334*/ GIMT_Encode4(216169), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6507 //
75935 /* 216123 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75936 /* 216127 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75937 /* 216131 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75938 /* 216134 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75939 /* 216138 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75940 /* 216142 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75941 /* 216144 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75942 /* 216151 */ // (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)
75943 /* 216151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrm),
75944 /* 216154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75945 /* 216156 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75946 /* 216158 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75947 /* 216162 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75948 /* 216167 */ GIR_RootConstrainSelectedInstOperands,
75949 /* 216168 */ // GIR_Coverage, 6507,
75950 /* 216168 */ GIR_EraseRootFromParent_Done,
75951 /* 216169 */ // Label 6334: @216169
75952 /* 216169 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6335*/ GIMT_Encode4(216191), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6503 //
75953 /* 216176 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75954 /* 216180 */ // (strict_fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VSUBPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
75955 /* 216180 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrr),
75956 /* 216185 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75957 /* 216189 */ GIR_RootConstrainSelectedInstOperands,
75958 /* 216190 */ // GIR_Coverage, 6503,
75959 /* 216190 */ GIR_Done,
75960 /* 216191 */ // Label 6335: @216191
75961 /* 216191 */ GIM_Reject,
75962 /* 216192 */ // Label 6333: @216192
75963 /* 216192 */ GIM_Reject,
75964 /* 216193 */ // Label 6241: @216193
75965 /* 216193 */ GIM_Reject,
75966 /* 216194 */ // Label 76: @216194
75967 /* 216194 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 6349*/ GIMT_Encode4(220952),
75968 /* 216205 */ /*GILLT_s16*//*Label 6336*/ GIMT_Encode4(216297),
75969 /* 216209 */ /*GILLT_s32*//*Label 6337*/ GIMT_Encode4(216456),
75970 /* 216213 */ /*GILLT_s64*//*Label 6338*/ GIMT_Encode4(217315),
75971 /* 216217 */ /*GILLT_s80*//*Label 6339*/ GIMT_Encode4(218300), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
75972 /* 216261 */ /*GILLT_v8s16*//*Label 6340*/ GIMT_Encode4(218841),
75973 /* 216265 */ /*GILLT_v16s16*//*Label 6341*/ GIMT_Encode4(219000),
75974 /* 216269 */ /*GILLT_v32s16*//*Label 6342*/ GIMT_Encode4(219159),
75975 /* 216273 */ /*GILLT_v4s32*//*Label 6343*/ GIMT_Encode4(219318),
75976 /* 216277 */ /*GILLT_v8s32*//*Label 6344*/ GIMT_Encode4(219659),
75977 /* 216281 */ /*GILLT_v16s32*//*Label 6345*/ GIMT_Encode4(219976),
75978 /* 216285 */ /*GILLT_v2s64*//*Label 6346*/ GIMT_Encode4(220135),
75979 /* 216289 */ /*GILLT_v4s64*//*Label 6347*/ GIMT_Encode4(220476),
75980 /* 216293 */ /*GILLT_v8s64*//*Label 6348*/ GIMT_Encode4(220793),
75981 /* 216297 */ // Label 6336: @216297
75982 /* 216297 */ GIM_Try, /*On fail goto*//*Label 6350*/ GIMT_Encode4(216455),
75983 /* 216302 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
75984 /* 216305 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
75985 /* 216308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
75986 /* 216312 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6351*/ GIMT_Encode4(216369), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 24495 //
75987 /* 216319 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75988 /* 216323 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75989 /* 216327 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75990 /* 216330 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75991 /* 216334 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75992 /* 216338 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
75993 /* 216342 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75994 /* 216344 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75995 /* 216351 */ // (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)
75996 /* 216351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
75997 /* 216354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75998 /* 216356 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75999 /* 216358 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76000 /* 216362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76001 /* 216367 */ GIR_RootConstrainSelectedInstOperands,
76002 /* 216368 */ // GIR_Coverage, 24495,
76003 /* 216368 */ GIR_EraseRootFromParent_Done,
76004 /* 216369 */ // Label 6351: @216369
76005 /* 216369 */ GIM_Try, /*On fail goto*//*Label 6352*/ GIMT_Encode4(216454),
76006 /* 216374 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
76007 /* 216378 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6353*/ GIMT_Encode4(216431), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6012 //
76008 /* 216385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76009 /* 216389 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76010 /* 216393 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76011 /* 216396 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76012 /* 216400 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76013 /* 216404 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76014 /* 216406 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76015 /* 216413 */ // (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)
76016 /* 216413 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
76017 /* 216416 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76018 /* 216418 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76019 /* 216420 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76020 /* 216424 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76021 /* 216429 */ GIR_RootConstrainSelectedInstOperands,
76022 /* 216430 */ // GIR_Coverage, 6012,
76023 /* 216430 */ GIR_EraseRootFromParent_Done,
76024 /* 216431 */ // Label 6353: @216431
76025 /* 216431 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6354*/ GIMT_Encode4(216453), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6010 //
76026 /* 216438 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
76027 /* 216442 */ // (strict_fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VMULSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
76028 /* 216442 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSHZrr),
76029 /* 216447 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76030 /* 216451 */ GIR_RootConstrainSelectedInstOperands,
76031 /* 216452 */ // GIR_Coverage, 6010,
76032 /* 216452 */ GIR_Done,
76033 /* 216453 */ // Label 6354: @216453
76034 /* 216453 */ GIM_Reject,
76035 /* 216454 */ // Label 6352: @216454
76036 /* 216454 */ GIM_Reject,
76037 /* 216455 */ // Label 6350: @216455
76038 /* 216455 */ GIM_Reject,
76039 /* 216456 */ // Label 6337: @216456
76040 /* 216456 */ GIM_Try, /*On fail goto*//*Label 6355*/ GIMT_Encode4(217314),
76041 /* 216461 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
76042 /* 216464 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
76043 /* 216467 */ GIM_Try, /*On fail goto*//*Label 6356*/ GIMT_Encode4(216649),
76044 /* 216472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76045 /* 216476 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76046 /* 216480 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6357*/ GIMT_Encode4(216536), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23508 //
76047 /* 216487 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76048 /* 216491 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76049 /* 216495 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76050 /* 216502 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76051 /* 216506 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76052 /* 216508 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76053 /* 216515 */ // (strict_fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76054 /* 216515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
76055 /* 216518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76056 /* 216520 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76057 /* 216522 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76058 /* 216526 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76059 /* 216529 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76060 /* 216534 */ GIR_RootConstrainSelectedInstOperands,
76061 /* 216535 */ // GIR_Coverage, 23508,
76062 /* 216535 */ GIR_EraseRootFromParent_Done,
76063 /* 216536 */ // Label 6357: @216536
76064 /* 216536 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6358*/ GIMT_Encode4(216592), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23510 //
76065 /* 216543 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76066 /* 216547 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76067 /* 216551 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76068 /* 216558 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76069 /* 216562 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76070 /* 216564 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76071 /* 216571 */ // (strict_fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76072 /* 216571 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
76073 /* 216574 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76074 /* 216576 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76075 /* 216578 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76076 /* 216582 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76077 /* 216585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76078 /* 216590 */ GIR_RootConstrainSelectedInstOperands,
76079 /* 216591 */ // GIR_Coverage, 23510,
76080 /* 216591 */ GIR_EraseRootFromParent_Done,
76081 /* 216592 */ // Label 6358: @216592
76082 /* 216592 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6359*/ GIMT_Encode4(216648), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 23498 //
76083 /* 216599 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76084 /* 216603 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76085 /* 216607 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76086 /* 216610 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76087 /* 216614 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76088 /* 216618 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76089 /* 216620 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76090 /* 216627 */ // (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)
76091 /* 216627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
76092 /* 216630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76093 /* 216632 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76094 /* 216634 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76095 /* 216638 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76096 /* 216641 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76097 /* 216646 */ GIR_RootConstrainSelectedInstOperands,
76098 /* 216647 */ // GIR_Coverage, 23498,
76099 /* 216647 */ GIR_EraseRootFromParent_Done,
76100 /* 216648 */ // Label 6359: @216648
76101 /* 216648 */ GIM_Reject,
76102 /* 216649 */ // Label 6356: @216649
76103 /* 216649 */ GIM_Try, /*On fail goto*//*Label 6360*/ GIMT_Encode4(216769),
76104 /* 216654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76105 /* 216658 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76106 /* 216662 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6361*/ GIMT_Encode4(216715), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 23641 //
76107 /* 216669 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76108 /* 216673 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76109 /* 216677 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76110 /* 216680 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76111 /* 216684 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76112 /* 216688 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76113 /* 216690 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76114 /* 216697 */ // (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)
76115 /* 216697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
76116 /* 216700 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76117 /* 216702 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76118 /* 216704 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76119 /* 216708 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76120 /* 216713 */ GIR_RootConstrainSelectedInstOperands,
76121 /* 216714 */ // GIR_Coverage, 23641,
76122 /* 216714 */ GIR_EraseRootFromParent_Done,
76123 /* 216715 */ // Label 6361: @216715
76124 /* 216715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6362*/ GIMT_Encode4(216768), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 23645 //
76125 /* 216722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76126 /* 216726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76127 /* 216730 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76128 /* 216733 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76129 /* 216737 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76130 /* 216741 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76131 /* 216743 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76132 /* 216750 */ // (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)
76133 /* 216750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
76134 /* 216753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76135 /* 216755 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76136 /* 216757 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76137 /* 216761 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76138 /* 216766 */ GIR_RootConstrainSelectedInstOperands,
76139 /* 216767 */ // GIR_Coverage, 23645,
76140 /* 216767 */ GIR_EraseRootFromParent_Done,
76141 /* 216768 */ // Label 6362: @216768
76142 /* 216768 */ GIM_Reject,
76143 /* 216769 */ // Label 6360: @216769
76144 /* 216769 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6363*/ GIMT_Encode4(216830), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24491 //
76145 /* 216776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76146 /* 216780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76147 /* 216784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76148 /* 216788 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76149 /* 216791 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76150 /* 216795 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76151 /* 216799 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76152 /* 216803 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76153 /* 216805 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76154 /* 216812 */ // (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)
76155 /* 216812 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
76156 /* 216815 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76157 /* 216817 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76158 /* 216819 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76159 /* 216823 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76160 /* 216828 */ GIR_RootConstrainSelectedInstOperands,
76161 /* 216829 */ // GIR_Coverage, 24491,
76162 /* 216829 */ GIR_EraseRootFromParent_Done,
76163 /* 216830 */ // Label 6363: @216830
76164 /* 216830 */ GIM_Try, /*On fail goto*//*Label 6364*/ GIMT_Encode4(217012),
76165 /* 216835 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76166 /* 216839 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76167 /* 216843 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6365*/ GIMT_Encode4(216899), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 962 //
76168 /* 216850 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76169 /* 216854 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76170 /* 216858 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76171 /* 216865 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76172 /* 216869 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76173 /* 216871 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76174 /* 216878 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76175 /* 216878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
76176 /* 216881 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76177 /* 216883 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76178 /* 216885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76179 /* 216889 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76180 /* 216892 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76181 /* 216897 */ GIR_RootConstrainSelectedInstOperands,
76182 /* 216898 */ // GIR_Coverage, 962,
76183 /* 216898 */ GIR_EraseRootFromParent_Done,
76184 /* 216899 */ // Label 6365: @216899
76185 /* 216899 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6366*/ GIMT_Encode4(216955), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 964 //
76186 /* 216906 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76187 /* 216910 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76188 /* 216914 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76189 /* 216921 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76190 /* 216925 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76191 /* 216927 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76192 /* 216934 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76193 /* 216934 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
76194 /* 216937 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76195 /* 216939 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76196 /* 216941 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76197 /* 216945 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76198 /* 216948 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76199 /* 216953 */ GIR_RootConstrainSelectedInstOperands,
76200 /* 216954 */ // GIR_Coverage, 964,
76201 /* 216954 */ GIR_EraseRootFromParent_Done,
76202 /* 216955 */ // Label 6366: @216955
76203 /* 216955 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6367*/ GIMT_Encode4(217011), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 952 //
76204 /* 216962 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76205 /* 216966 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76206 /* 216970 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76207 /* 216973 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76208 /* 216977 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76209 /* 216981 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76210 /* 216983 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76211 /* 216990 */ // (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)
76212 /* 216990 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
76213 /* 216993 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76214 /* 216995 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76215 /* 216997 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76216 /* 217001 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76217 /* 217004 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76218 /* 217009 */ GIR_RootConstrainSelectedInstOperands,
76219 /* 217010 */ // GIR_Coverage, 952,
76220 /* 217010 */ GIR_EraseRootFromParent_Done,
76221 /* 217011 */ // Label 6367: @217011
76222 /* 217011 */ GIM_Reject,
76223 /* 217012 */ // Label 6364: @217012
76224 /* 217012 */ GIM_Try, /*On fail goto*//*Label 6368*/ GIMT_Encode4(217132),
76225 /* 217017 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76226 /* 217021 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76227 /* 217025 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6369*/ GIMT_Encode4(217078), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2181 //
76228 /* 217032 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76229 /* 217036 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76230 /* 217040 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76231 /* 217043 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76232 /* 217047 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76233 /* 217051 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76234 /* 217053 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76235 /* 217060 */ // (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)
76236 /* 217060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
76237 /* 217063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76238 /* 217065 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76239 /* 217067 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76240 /* 217071 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76241 /* 217076 */ GIR_RootConstrainSelectedInstOperands,
76242 /* 217077 */ // GIR_Coverage, 2181,
76243 /* 217077 */ GIR_EraseRootFromParent_Done,
76244 /* 217078 */ // Label 6369: @217078
76245 /* 217078 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6370*/ GIMT_Encode4(217131), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2189 //
76246 /* 217085 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76247 /* 217089 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76248 /* 217093 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76249 /* 217096 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76250 /* 217100 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76251 /* 217104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76252 /* 217106 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76253 /* 217113 */ // (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)
76254 /* 217113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
76255 /* 217116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76256 /* 217118 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76257 /* 217120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76258 /* 217124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76259 /* 217129 */ GIR_RootConstrainSelectedInstOperands,
76260 /* 217130 */ // GIR_Coverage, 2189,
76261 /* 217130 */ GIR_EraseRootFromParent_Done,
76262 /* 217131 */ // Label 6370: @217131
76263 /* 217131 */ GIM_Reject,
76264 /* 217132 */ // Label 6368: @217132
76265 /* 217132 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6371*/ GIMT_Encode4(217193), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5974 //
76266 /* 217139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76267 /* 217143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76268 /* 217147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76269 /* 217151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76270 /* 217155 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76271 /* 217158 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76272 /* 217162 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76273 /* 217166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76274 /* 217168 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76275 /* 217175 */ // (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)
76276 /* 217175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
76277 /* 217178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76278 /* 217180 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76279 /* 217182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76280 /* 217186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76281 /* 217191 */ GIR_RootConstrainSelectedInstOperands,
76282 /* 217192 */ // GIR_Coverage, 5974,
76283 /* 217192 */ GIR_EraseRootFromParent_Done,
76284 /* 217193 */ // Label 6371: @217193
76285 /* 217193 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6372*/ GIMT_Encode4(217229), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 874 //
76286 /* 217200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76287 /* 217204 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76288 /* 217208 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76289 /* 217212 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (MUL_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
76290 /* 217212 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32),
76291 /* 217217 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
76292 /* 217223 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
76293 /* 217227 */ GIR_RootConstrainSelectedInstOperands,
76294 /* 217228 */ // GIR_Coverage, 874,
76295 /* 217228 */ GIR_Done,
76296 /* 217229 */ // Label 6372: @217229
76297 /* 217229 */ GIM_Try, /*On fail goto*//*Label 6373*/ GIMT_Encode4(217283),
76298 /* 217234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76299 /* 217238 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76300 /* 217242 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76301 /* 217246 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6374*/ GIMT_Encode4(217264), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2179 //
76302 /* 217253 */ // (strict_fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VMULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
76303 /* 217253 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSrr),
76304 /* 217258 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76305 /* 217262 */ GIR_RootConstrainSelectedInstOperands,
76306 /* 217263 */ // GIR_Coverage, 2179,
76307 /* 217263 */ GIR_Done,
76308 /* 217264 */ // Label 6374: @217264
76309 /* 217264 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6375*/ GIMT_Encode4(217282), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2187 //
76310 /* 217271 */ // (strict_fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (MULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
76311 /* 217271 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSSrr),
76312 /* 217276 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76313 /* 217280 */ GIR_RootConstrainSelectedInstOperands,
76314 /* 217281 */ // GIR_Coverage, 2187,
76315 /* 217281 */ GIR_Done,
76316 /* 217282 */ // Label 6375: @217282
76317 /* 217282 */ GIM_Reject,
76318 /* 217283 */ // Label 6373: @217283
76319 /* 217283 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6376*/ GIMT_Encode4(217313), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5972 //
76320 /* 217290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76321 /* 217294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76322 /* 217298 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76323 /* 217302 */ // (strict_fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VMULSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
76324 /* 217302 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSZrr),
76325 /* 217307 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76326 /* 217311 */ GIR_RootConstrainSelectedInstOperands,
76327 /* 217312 */ // GIR_Coverage, 5972,
76328 /* 217312 */ GIR_Done,
76329 /* 217313 */ // Label 6376: @217313
76330 /* 217313 */ GIM_Reject,
76331 /* 217314 */ // Label 6355: @217314
76332 /* 217314 */ GIM_Reject,
76333 /* 217315 */ // Label 6338: @217315
76334 /* 217315 */ GIM_Try, /*On fail goto*//*Label 6377*/ GIMT_Encode4(218299),
76335 /* 217320 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
76336 /* 217323 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
76337 /* 217326 */ GIM_Try, /*On fail goto*//*Label 6378*/ GIMT_Encode4(217571),
76338 /* 217331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76339 /* 217335 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76340 /* 217339 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6379*/ GIMT_Encode4(217395), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23512 //
76341 /* 217346 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76342 /* 217350 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76343 /* 217354 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76344 /* 217361 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76345 /* 217365 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76346 /* 217367 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76347 /* 217374 */ // (strict_fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76348 /* 217374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
76349 /* 217377 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76350 /* 217379 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76351 /* 217381 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76352 /* 217385 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76353 /* 217388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76354 /* 217393 */ GIR_RootConstrainSelectedInstOperands,
76355 /* 217394 */ // GIR_Coverage, 23512,
76356 /* 217394 */ GIR_EraseRootFromParent_Done,
76357 /* 217395 */ // Label 6379: @217395
76358 /* 217395 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6380*/ GIMT_Encode4(217451), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23514 //
76359 /* 217402 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76360 /* 217406 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76361 /* 217410 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76362 /* 217417 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76363 /* 217421 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76364 /* 217423 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76365 /* 217430 */ // (strict_fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76366 /* 217430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
76367 /* 217433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76368 /* 217435 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76369 /* 217437 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76370 /* 217441 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76371 /* 217444 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76372 /* 217449 */ GIR_RootConstrainSelectedInstOperands,
76373 /* 217450 */ // GIR_Coverage, 23514,
76374 /* 217450 */ GIR_EraseRootFromParent_Done,
76375 /* 217451 */ // Label 6380: @217451
76376 /* 217451 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6381*/ GIMT_Encode4(217514), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23502 //
76377 /* 217458 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76378 /* 217462 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
76379 /* 217466 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76380 /* 217469 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76381 /* 217473 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76382 /* 217480 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76383 /* 217484 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76384 /* 217486 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76385 /* 217493 */ // (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)
76386 /* 217493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
76387 /* 217496 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76388 /* 217498 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76389 /* 217500 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76390 /* 217504 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76391 /* 217507 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76392 /* 217512 */ GIR_RootConstrainSelectedInstOperands,
76393 /* 217513 */ // GIR_Coverage, 23502,
76394 /* 217513 */ GIR_EraseRootFromParent_Done,
76395 /* 217514 */ // Label 6381: @217514
76396 /* 217514 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6382*/ GIMT_Encode4(217570), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 23500 //
76397 /* 217521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76398 /* 217525 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76399 /* 217529 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76400 /* 217532 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76401 /* 217536 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76402 /* 217540 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76403 /* 217542 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76404 /* 217549 */ // (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)
76405 /* 217549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
76406 /* 217552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76407 /* 217554 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76408 /* 217556 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76409 /* 217560 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76410 /* 217563 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76411 /* 217568 */ GIR_RootConstrainSelectedInstOperands,
76412 /* 217569 */ // GIR_Coverage, 23500,
76413 /* 217569 */ GIR_EraseRootFromParent_Done,
76414 /* 217570 */ // Label 6382: @217570
76415 /* 217570 */ GIM_Reject,
76416 /* 217571 */ // Label 6378: @217571
76417 /* 217571 */ GIM_Try, /*On fail goto*//*Label 6383*/ GIMT_Encode4(217691),
76418 /* 217576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76419 /* 217580 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76420 /* 217584 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6384*/ GIMT_Encode4(217637), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 23643 //
76421 /* 217591 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76422 /* 217595 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76423 /* 217599 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76424 /* 217602 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76425 /* 217606 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76426 /* 217610 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76427 /* 217612 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76428 /* 217619 */ // (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)
76429 /* 217619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
76430 /* 217622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76431 /* 217624 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76432 /* 217626 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76433 /* 217630 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76434 /* 217635 */ GIR_RootConstrainSelectedInstOperands,
76435 /* 217636 */ // GIR_Coverage, 23643,
76436 /* 217636 */ GIR_EraseRootFromParent_Done,
76437 /* 217637 */ // Label 6384: @217637
76438 /* 217637 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6385*/ GIMT_Encode4(217690), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 23647 //
76439 /* 217644 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76440 /* 217648 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76441 /* 217652 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76442 /* 217655 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76443 /* 217659 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76444 /* 217663 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76445 /* 217665 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76446 /* 217672 */ // (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)
76447 /* 217672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
76448 /* 217675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76449 /* 217677 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76450 /* 217679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76451 /* 217683 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76452 /* 217688 */ GIR_RootConstrainSelectedInstOperands,
76453 /* 217689 */ // GIR_Coverage, 23647,
76454 /* 217689 */ GIR_EraseRootFromParent_Done,
76455 /* 217690 */ // Label 6385: @217690
76456 /* 217690 */ GIM_Reject,
76457 /* 217691 */ // Label 6383: @217691
76458 /* 217691 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6386*/ GIMT_Encode4(217752), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24493 //
76459 /* 217698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76460 /* 217702 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76461 /* 217706 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76462 /* 217710 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76463 /* 217713 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76464 /* 217717 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76465 /* 217721 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76466 /* 217725 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76467 /* 217727 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76468 /* 217734 */ // (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)
76469 /* 217734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
76470 /* 217737 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76471 /* 217739 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76472 /* 217741 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76473 /* 217745 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76474 /* 217750 */ GIR_RootConstrainSelectedInstOperands,
76475 /* 217751 */ // GIR_Coverage, 24493,
76476 /* 217751 */ GIR_EraseRootFromParent_Done,
76477 /* 217752 */ // Label 6386: @217752
76478 /* 217752 */ GIM_Try, /*On fail goto*//*Label 6387*/ GIMT_Encode4(217997),
76479 /* 217757 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76480 /* 217761 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76481 /* 217765 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6388*/ GIMT_Encode4(217821), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 966 //
76482 /* 217772 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76483 /* 217776 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76484 /* 217780 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76485 /* 217787 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76486 /* 217791 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76487 /* 217793 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76488 /* 217800 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76489 /* 217800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
76490 /* 217803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76491 /* 217805 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76492 /* 217807 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76493 /* 217811 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76494 /* 217814 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76495 /* 217819 */ GIR_RootConstrainSelectedInstOperands,
76496 /* 217820 */ // GIR_Coverage, 966,
76497 /* 217820 */ GIR_EraseRootFromParent_Done,
76498 /* 217821 */ // Label 6388: @217821
76499 /* 217821 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6389*/ GIMT_Encode4(217877), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 968 //
76500 /* 217828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76501 /* 217832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76502 /* 217836 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76503 /* 217843 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76504 /* 217847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76505 /* 217849 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76506 /* 217856 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76507 /* 217856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
76508 /* 217859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76509 /* 217861 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76510 /* 217863 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76511 /* 217867 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76512 /* 217870 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76513 /* 217875 */ GIR_RootConstrainSelectedInstOperands,
76514 /* 217876 */ // GIR_Coverage, 968,
76515 /* 217876 */ GIR_EraseRootFromParent_Done,
76516 /* 217877 */ // Label 6389: @217877
76517 /* 217877 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6390*/ GIMT_Encode4(217940), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 956 //
76518 /* 217884 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76519 /* 217888 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
76520 /* 217892 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76521 /* 217895 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76522 /* 217899 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76523 /* 217906 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76524 /* 217910 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76525 /* 217912 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76526 /* 217919 */ // (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)
76527 /* 217919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
76528 /* 217922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76529 /* 217924 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76530 /* 217926 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76531 /* 217930 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76532 /* 217933 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76533 /* 217938 */ GIR_RootConstrainSelectedInstOperands,
76534 /* 217939 */ // GIR_Coverage, 956,
76535 /* 217939 */ GIR_EraseRootFromParent_Done,
76536 /* 217940 */ // Label 6390: @217940
76537 /* 217940 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6391*/ GIMT_Encode4(217996), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 954 //
76538 /* 217947 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76539 /* 217951 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76540 /* 217955 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76541 /* 217958 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76542 /* 217962 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76543 /* 217966 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76544 /* 217968 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76545 /* 217975 */ // (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)
76546 /* 217975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
76547 /* 217978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76548 /* 217980 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76549 /* 217982 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76550 /* 217986 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76551 /* 217989 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76552 /* 217994 */ GIR_RootConstrainSelectedInstOperands,
76553 /* 217995 */ // GIR_Coverage, 954,
76554 /* 217995 */ GIR_EraseRootFromParent_Done,
76555 /* 217996 */ // Label 6391: @217996
76556 /* 217996 */ GIM_Reject,
76557 /* 217997 */ // Label 6387: @217997
76558 /* 217997 */ GIM_Try, /*On fail goto*//*Label 6392*/ GIMT_Encode4(218117),
76559 /* 218002 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76560 /* 218006 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76561 /* 218010 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6393*/ GIMT_Encode4(218063), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2185 //
76562 /* 218017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76563 /* 218021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76564 /* 218025 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76565 /* 218028 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76566 /* 218032 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76567 /* 218036 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76568 /* 218038 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76569 /* 218045 */ // (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)
76570 /* 218045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
76571 /* 218048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76572 /* 218050 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76573 /* 218052 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76574 /* 218056 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76575 /* 218061 */ GIR_RootConstrainSelectedInstOperands,
76576 /* 218062 */ // GIR_Coverage, 2185,
76577 /* 218062 */ GIR_EraseRootFromParent_Done,
76578 /* 218063 */ // Label 6393: @218063
76579 /* 218063 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6394*/ GIMT_Encode4(218116), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2193 //
76580 /* 218070 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76581 /* 218074 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76582 /* 218078 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76583 /* 218081 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76584 /* 218085 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76585 /* 218089 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76586 /* 218091 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76587 /* 218098 */ // (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)
76588 /* 218098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
76589 /* 218101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76590 /* 218103 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76591 /* 218105 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76592 /* 218109 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76593 /* 218114 */ GIR_RootConstrainSelectedInstOperands,
76594 /* 218115 */ // GIR_Coverage, 2193,
76595 /* 218115 */ GIR_EraseRootFromParent_Done,
76596 /* 218116 */ // Label 6394: @218116
76597 /* 218116 */ GIM_Reject,
76598 /* 218117 */ // Label 6392: @218117
76599 /* 218117 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6395*/ GIMT_Encode4(218178), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5993 //
76600 /* 218124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76601 /* 218128 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76602 /* 218132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76603 /* 218136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76604 /* 218140 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76605 /* 218143 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76606 /* 218147 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76607 /* 218151 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76608 /* 218153 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76609 /* 218160 */ // (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)
76610 /* 218160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
76611 /* 218163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76612 /* 218165 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76613 /* 218167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76614 /* 218171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76615 /* 218176 */ GIR_RootConstrainSelectedInstOperands,
76616 /* 218177 */ // GIR_Coverage, 5993,
76617 /* 218177 */ GIR_EraseRootFromParent_Done,
76618 /* 218178 */ // Label 6395: @218178
76619 /* 218178 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6396*/ GIMT_Encode4(218214), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 876 //
76620 /* 218185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76621 /* 218189 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76622 /* 218193 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76623 /* 218197 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (MUL_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
76624 /* 218197 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64),
76625 /* 218202 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
76626 /* 218208 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
76627 /* 218212 */ GIR_RootConstrainSelectedInstOperands,
76628 /* 218213 */ // GIR_Coverage, 876,
76629 /* 218213 */ GIR_Done,
76630 /* 218214 */ // Label 6396: @218214
76631 /* 218214 */ GIM_Try, /*On fail goto*//*Label 6397*/ GIMT_Encode4(218268),
76632 /* 218219 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76633 /* 218223 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76634 /* 218227 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76635 /* 218231 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6398*/ GIMT_Encode4(218249), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2183 //
76636 /* 218238 */ // (strict_fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VMULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
76637 /* 218238 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDrr),
76638 /* 218243 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76639 /* 218247 */ GIR_RootConstrainSelectedInstOperands,
76640 /* 218248 */ // GIR_Coverage, 2183,
76641 /* 218248 */ GIR_Done,
76642 /* 218249 */ // Label 6398: @218249
76643 /* 218249 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6399*/ GIMT_Encode4(218267), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2191 //
76644 /* 218256 */ // (strict_fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (MULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
76645 /* 218256 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSDrr),
76646 /* 218261 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76647 /* 218265 */ GIR_RootConstrainSelectedInstOperands,
76648 /* 218266 */ // GIR_Coverage, 2191,
76649 /* 218266 */ GIR_Done,
76650 /* 218267 */ // Label 6399: @218267
76651 /* 218267 */ GIM_Reject,
76652 /* 218268 */ // Label 6397: @218268
76653 /* 218268 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6400*/ GIMT_Encode4(218298), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 5991 //
76654 /* 218275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76655 /* 218279 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76656 /* 218283 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76657 /* 218287 */ // (strict_fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VMULSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
76658 /* 218287 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDZrr),
76659 /* 218292 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76660 /* 218296 */ GIR_RootConstrainSelectedInstOperands,
76661 /* 218297 */ // GIR_Coverage, 5991,
76662 /* 218297 */ GIR_Done,
76663 /* 218298 */ // Label 6400: @218298
76664 /* 218298 */ GIM_Reject,
76665 /* 218299 */ // Label 6377: @218299
76666 /* 218299 */ GIM_Reject,
76667 /* 218300 */ // Label 6339: @218300
76668 /* 218300 */ GIM_Try, /*On fail goto*//*Label 6401*/ GIMT_Encode4(218840),
76669 /* 218305 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
76670 /* 218308 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
76671 /* 218311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76672 /* 218315 */ GIM_Try, /*On fail goto*//*Label 6402*/ GIMT_Encode4(218563),
76673 /* 218320 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76674 /* 218324 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6403*/ GIMT_Encode4(218380), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23516 //
76675 /* 218331 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76676 /* 218335 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76677 /* 218339 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76678 /* 218346 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76679 /* 218350 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76680 /* 218352 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76681 /* 218359 */ // (strict_fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76682 /* 218359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
76683 /* 218362 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76684 /* 218364 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76685 /* 218366 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76686 /* 218370 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76687 /* 218373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76688 /* 218378 */ GIR_RootConstrainSelectedInstOperands,
76689 /* 218379 */ // GIR_Coverage, 23516,
76690 /* 218379 */ GIR_EraseRootFromParent_Done,
76691 /* 218380 */ // Label 6403: @218380
76692 /* 218380 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6404*/ GIMT_Encode4(218436), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23518 //
76693 /* 218387 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76694 /* 218391 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76695 /* 218395 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76696 /* 218402 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76697 /* 218406 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76698 /* 218408 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76699 /* 218415 */ // (strict_fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76700 /* 218415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
76701 /* 218418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76702 /* 218420 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76703 /* 218422 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76704 /* 218426 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76705 /* 218429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76706 /* 218434 */ GIR_RootConstrainSelectedInstOperands,
76707 /* 218435 */ // GIR_Coverage, 23518,
76708 /* 218435 */ GIR_EraseRootFromParent_Done,
76709 /* 218436 */ // Label 6404: @218436
76710 /* 218436 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6405*/ GIMT_Encode4(218499), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23504 //
76711 /* 218443 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76712 /* 218447 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
76713 /* 218451 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76714 /* 218454 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76715 /* 218458 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76716 /* 218465 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76717 /* 218469 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76718 /* 218471 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76719 /* 218478 */ // (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)
76720 /* 218478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
76721 /* 218481 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76722 /* 218483 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76723 /* 218485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76724 /* 218489 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76725 /* 218492 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76726 /* 218497 */ GIR_RootConstrainSelectedInstOperands,
76727 /* 218498 */ // GIR_Coverage, 23504,
76728 /* 218498 */ GIR_EraseRootFromParent_Done,
76729 /* 218499 */ // Label 6405: @218499
76730 /* 218499 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6406*/ GIMT_Encode4(218562), GIMT_Encode2(GIFBS_HasX87), // Rule ID 23506 //
76731 /* 218506 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76732 /* 218510 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
76733 /* 218514 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76734 /* 218517 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76735 /* 218521 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
76736 /* 218528 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76737 /* 218532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76738 /* 218534 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76739 /* 218541 */ // (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)
76740 /* 218541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
76741 /* 218544 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76742 /* 218546 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76743 /* 218548 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76744 /* 218552 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76745 /* 218555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76746 /* 218560 */ GIR_RootConstrainSelectedInstOperands,
76747 /* 218561 */ // GIR_Coverage, 23506,
76748 /* 218561 */ GIR_EraseRootFromParent_Done,
76749 /* 218562 */ // Label 6406: @218562
76750 /* 218562 */ GIM_Reject,
76751 /* 218563 */ // Label 6402: @218563
76752 /* 218563 */ GIM_Try, /*On fail goto*//*Label 6407*/ GIMT_Encode4(218839),
76753 /* 218568 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76754 /* 218572 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6408*/ GIMT_Encode4(218628), GIMT_Encode2(GIFBS_HasX87), // Rule ID 970 //
76755 /* 218579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76756 /* 218583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76757 /* 218587 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76758 /* 218594 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76759 /* 218598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76760 /* 218600 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76761 /* 218607 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76762 /* 218607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
76763 /* 218610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76764 /* 218612 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76765 /* 218614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76766 /* 218618 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76767 /* 218621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76768 /* 218626 */ GIR_RootConstrainSelectedInstOperands,
76769 /* 218627 */ // GIR_Coverage, 970,
76770 /* 218627 */ GIR_EraseRootFromParent_Done,
76771 /* 218628 */ // Label 6408: @218628
76772 /* 218628 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6409*/ GIMT_Encode4(218684), GIMT_Encode2(GIFBS_HasX87), // Rule ID 972 //
76773 /* 218635 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76774 /* 218639 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76775 /* 218643 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76776 /* 218650 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76777 /* 218654 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76778 /* 218656 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76779 /* 218663 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76780 /* 218663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
76781 /* 218666 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76782 /* 218668 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76783 /* 218670 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76784 /* 218674 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76785 /* 218677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76786 /* 218682 */ GIR_RootConstrainSelectedInstOperands,
76787 /* 218683 */ // GIR_Coverage, 972,
76788 /* 218683 */ GIR_EraseRootFromParent_Done,
76789 /* 218684 */ // Label 6409: @218684
76790 /* 218684 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6410*/ GIMT_Encode4(218747), GIMT_Encode2(GIFBS_HasX87), // Rule ID 958 //
76791 /* 218691 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76792 /* 218695 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
76793 /* 218699 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76794 /* 218702 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76795 /* 218706 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76796 /* 218713 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76797 /* 218717 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76798 /* 218719 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76799 /* 218726 */ // (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)
76800 /* 218726 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
76801 /* 218729 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76802 /* 218731 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76803 /* 218733 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76804 /* 218737 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76805 /* 218740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76806 /* 218745 */ GIR_RootConstrainSelectedInstOperands,
76807 /* 218746 */ // GIR_Coverage, 958,
76808 /* 218746 */ GIR_EraseRootFromParent_Done,
76809 /* 218747 */ // Label 6410: @218747
76810 /* 218747 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6411*/ GIMT_Encode4(218810), GIMT_Encode2(GIFBS_HasX87), // Rule ID 960 //
76811 /* 218754 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76812 /* 218758 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
76813 /* 218762 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76814 /* 218765 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76815 /* 218769 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
76816 /* 218776 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76817 /* 218780 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76818 /* 218782 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76819 /* 218789 */ // (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)
76820 /* 218789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
76821 /* 218792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76822 /* 218794 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76823 /* 218796 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76824 /* 218800 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76825 /* 218803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76826 /* 218808 */ GIR_RootConstrainSelectedInstOperands,
76827 /* 218809 */ // GIR_Coverage, 960,
76828 /* 218809 */ GIR_EraseRootFromParent_Done,
76829 /* 218810 */ // Label 6411: @218810
76830 /* 218810 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6412*/ GIMT_Encode4(218838), GIMT_Encode2(GIFBS_HasX87), // Rule ID 878 //
76831 /* 218817 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76832 /* 218821 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (MUL_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
76833 /* 218821 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80),
76834 /* 218826 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
76835 /* 218832 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
76836 /* 218836 */ GIR_RootConstrainSelectedInstOperands,
76837 /* 218837 */ // GIR_Coverage, 878,
76838 /* 218837 */ GIR_Done,
76839 /* 218838 */ // Label 6412: @218838
76840 /* 218838 */ GIM_Reject,
76841 /* 218839 */ // Label 6407: @218839
76842 /* 218839 */ GIM_Reject,
76843 /* 218840 */ // Label 6401: @218840
76844 /* 218840 */ GIM_Reject,
76845 /* 218841 */ // Label 6340: @218841
76846 /* 218841 */ GIM_Try, /*On fail goto*//*Label 6413*/ GIMT_Encode4(218999),
76847 /* 218846 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
76848 /* 218849 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
76849 /* 218852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76850 /* 218856 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6414*/ GIMT_Encode4(218913), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 24631 //
76851 /* 218863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76852 /* 218867 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76853 /* 218871 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76854 /* 218874 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76855 /* 218878 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76856 /* 218882 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76857 /* 218886 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76858 /* 218888 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76859 /* 218895 */ // (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)
76860 /* 218895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
76861 /* 218898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76862 /* 218900 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76863 /* 218902 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76864 /* 218906 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76865 /* 218911 */ GIR_RootConstrainSelectedInstOperands,
76866 /* 218912 */ // GIR_Coverage, 24631,
76867 /* 218912 */ GIR_EraseRootFromParent_Done,
76868 /* 218913 */ // Label 6414: @218913
76869 /* 218913 */ GIM_Try, /*On fail goto*//*Label 6415*/ GIMT_Encode4(218998),
76870 /* 218918 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76871 /* 218922 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6416*/ GIMT_Encode4(218975), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6462 //
76872 /* 218929 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76873 /* 218933 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76874 /* 218937 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76875 /* 218940 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76876 /* 218944 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76877 /* 218948 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76878 /* 218950 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76879 /* 218957 */ // (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)
76880 /* 218957 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
76881 /* 218960 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76882 /* 218962 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76883 /* 218964 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76884 /* 218968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76885 /* 218973 */ GIR_RootConstrainSelectedInstOperands,
76886 /* 218974 */ // GIR_Coverage, 6462,
76887 /* 218974 */ GIR_EraseRootFromParent_Done,
76888 /* 218975 */ // Label 6416: @218975
76889 /* 218975 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6417*/ GIMT_Encode4(218997), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6458 //
76890 /* 218982 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76891 /* 218986 */ // (strict_fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VMULPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
76892 /* 218986 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rr),
76893 /* 218991 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76894 /* 218995 */ GIR_RootConstrainSelectedInstOperands,
76895 /* 218996 */ // GIR_Coverage, 6458,
76896 /* 218996 */ GIR_Done,
76897 /* 218997 */ // Label 6417: @218997
76898 /* 218997 */ GIM_Reject,
76899 /* 218998 */ // Label 6415: @218998
76900 /* 218998 */ GIM_Reject,
76901 /* 218999 */ // Label 6413: @218999
76902 /* 218999 */ GIM_Reject,
76903 /* 219000 */ // Label 6341: @219000
76904 /* 219000 */ GIM_Try, /*On fail goto*//*Label 6418*/ GIMT_Encode4(219158),
76905 /* 219005 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
76906 /* 219008 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
76907 /* 219011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76908 /* 219015 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6419*/ GIMT_Encode4(219072), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 24639 //
76909 /* 219022 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76910 /* 219026 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76911 /* 219030 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76912 /* 219033 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76913 /* 219037 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76914 /* 219041 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76915 /* 219045 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76916 /* 219047 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76917 /* 219054 */ // (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)
76918 /* 219054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
76919 /* 219057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76920 /* 219059 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76921 /* 219061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76922 /* 219065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76923 /* 219070 */ GIR_RootConstrainSelectedInstOperands,
76924 /* 219071 */ // GIR_Coverage, 24639,
76925 /* 219071 */ GIR_EraseRootFromParent_Done,
76926 /* 219072 */ // Label 6419: @219072
76927 /* 219072 */ GIM_Try, /*On fail goto*//*Label 6420*/ GIMT_Encode4(219157),
76928 /* 219077 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76929 /* 219081 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6421*/ GIMT_Encode4(219134), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6474 //
76930 /* 219088 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76931 /* 219092 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76932 /* 219096 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76933 /* 219099 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76934 /* 219103 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76935 /* 219107 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76936 /* 219109 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76937 /* 219116 */ // (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)
76938 /* 219116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
76939 /* 219119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76940 /* 219121 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76941 /* 219123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76942 /* 219127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76943 /* 219132 */ GIR_RootConstrainSelectedInstOperands,
76944 /* 219133 */ // GIR_Coverage, 6474,
76945 /* 219133 */ GIR_EraseRootFromParent_Done,
76946 /* 219134 */ // Label 6421: @219134
76947 /* 219134 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6422*/ GIMT_Encode4(219156), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6470 //
76948 /* 219141 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76949 /* 219145 */ // (strict_fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VMULPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
76950 /* 219145 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rr),
76951 /* 219150 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76952 /* 219154 */ GIR_RootConstrainSelectedInstOperands,
76953 /* 219155 */ // GIR_Coverage, 6470,
76954 /* 219155 */ GIR_Done,
76955 /* 219156 */ // Label 6422: @219156
76956 /* 219156 */ GIM_Reject,
76957 /* 219157 */ // Label 6420: @219157
76958 /* 219157 */ GIM_Reject,
76959 /* 219158 */ // Label 6418: @219158
76960 /* 219158 */ GIM_Reject,
76961 /* 219159 */ // Label 6342: @219159
76962 /* 219159 */ GIM_Try, /*On fail goto*//*Label 6423*/ GIMT_Encode4(219317),
76963 /* 219164 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
76964 /* 219167 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
76965 /* 219170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76966 /* 219174 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6424*/ GIMT_Encode4(219231), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 24623 //
76967 /* 219181 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76968 /* 219185 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76969 /* 219189 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76970 /* 219192 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76971 /* 219196 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76972 /* 219200 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76973 /* 219204 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76974 /* 219206 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76975 /* 219213 */ // (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)
76976 /* 219213 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
76977 /* 219216 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76978 /* 219218 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76979 /* 219220 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76980 /* 219224 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76981 /* 219229 */ GIR_RootConstrainSelectedInstOperands,
76982 /* 219230 */ // GIR_Coverage, 24623,
76983 /* 219230 */ GIR_EraseRootFromParent_Done,
76984 /* 219231 */ // Label 6424: @219231
76985 /* 219231 */ GIM_Try, /*On fail goto*//*Label 6425*/ GIMT_Encode4(219316),
76986 /* 219236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76987 /* 219240 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6426*/ GIMT_Encode4(219293), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6450 //
76988 /* 219247 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76989 /* 219251 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76990 /* 219255 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76991 /* 219258 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76992 /* 219262 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76993 /* 219266 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76994 /* 219268 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76995 /* 219275 */ // (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)
76996 /* 219275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
76997 /* 219278 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76998 /* 219280 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76999 /* 219282 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77000 /* 219286 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77001 /* 219291 */ GIR_RootConstrainSelectedInstOperands,
77002 /* 219292 */ // GIR_Coverage, 6450,
77003 /* 219292 */ GIR_EraseRootFromParent_Done,
77004 /* 219293 */ // Label 6426: @219293
77005 /* 219293 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6427*/ GIMT_Encode4(219315), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6446 //
77006 /* 219300 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77007 /* 219304 */ // (strict_fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VMULPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
77008 /* 219304 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZrr),
77009 /* 219309 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77010 /* 219313 */ GIR_RootConstrainSelectedInstOperands,
77011 /* 219314 */ // GIR_Coverage, 6446,
77012 /* 219314 */ GIR_Done,
77013 /* 219315 */ // Label 6427: @219315
77014 /* 219315 */ GIM_Reject,
77015 /* 219316 */ // Label 6425: @219316
77016 /* 219316 */ GIM_Reject,
77017 /* 219317 */ // Label 6423: @219317
77018 /* 219317 */ GIM_Reject,
77019 /* 219318 */ // Label 6343: @219318
77020 /* 219318 */ GIM_Try, /*On fail goto*//*Label 6428*/ GIMT_Encode4(219658),
77021 /* 219323 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
77022 /* 219326 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
77023 /* 219329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6429*/ GIMT_Encode4(219390), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23629 //
77024 /* 219336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77025 /* 219340 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77026 /* 219344 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77027 /* 219348 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77028 /* 219351 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77029 /* 219355 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77030 /* 219359 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77031 /* 219363 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77032 /* 219365 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77033 /* 219372 */ // (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)
77034 /* 219372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
77035 /* 219375 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77036 /* 219377 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77037 /* 219379 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77038 /* 219383 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77039 /* 219388 */ GIR_RootConstrainSelectedInstOperands,
77040 /* 219389 */ // GIR_Coverage, 23629,
77041 /* 219389 */ GIR_EraseRootFromParent_Done,
77042 /* 219390 */ // Label 6429: @219390
77043 /* 219390 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6430*/ GIMT_Encode4(219451), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24591 //
77044 /* 219397 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77045 /* 219401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77046 /* 219405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77047 /* 219409 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77048 /* 219412 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77049 /* 219416 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77050 /* 219420 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77051 /* 219424 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77052 /* 219426 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77053 /* 219433 */ // (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)
77054 /* 219433 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
77055 /* 219436 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77056 /* 219438 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77057 /* 219440 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77058 /* 219444 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77059 /* 219449 */ GIR_RootConstrainSelectedInstOperands,
77060 /* 219450 */ // GIR_Coverage, 24591,
77061 /* 219450 */ GIR_EraseRootFromParent_Done,
77062 /* 219451 */ // Label 6430: @219451
77063 /* 219451 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6431*/ GIMT_Encode4(219512), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2157 //
77064 /* 219458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77065 /* 219462 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77066 /* 219466 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77067 /* 219470 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77068 /* 219474 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77069 /* 219477 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77070 /* 219481 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77071 /* 219485 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77072 /* 219487 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77073 /* 219494 */ // (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)
77074 /* 219494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
77075 /* 219497 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77076 /* 219499 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77077 /* 219501 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77078 /* 219505 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77079 /* 219510 */ GIR_RootConstrainSelectedInstOperands,
77080 /* 219511 */ // GIR_Coverage, 2157,
77081 /* 219511 */ GIR_EraseRootFromParent_Done,
77082 /* 219512 */ // Label 6431: @219512
77083 /* 219512 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6432*/ GIMT_Encode4(219573), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6402 //
77084 /* 219519 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77085 /* 219523 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77086 /* 219527 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77087 /* 219531 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77088 /* 219535 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77089 /* 219538 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77090 /* 219542 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77091 /* 219546 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77092 /* 219548 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77093 /* 219555 */ // (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)
77094 /* 219555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
77095 /* 219558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77096 /* 219560 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77097 /* 219562 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77098 /* 219566 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77099 /* 219571 */ GIR_RootConstrainSelectedInstOperands,
77100 /* 219572 */ // GIR_Coverage, 6402,
77101 /* 219572 */ GIR_EraseRootFromParent_Done,
77102 /* 219573 */ // Label 6432: @219573
77103 /* 219573 */ GIM_Try, /*On fail goto*//*Label 6433*/ GIMT_Encode4(219627),
77104 /* 219578 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77105 /* 219582 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77106 /* 219586 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77107 /* 219590 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6434*/ GIMT_Encode4(219608), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2155 //
77108 /* 219597 */ // (strict_fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
77109 /* 219597 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSrr),
77110 /* 219602 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77111 /* 219606 */ GIR_RootConstrainSelectedInstOperands,
77112 /* 219607 */ // GIR_Coverage, 2155,
77113 /* 219607 */ GIR_Done,
77114 /* 219608 */ // Label 6434: @219608
77115 /* 219608 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6435*/ GIMT_Encode4(219626), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2171 //
77116 /* 219615 */ // (strict_fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (MULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
77117 /* 219615 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPSrr),
77118 /* 219620 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77119 /* 219624 */ GIR_RootConstrainSelectedInstOperands,
77120 /* 219625 */ // GIR_Coverage, 2171,
77121 /* 219625 */ GIR_Done,
77122 /* 219626 */ // Label 6435: @219626
77123 /* 219626 */ GIM_Reject,
77124 /* 219627 */ // Label 6433: @219627
77125 /* 219627 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6436*/ GIMT_Encode4(219657), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6398 //
77126 /* 219634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77127 /* 219638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77128 /* 219642 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77129 /* 219646 */ // (strict_fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VMULPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
77130 /* 219646 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rr),
77131 /* 219651 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77132 /* 219655 */ GIR_RootConstrainSelectedInstOperands,
77133 /* 219656 */ // GIR_Coverage, 6398,
77134 /* 219656 */ GIR_Done,
77135 /* 219657 */ // Label 6436: @219657
77136 /* 219657 */ GIM_Reject,
77137 /* 219658 */ // Label 6428: @219658
77138 /* 219658 */ GIM_Reject,
77139 /* 219659 */ // Label 6344: @219659
77140 /* 219659 */ GIM_Try, /*On fail goto*//*Label 6437*/ GIMT_Encode4(219975),
77141 /* 219664 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
77142 /* 219667 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
77143 /* 219670 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6438*/ GIMT_Encode4(219731), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23633 //
77144 /* 219677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77145 /* 219681 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77146 /* 219685 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77147 /* 219689 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77148 /* 219692 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77149 /* 219696 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77150 /* 219700 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77151 /* 219704 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77152 /* 219706 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77153 /* 219713 */ // (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)
77154 /* 219713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
77155 /* 219716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77156 /* 219718 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77157 /* 219720 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77158 /* 219724 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77159 /* 219729 */ GIR_RootConstrainSelectedInstOperands,
77160 /* 219730 */ // GIR_Coverage, 23633,
77161 /* 219730 */ GIR_EraseRootFromParent_Done,
77162 /* 219731 */ // Label 6438: @219731
77163 /* 219731 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6439*/ GIMT_Encode4(219792), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24599 //
77164 /* 219738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77165 /* 219742 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77166 /* 219746 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77167 /* 219750 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77168 /* 219753 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77169 /* 219757 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77170 /* 219761 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77171 /* 219765 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77172 /* 219767 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77173 /* 219774 */ // (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)
77174 /* 219774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
77175 /* 219777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77176 /* 219779 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77177 /* 219781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77178 /* 219785 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77179 /* 219790 */ GIR_RootConstrainSelectedInstOperands,
77180 /* 219791 */ // GIR_Coverage, 24599,
77181 /* 219791 */ GIR_EraseRootFromParent_Done,
77182 /* 219792 */ // Label 6439: @219792
77183 /* 219792 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6440*/ GIMT_Encode4(219853), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2165 //
77184 /* 219799 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77185 /* 219803 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77186 /* 219807 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77187 /* 219811 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77188 /* 219815 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77189 /* 219818 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77190 /* 219822 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77191 /* 219826 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77192 /* 219828 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77193 /* 219835 */ // (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)
77194 /* 219835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
77195 /* 219838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77196 /* 219840 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77197 /* 219842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77198 /* 219846 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77199 /* 219851 */ GIR_RootConstrainSelectedInstOperands,
77200 /* 219852 */ // GIR_Coverage, 2165,
77201 /* 219852 */ GIR_EraseRootFromParent_Done,
77202 /* 219853 */ // Label 6440: @219853
77203 /* 219853 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6441*/ GIMT_Encode4(219914), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6414 //
77204 /* 219860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77205 /* 219864 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77206 /* 219868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77207 /* 219872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77208 /* 219876 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77209 /* 219879 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77210 /* 219883 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77211 /* 219887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77212 /* 219889 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77213 /* 219896 */ // (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)
77214 /* 219896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
77215 /* 219899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77216 /* 219901 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77217 /* 219903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77218 /* 219907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77219 /* 219912 */ GIR_RootConstrainSelectedInstOperands,
77220 /* 219913 */ // GIR_Coverage, 6414,
77221 /* 219913 */ GIR_EraseRootFromParent_Done,
77222 /* 219914 */ // Label 6441: @219914
77223 /* 219914 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6442*/ GIMT_Encode4(219944), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2163 //
77224 /* 219921 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77225 /* 219925 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77226 /* 219929 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77227 /* 219933 */ // (strict_fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMULPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
77228 /* 219933 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSYrr),
77229 /* 219938 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77230 /* 219942 */ GIR_RootConstrainSelectedInstOperands,
77231 /* 219943 */ // GIR_Coverage, 2163,
77232 /* 219943 */ GIR_Done,
77233 /* 219944 */ // Label 6442: @219944
77234 /* 219944 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6443*/ GIMT_Encode4(219974), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6410 //
77235 /* 219951 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77236 /* 219955 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77237 /* 219959 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77238 /* 219963 */ // (strict_fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VMULPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
77239 /* 219963 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rr),
77240 /* 219968 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77241 /* 219972 */ GIR_RootConstrainSelectedInstOperands,
77242 /* 219973 */ // GIR_Coverage, 6410,
77243 /* 219973 */ GIR_Done,
77244 /* 219974 */ // Label 6443: @219974
77245 /* 219974 */ GIM_Reject,
77246 /* 219975 */ // Label 6437: @219975
77247 /* 219975 */ GIM_Reject,
77248 /* 219976 */ // Label 6345: @219976
77249 /* 219976 */ GIM_Try, /*On fail goto*//*Label 6444*/ GIMT_Encode4(220134),
77250 /* 219981 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
77251 /* 219984 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
77252 /* 219987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77253 /* 219991 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6445*/ GIMT_Encode4(220048), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24575 //
77254 /* 219998 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77255 /* 220002 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77256 /* 220006 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77257 /* 220009 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77258 /* 220013 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77259 /* 220017 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77260 /* 220021 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77261 /* 220023 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77262 /* 220030 */ // (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)
77263 /* 220030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
77264 /* 220033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77265 /* 220035 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77266 /* 220037 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77267 /* 220041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77268 /* 220046 */ GIR_RootConstrainSelectedInstOperands,
77269 /* 220047 */ // GIR_Coverage, 24575,
77270 /* 220047 */ GIR_EraseRootFromParent_Done,
77271 /* 220048 */ // Label 6445: @220048
77272 /* 220048 */ GIM_Try, /*On fail goto*//*Label 6446*/ GIMT_Encode4(220133),
77273 /* 220053 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77274 /* 220057 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6447*/ GIMT_Encode4(220110), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6378 //
77275 /* 220064 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77276 /* 220068 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77277 /* 220072 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77278 /* 220075 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77279 /* 220079 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77280 /* 220083 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77281 /* 220085 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77282 /* 220092 */ // (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)
77283 /* 220092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
77284 /* 220095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77285 /* 220097 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77286 /* 220099 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77287 /* 220103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77288 /* 220108 */ GIR_RootConstrainSelectedInstOperands,
77289 /* 220109 */ // GIR_Coverage, 6378,
77290 /* 220109 */ GIR_EraseRootFromParent_Done,
77291 /* 220110 */ // Label 6447: @220110
77292 /* 220110 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6448*/ GIMT_Encode4(220132), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6374 //
77293 /* 220117 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77294 /* 220121 */ // (strict_fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VMULPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
77295 /* 220121 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZrr),
77296 /* 220126 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77297 /* 220130 */ GIR_RootConstrainSelectedInstOperands,
77298 /* 220131 */ // GIR_Coverage, 6374,
77299 /* 220131 */ GIR_Done,
77300 /* 220132 */ // Label 6448: @220132
77301 /* 220132 */ GIM_Reject,
77302 /* 220133 */ // Label 6446: @220133
77303 /* 220133 */ GIM_Reject,
77304 /* 220134 */ // Label 6444: @220134
77305 /* 220134 */ GIM_Reject,
77306 /* 220135 */ // Label 6346: @220135
77307 /* 220135 */ GIM_Try, /*On fail goto*//*Label 6449*/ GIMT_Encode4(220475),
77308 /* 220140 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
77309 /* 220143 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
77310 /* 220146 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6450*/ GIMT_Encode4(220207), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23631 //
77311 /* 220153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77312 /* 220157 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77313 /* 220161 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77314 /* 220165 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77315 /* 220168 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77316 /* 220172 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77317 /* 220176 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77318 /* 220180 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77319 /* 220182 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77320 /* 220189 */ // (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)
77321 /* 220189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
77322 /* 220192 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77323 /* 220194 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77324 /* 220196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77325 /* 220200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77326 /* 220205 */ GIR_RootConstrainSelectedInstOperands,
77327 /* 220206 */ // GIR_Coverage, 23631,
77328 /* 220206 */ GIR_EraseRootFromParent_Done,
77329 /* 220207 */ // Label 6450: @220207
77330 /* 220207 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6451*/ GIMT_Encode4(220268), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24607 //
77331 /* 220214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77332 /* 220218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77333 /* 220222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77334 /* 220226 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77335 /* 220229 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77336 /* 220233 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77337 /* 220237 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77338 /* 220241 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77339 /* 220243 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77340 /* 220250 */ // (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)
77341 /* 220250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
77342 /* 220253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77343 /* 220255 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77344 /* 220257 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77345 /* 220261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77346 /* 220266 */ GIR_RootConstrainSelectedInstOperands,
77347 /* 220267 */ // GIR_Coverage, 24607,
77348 /* 220267 */ GIR_EraseRootFromParent_Done,
77349 /* 220268 */ // Label 6451: @220268
77350 /* 220268 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6452*/ GIMT_Encode4(220329), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2161 //
77351 /* 220275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77352 /* 220279 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77353 /* 220283 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77354 /* 220287 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77355 /* 220291 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77356 /* 220294 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77357 /* 220298 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77358 /* 220302 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77359 /* 220304 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77360 /* 220311 */ // (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)
77361 /* 220311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
77362 /* 220314 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77363 /* 220316 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77364 /* 220318 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77365 /* 220322 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77366 /* 220327 */ GIR_RootConstrainSelectedInstOperands,
77367 /* 220328 */ // GIR_Coverage, 2161,
77368 /* 220328 */ GIR_EraseRootFromParent_Done,
77369 /* 220329 */ // Label 6452: @220329
77370 /* 220329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6453*/ GIMT_Encode4(220390), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6426 //
77371 /* 220336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77372 /* 220340 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77373 /* 220344 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77374 /* 220348 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77375 /* 220352 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77376 /* 220355 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77377 /* 220359 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77378 /* 220363 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77379 /* 220365 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77380 /* 220372 */ // (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)
77381 /* 220372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
77382 /* 220375 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77383 /* 220377 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77384 /* 220379 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77385 /* 220383 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77386 /* 220388 */ GIR_RootConstrainSelectedInstOperands,
77387 /* 220389 */ // GIR_Coverage, 6426,
77388 /* 220389 */ GIR_EraseRootFromParent_Done,
77389 /* 220390 */ // Label 6453: @220390
77390 /* 220390 */ GIM_Try, /*On fail goto*//*Label 6454*/ GIMT_Encode4(220444),
77391 /* 220395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77392 /* 220399 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77393 /* 220403 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77394 /* 220407 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6455*/ GIMT_Encode4(220425), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2159 //
77395 /* 220414 */ // (strict_fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
77396 /* 220414 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDrr),
77397 /* 220419 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77398 /* 220423 */ GIR_RootConstrainSelectedInstOperands,
77399 /* 220424 */ // GIR_Coverage, 2159,
77400 /* 220424 */ GIR_Done,
77401 /* 220425 */ // Label 6455: @220425
77402 /* 220425 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6456*/ GIMT_Encode4(220443), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2175 //
77403 /* 220432 */ // (strict_fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (MULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
77404 /* 220432 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPDrr),
77405 /* 220437 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77406 /* 220441 */ GIR_RootConstrainSelectedInstOperands,
77407 /* 220442 */ // GIR_Coverage, 2175,
77408 /* 220442 */ GIR_Done,
77409 /* 220443 */ // Label 6456: @220443
77410 /* 220443 */ GIM_Reject,
77411 /* 220444 */ // Label 6454: @220444
77412 /* 220444 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6457*/ GIMT_Encode4(220474), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6422 //
77413 /* 220451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77414 /* 220455 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77415 /* 220459 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77416 /* 220463 */ // (strict_fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VMULPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
77417 /* 220463 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rr),
77418 /* 220468 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77419 /* 220472 */ GIR_RootConstrainSelectedInstOperands,
77420 /* 220473 */ // GIR_Coverage, 6422,
77421 /* 220473 */ GIR_Done,
77422 /* 220474 */ // Label 6457: @220474
77423 /* 220474 */ GIM_Reject,
77424 /* 220475 */ // Label 6449: @220475
77425 /* 220475 */ GIM_Reject,
77426 /* 220476 */ // Label 6347: @220476
77427 /* 220476 */ GIM_Try, /*On fail goto*//*Label 6458*/ GIMT_Encode4(220792),
77428 /* 220481 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
77429 /* 220484 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
77430 /* 220487 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6459*/ GIMT_Encode4(220548), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 23635 //
77431 /* 220494 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77432 /* 220498 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77433 /* 220502 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77434 /* 220506 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77435 /* 220509 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77436 /* 220513 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77437 /* 220517 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77438 /* 220521 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77439 /* 220523 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77440 /* 220530 */ // (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)
77441 /* 220530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
77442 /* 220533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77443 /* 220535 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77444 /* 220537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77445 /* 220541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77446 /* 220546 */ GIR_RootConstrainSelectedInstOperands,
77447 /* 220547 */ // GIR_Coverage, 23635,
77448 /* 220547 */ GIR_EraseRootFromParent_Done,
77449 /* 220548 */ // Label 6459: @220548
77450 /* 220548 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6460*/ GIMT_Encode4(220609), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 24615 //
77451 /* 220555 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77452 /* 220559 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77453 /* 220563 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77454 /* 220567 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77455 /* 220570 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77456 /* 220574 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77457 /* 220578 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77458 /* 220582 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77459 /* 220584 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77460 /* 220591 */ // (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)
77461 /* 220591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
77462 /* 220594 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77463 /* 220596 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77464 /* 220598 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77465 /* 220602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77466 /* 220607 */ GIR_RootConstrainSelectedInstOperands,
77467 /* 220608 */ // GIR_Coverage, 24615,
77468 /* 220608 */ GIR_EraseRootFromParent_Done,
77469 /* 220609 */ // Label 6460: @220609
77470 /* 220609 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6461*/ GIMT_Encode4(220670), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2169 //
77471 /* 220616 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77472 /* 220620 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77473 /* 220624 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77474 /* 220628 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77475 /* 220632 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77476 /* 220635 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77477 /* 220639 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77478 /* 220643 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77479 /* 220645 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77480 /* 220652 */ // (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)
77481 /* 220652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
77482 /* 220655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77483 /* 220657 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77484 /* 220659 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77485 /* 220663 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77486 /* 220668 */ GIR_RootConstrainSelectedInstOperands,
77487 /* 220669 */ // GIR_Coverage, 2169,
77488 /* 220669 */ GIR_EraseRootFromParent_Done,
77489 /* 220670 */ // Label 6461: @220670
77490 /* 220670 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6462*/ GIMT_Encode4(220731), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6438 //
77491 /* 220677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77492 /* 220681 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77493 /* 220685 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77494 /* 220689 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77495 /* 220693 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77496 /* 220696 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77497 /* 220700 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77498 /* 220704 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77499 /* 220706 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77500 /* 220713 */ // (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)
77501 /* 220713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
77502 /* 220716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77503 /* 220718 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77504 /* 220720 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77505 /* 220724 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77506 /* 220729 */ GIR_RootConstrainSelectedInstOperands,
77507 /* 220730 */ // GIR_Coverage, 6438,
77508 /* 220730 */ GIR_EraseRootFromParent_Done,
77509 /* 220731 */ // Label 6462: @220731
77510 /* 220731 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6463*/ GIMT_Encode4(220761), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2167 //
77511 /* 220738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77512 /* 220742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77513 /* 220746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77514 /* 220750 */ // (strict_fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMULPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
77515 /* 220750 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDYrr),
77516 /* 220755 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77517 /* 220759 */ GIR_RootConstrainSelectedInstOperands,
77518 /* 220760 */ // GIR_Coverage, 2167,
77519 /* 220760 */ GIR_Done,
77520 /* 220761 */ // Label 6463: @220761
77521 /* 220761 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6464*/ GIMT_Encode4(220791), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6434 //
77522 /* 220768 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77523 /* 220772 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77524 /* 220776 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77525 /* 220780 */ // (strict_fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VMULPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
77526 /* 220780 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rr),
77527 /* 220785 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77528 /* 220789 */ GIR_RootConstrainSelectedInstOperands,
77529 /* 220790 */ // GIR_Coverage, 6434,
77530 /* 220790 */ GIR_Done,
77531 /* 220791 */ // Label 6464: @220791
77532 /* 220791 */ GIM_Reject,
77533 /* 220792 */ // Label 6458: @220792
77534 /* 220792 */ GIM_Reject,
77535 /* 220793 */ // Label 6348: @220793
77536 /* 220793 */ GIM_Try, /*On fail goto*//*Label 6465*/ GIMT_Encode4(220951),
77537 /* 220798 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
77538 /* 220801 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
77539 /* 220804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77540 /* 220808 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6466*/ GIMT_Encode4(220865), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 24583 //
77541 /* 220815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77542 /* 220819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77543 /* 220823 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77544 /* 220826 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77545 /* 220830 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77546 /* 220834 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77547 /* 220838 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77548 /* 220840 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77549 /* 220847 */ // (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)
77550 /* 220847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
77551 /* 220850 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77552 /* 220852 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77553 /* 220854 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77554 /* 220858 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77555 /* 220863 */ GIR_RootConstrainSelectedInstOperands,
77556 /* 220864 */ // GIR_Coverage, 24583,
77557 /* 220864 */ GIR_EraseRootFromParent_Done,
77558 /* 220865 */ // Label 6466: @220865
77559 /* 220865 */ GIM_Try, /*On fail goto*//*Label 6467*/ GIMT_Encode4(220950),
77560 /* 220870 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77561 /* 220874 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6468*/ GIMT_Encode4(220927), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6390 //
77562 /* 220881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77563 /* 220885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77564 /* 220889 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77565 /* 220892 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77566 /* 220896 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77567 /* 220900 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77568 /* 220902 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77569 /* 220909 */ // (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)
77570 /* 220909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
77571 /* 220912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77572 /* 220914 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77573 /* 220916 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77574 /* 220920 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77575 /* 220925 */ GIR_RootConstrainSelectedInstOperands,
77576 /* 220926 */ // GIR_Coverage, 6390,
77577 /* 220926 */ GIR_EraseRootFromParent_Done,
77578 /* 220927 */ // Label 6468: @220927
77579 /* 220927 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6469*/ GIMT_Encode4(220949), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6386 //
77580 /* 220934 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77581 /* 220938 */ // (strict_fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VMULPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
77582 /* 220938 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZrr),
77583 /* 220943 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77584 /* 220947 */ GIR_RootConstrainSelectedInstOperands,
77585 /* 220948 */ // GIR_Coverage, 6386,
77586 /* 220948 */ GIR_Done,
77587 /* 220949 */ // Label 6469: @220949
77588 /* 220949 */ GIM_Reject,
77589 /* 220950 */ // Label 6467: @220950
77590 /* 220950 */ GIM_Reject,
77591 /* 220951 */ // Label 6465: @220951
77592 /* 220951 */ GIM_Reject,
77593 /* 220952 */ // Label 6349: @220952
77594 /* 220952 */ GIM_Reject,
77595 /* 220953 */ // Label 77: @220953
77596 /* 220953 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 6483*/ GIMT_Encode4(224487),
77597 /* 220964 */ /*GILLT_s16*//*Label 6470*/ GIMT_Encode4(221056),
77598 /* 220968 */ /*GILLT_s32*//*Label 6471*/ GIMT_Encode4(221152),
77599 /* 220972 */ /*GILLT_s64*//*Label 6472*/ GIMT_Encode4(221832),
77600 /* 220976 */ /*GILLT_s80*//*Label 6473*/ GIMT_Encode4(222638), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
77601 /* 221020 */ /*GILLT_v8s16*//*Label 6474*/ GIMT_Encode4(223179),
77602 /* 221024 */ /*GILLT_v16s16*//*Label 6475*/ GIMT_Encode4(223275),
77603 /* 221028 */ /*GILLT_v32s16*//*Label 6476*/ GIMT_Encode4(223371),
77604 /* 221032 */ /*GILLT_v4s32*//*Label 6477*/ GIMT_Encode4(223467),
77605 /* 221036 */ /*GILLT_v8s32*//*Label 6478*/ GIMT_Encode4(223686),
77606 /* 221040 */ /*GILLT_v16s32*//*Label 6479*/ GIMT_Encode4(223881),
77607 /* 221044 */ /*GILLT_v2s64*//*Label 6480*/ GIMT_Encode4(223977),
77608 /* 221048 */ /*GILLT_v4s64*//*Label 6481*/ GIMT_Encode4(224196),
77609 /* 221052 */ /*GILLT_v8s64*//*Label 6482*/ GIMT_Encode4(224391),
77610 /* 221056 */ // Label 6470: @221056
77611 /* 221056 */ GIM_Try, /*On fail goto*//*Label 6484*/ GIMT_Encode4(221151),
77612 /* 221061 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
77613 /* 221064 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
77614 /* 221067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77615 /* 221071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77616 /* 221075 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6485*/ GIMT_Encode4(221128), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6126 //
77617 /* 221082 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77618 /* 221086 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77619 /* 221090 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77620 /* 221093 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77621 /* 221097 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77622 /* 221101 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77623 /* 221103 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77624 /* 221110 */ // (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)
77625 /* 221110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrm),
77626 /* 221113 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77627 /* 221115 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77628 /* 221117 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77629 /* 221121 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77630 /* 221126 */ GIR_RootConstrainSelectedInstOperands,
77631 /* 221127 */ // GIR_Coverage, 6126,
77632 /* 221127 */ GIR_EraseRootFromParent_Done,
77633 /* 221128 */ // Label 6485: @221128
77634 /* 221128 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6486*/ GIMT_Encode4(221150), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6124 //
77635 /* 221135 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77636 /* 221139 */ // (strict_fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VDIVSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
77637 /* 221139 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrr),
77638 /* 221144 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77639 /* 221148 */ GIR_RootConstrainSelectedInstOperands,
77640 /* 221149 */ // GIR_Coverage, 6124,
77641 /* 221149 */ GIR_Done,
77642 /* 221150 */ // Label 6486: @221150
77643 /* 221150 */ GIM_Reject,
77644 /* 221151 */ // Label 6484: @221151
77645 /* 221151 */ GIM_Reject,
77646 /* 221152 */ // Label 6471: @221152
77647 /* 221152 */ GIM_Try, /*On fail goto*//*Label 6487*/ GIMT_Encode4(221831),
77648 /* 221157 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
77649 /* 221160 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
77650 /* 221163 */ GIM_Try, /*On fail goto*//*Label 6488*/ GIMT_Encode4(221529),
77651 /* 221168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77652 /* 221172 */ GIM_Try, /*On fail goto*//*Label 6489*/ GIMT_Encode4(221350),
77653 /* 221177 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77654 /* 221181 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6490*/ GIMT_Encode4(221237), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1006 //
77655 /* 221188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77656 /* 221192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77657 /* 221196 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77658 /* 221203 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77659 /* 221207 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77660 /* 221209 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77661 /* 221216 */ // (strict_fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77662 /* 221216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m32),
77663 /* 221219 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77664 /* 221221 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77665 /* 221223 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77666 /* 221227 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77667 /* 221230 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77668 /* 221235 */ GIR_RootConstrainSelectedInstOperands,
77669 /* 221236 */ // GIR_Coverage, 1006,
77670 /* 221236 */ GIR_EraseRootFromParent_Done,
77671 /* 221237 */ // Label 6490: @221237
77672 /* 221237 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6491*/ GIMT_Encode4(221293), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1008 //
77673 /* 221244 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77674 /* 221248 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77675 /* 221252 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77676 /* 221259 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77677 /* 221263 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77678 /* 221265 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77679 /* 221272 */ // (strict_fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77680 /* 221272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m32),
77681 /* 221275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77682 /* 221277 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77683 /* 221279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77684 /* 221283 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77685 /* 221286 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77686 /* 221291 */ GIR_RootConstrainSelectedInstOperands,
77687 /* 221292 */ // GIR_Coverage, 1008,
77688 /* 221292 */ GIR_EraseRootFromParent_Done,
77689 /* 221293 */ // Label 6491: @221293
77690 /* 221293 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6492*/ GIMT_Encode4(221349), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 996 //
77691 /* 221300 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77692 /* 221304 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77693 /* 221308 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77694 /* 221311 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77695 /* 221315 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77696 /* 221319 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77697 /* 221321 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77698 /* 221328 */ // (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)
77699 /* 221328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp32m),
77700 /* 221331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77701 /* 221333 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77702 /* 221335 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77703 /* 221339 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77704 /* 221342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77705 /* 221347 */ GIR_RootConstrainSelectedInstOperands,
77706 /* 221348 */ // GIR_Coverage, 996,
77707 /* 221348 */ GIR_EraseRootFromParent_Done,
77708 /* 221349 */ // Label 6492: @221349
77709 /* 221349 */ GIM_Reject,
77710 /* 221350 */ // Label 6489: @221350
77711 /* 221350 */ GIM_Try, /*On fail goto*//*Label 6493*/ GIMT_Encode4(221528),
77712 /* 221355 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77713 /* 221359 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6494*/ GIMT_Encode4(221415), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 984 //
77714 /* 221366 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77715 /* 221370 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77716 /* 221374 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77717 /* 221381 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77718 /* 221385 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77719 /* 221387 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77720 /* 221394 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77721 /* 221394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m32),
77722 /* 221397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77723 /* 221399 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77724 /* 221401 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77725 /* 221405 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77726 /* 221408 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77727 /* 221413 */ GIR_RootConstrainSelectedInstOperands,
77728 /* 221414 */ // GIR_Coverage, 984,
77729 /* 221414 */ GIR_EraseRootFromParent_Done,
77730 /* 221415 */ // Label 6494: @221415
77731 /* 221415 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6495*/ GIMT_Encode4(221471), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 986 //
77732 /* 221422 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77733 /* 221426 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77734 /* 221430 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77735 /* 221437 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77736 /* 221441 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77737 /* 221443 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77738 /* 221450 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77739 /* 221450 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m32),
77740 /* 221453 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77741 /* 221455 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77742 /* 221457 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77743 /* 221461 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77744 /* 221464 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77745 /* 221469 */ GIR_RootConstrainSelectedInstOperands,
77746 /* 221470 */ // GIR_Coverage, 986,
77747 /* 221470 */ GIR_EraseRootFromParent_Done,
77748 /* 221471 */ // Label 6495: @221471
77749 /* 221471 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6496*/ GIMT_Encode4(221527), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 974 //
77750 /* 221478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77751 /* 221482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77752 /* 221486 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77753 /* 221489 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77754 /* 221493 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77755 /* 221497 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77756 /* 221499 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77757 /* 221506 */ // (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)
77758 /* 221506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32m),
77759 /* 221509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77760 /* 221511 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77761 /* 221513 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77762 /* 221517 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77763 /* 221520 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77764 /* 221525 */ GIR_RootConstrainSelectedInstOperands,
77765 /* 221526 */ // GIR_Coverage, 974,
77766 /* 221526 */ GIR_EraseRootFromParent_Done,
77767 /* 221527 */ // Label 6496: @221527
77768 /* 221527 */ GIM_Reject,
77769 /* 221528 */ // Label 6493: @221528
77770 /* 221528 */ GIM_Reject,
77771 /* 221529 */ // Label 6488: @221529
77772 /* 221529 */ GIM_Try, /*On fail goto*//*Label 6497*/ GIMT_Encode4(221649),
77773 /* 221534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77774 /* 221538 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77775 /* 221542 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6498*/ GIMT_Encode4(221595), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2261 //
77776 /* 221549 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77777 /* 221553 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77778 /* 221557 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77779 /* 221560 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77780 /* 221564 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77781 /* 221568 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77782 /* 221570 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77783 /* 221577 */ // (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)
77784 /* 221577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
77785 /* 221580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77786 /* 221582 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77787 /* 221584 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77788 /* 221588 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77789 /* 221593 */ GIR_RootConstrainSelectedInstOperands,
77790 /* 221594 */ // GIR_Coverage, 2261,
77791 /* 221594 */ GIR_EraseRootFromParent_Done,
77792 /* 221595 */ // Label 6498: @221595
77793 /* 221595 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6499*/ GIMT_Encode4(221648), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2269 //
77794 /* 221602 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77795 /* 221606 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77796 /* 221610 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77797 /* 221613 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77798 /* 221617 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77799 /* 221621 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77800 /* 221623 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77801 /* 221630 */ // (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)
77802 /* 221630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
77803 /* 221633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77804 /* 221635 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77805 /* 221637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77806 /* 221641 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77807 /* 221646 */ GIR_RootConstrainSelectedInstOperands,
77808 /* 221647 */ // GIR_Coverage, 2269,
77809 /* 221647 */ GIR_EraseRootFromParent_Done,
77810 /* 221648 */ // Label 6499: @221648
77811 /* 221648 */ GIM_Reject,
77812 /* 221649 */ // Label 6497: @221649
77813 /* 221649 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6500*/ GIMT_Encode4(221710), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6088 //
77814 /* 221656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77815 /* 221660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77816 /* 221664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77817 /* 221668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77818 /* 221672 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77819 /* 221675 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77820 /* 221679 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77821 /* 221683 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77822 /* 221685 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77823 /* 221692 */ // (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)
77824 /* 221692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
77825 /* 221695 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77826 /* 221697 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77827 /* 221699 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77828 /* 221703 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77829 /* 221708 */ GIR_RootConstrainSelectedInstOperands,
77830 /* 221709 */ // GIR_Coverage, 6088,
77831 /* 221709 */ GIR_EraseRootFromParent_Done,
77832 /* 221710 */ // Label 6500: @221710
77833 /* 221710 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6501*/ GIMT_Encode4(221746), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 880 //
77834 /* 221717 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77835 /* 221721 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77836 /* 221725 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77837 /* 221729 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (DIV_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
77838 /* 221729 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32),
77839 /* 221734 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
77840 /* 221740 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
77841 /* 221744 */ GIR_RootConstrainSelectedInstOperands,
77842 /* 221745 */ // GIR_Coverage, 880,
77843 /* 221745 */ GIR_Done,
77844 /* 221746 */ // Label 6501: @221746
77845 /* 221746 */ GIM_Try, /*On fail goto*//*Label 6502*/ GIMT_Encode4(221800),
77846 /* 221751 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77847 /* 221755 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77848 /* 221759 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77849 /* 221763 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6503*/ GIMT_Encode4(221781), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2259 //
77850 /* 221770 */ // (strict_fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VDIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
77851 /* 221770 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSrr),
77852 /* 221775 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77853 /* 221779 */ GIR_RootConstrainSelectedInstOperands,
77854 /* 221780 */ // GIR_Coverage, 2259,
77855 /* 221780 */ GIR_Done,
77856 /* 221781 */ // Label 6503: @221781
77857 /* 221781 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6504*/ GIMT_Encode4(221799), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2267 //
77858 /* 221788 */ // (strict_fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (DIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
77859 /* 221788 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSSrr),
77860 /* 221793 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77861 /* 221797 */ GIR_RootConstrainSelectedInstOperands,
77862 /* 221798 */ // GIR_Coverage, 2267,
77863 /* 221798 */ GIR_Done,
77864 /* 221799 */ // Label 6504: @221799
77865 /* 221799 */ GIM_Reject,
77866 /* 221800 */ // Label 6502: @221800
77867 /* 221800 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6505*/ GIMT_Encode4(221830), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6086 //
77868 /* 221807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77869 /* 221811 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77870 /* 221815 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77871 /* 221819 */ // (strict_fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VDIVSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
77872 /* 221819 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrr),
77873 /* 221824 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77874 /* 221828 */ GIR_RootConstrainSelectedInstOperands,
77875 /* 221829 */ // GIR_Coverage, 6086,
77876 /* 221829 */ GIR_Done,
77877 /* 221830 */ // Label 6505: @221830
77878 /* 221830 */ GIM_Reject,
77879 /* 221831 */ // Label 6487: @221831
77880 /* 221831 */ GIM_Reject,
77881 /* 221832 */ // Label 6472: @221832
77882 /* 221832 */ GIM_Try, /*On fail goto*//*Label 6506*/ GIMT_Encode4(222637),
77883 /* 221837 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
77884 /* 221840 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
77885 /* 221843 */ GIM_Try, /*On fail goto*//*Label 6507*/ GIMT_Encode4(222335),
77886 /* 221848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77887 /* 221852 */ GIM_Try, /*On fail goto*//*Label 6508*/ GIMT_Encode4(222093),
77888 /* 221857 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77889 /* 221861 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6509*/ GIMT_Encode4(221917), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1010 //
77890 /* 221868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77891 /* 221872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77892 /* 221876 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77893 /* 221883 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77894 /* 221887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77895 /* 221889 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77896 /* 221896 */ // (strict_fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77897 /* 221896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m64),
77898 /* 221899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77899 /* 221901 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77900 /* 221903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77901 /* 221907 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77902 /* 221910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77903 /* 221915 */ GIR_RootConstrainSelectedInstOperands,
77904 /* 221916 */ // GIR_Coverage, 1010,
77905 /* 221916 */ GIR_EraseRootFromParent_Done,
77906 /* 221917 */ // Label 6509: @221917
77907 /* 221917 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6510*/ GIMT_Encode4(221973), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1012 //
77908 /* 221924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77909 /* 221928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77910 /* 221932 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77911 /* 221939 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77912 /* 221943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77913 /* 221945 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77914 /* 221952 */ // (strict_fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77915 /* 221952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m64),
77916 /* 221955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77917 /* 221957 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77918 /* 221959 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77919 /* 221963 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77920 /* 221966 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77921 /* 221971 */ GIR_RootConstrainSelectedInstOperands,
77922 /* 221972 */ // GIR_Coverage, 1012,
77923 /* 221972 */ GIR_EraseRootFromParent_Done,
77924 /* 221973 */ // Label 6510: @221973
77925 /* 221973 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6511*/ GIMT_Encode4(222036), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1000 //
77926 /* 221980 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77927 /* 221984 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
77928 /* 221988 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77929 /* 221991 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77930 /* 221995 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77931 /* 222002 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77932 /* 222006 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77933 /* 222008 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77934 /* 222015 */ // (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)
77935 /* 222015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m32),
77936 /* 222018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77937 /* 222020 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77938 /* 222022 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77939 /* 222026 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77940 /* 222029 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77941 /* 222034 */ GIR_RootConstrainSelectedInstOperands,
77942 /* 222035 */ // GIR_Coverage, 1000,
77943 /* 222035 */ GIR_EraseRootFromParent_Done,
77944 /* 222036 */ // Label 6511: @222036
77945 /* 222036 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6512*/ GIMT_Encode4(222092), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 998 //
77946 /* 222043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77947 /* 222047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77948 /* 222051 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77949 /* 222054 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77950 /* 222058 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77951 /* 222062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77952 /* 222064 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77953 /* 222071 */ // (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)
77954 /* 222071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m),
77955 /* 222074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77956 /* 222076 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77957 /* 222078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77958 /* 222082 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77959 /* 222085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77960 /* 222090 */ GIR_RootConstrainSelectedInstOperands,
77961 /* 222091 */ // GIR_Coverage, 998,
77962 /* 222091 */ GIR_EraseRootFromParent_Done,
77963 /* 222092 */ // Label 6512: @222092
77964 /* 222092 */ GIM_Reject,
77965 /* 222093 */ // Label 6508: @222093
77966 /* 222093 */ GIM_Try, /*On fail goto*//*Label 6513*/ GIMT_Encode4(222334),
77967 /* 222098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77968 /* 222102 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6514*/ GIMT_Encode4(222158), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 988 //
77969 /* 222109 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77970 /* 222113 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77971 /* 222117 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77972 /* 222124 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77973 /* 222128 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77974 /* 222130 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77975 /* 222137 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77976 /* 222137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m64),
77977 /* 222140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77978 /* 222142 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77979 /* 222144 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77980 /* 222148 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77981 /* 222151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77982 /* 222156 */ GIR_RootConstrainSelectedInstOperands,
77983 /* 222157 */ // GIR_Coverage, 988,
77984 /* 222157 */ GIR_EraseRootFromParent_Done,
77985 /* 222158 */ // Label 6514: @222158
77986 /* 222158 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6515*/ GIMT_Encode4(222214), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 990 //
77987 /* 222165 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77988 /* 222169 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77989 /* 222173 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77990 /* 222180 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77991 /* 222184 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77992 /* 222186 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77993 /* 222193 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77994 /* 222193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m64),
77995 /* 222196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77996 /* 222198 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77997 /* 222200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77998 /* 222204 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77999 /* 222207 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78000 /* 222212 */ GIR_RootConstrainSelectedInstOperands,
78001 /* 222213 */ // GIR_Coverage, 990,
78002 /* 222213 */ GIR_EraseRootFromParent_Done,
78003 /* 222214 */ // Label 6515: @222214
78004 /* 222214 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6516*/ GIMT_Encode4(222277), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 978 //
78005 /* 222221 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78006 /* 222225 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
78007 /* 222229 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78008 /* 222232 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78009 /* 222236 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78010 /* 222243 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78011 /* 222247 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78012 /* 222249 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78013 /* 222256 */ // (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)
78014 /* 222256 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m32),
78015 /* 222259 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78016 /* 222261 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78017 /* 222263 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78018 /* 222267 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78019 /* 222270 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78020 /* 222275 */ GIR_RootConstrainSelectedInstOperands,
78021 /* 222276 */ // GIR_Coverage, 978,
78022 /* 222276 */ GIR_EraseRootFromParent_Done,
78023 /* 222277 */ // Label 6516: @222277
78024 /* 222277 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6517*/ GIMT_Encode4(222333), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 976 //
78025 /* 222284 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78026 /* 222288 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78027 /* 222292 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78028 /* 222295 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78029 /* 222299 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78030 /* 222303 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78031 /* 222305 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78032 /* 222312 */ // (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)
78033 /* 222312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m),
78034 /* 222315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78035 /* 222317 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78036 /* 222319 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78037 /* 222323 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78038 /* 222326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78039 /* 222331 */ GIR_RootConstrainSelectedInstOperands,
78040 /* 222332 */ // GIR_Coverage, 976,
78041 /* 222332 */ GIR_EraseRootFromParent_Done,
78042 /* 222333 */ // Label 6517: @222333
78043 /* 222333 */ GIM_Reject,
78044 /* 222334 */ // Label 6513: @222334
78045 /* 222334 */ GIM_Reject,
78046 /* 222335 */ // Label 6507: @222335
78047 /* 222335 */ GIM_Try, /*On fail goto*//*Label 6518*/ GIMT_Encode4(222455),
78048 /* 222340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78049 /* 222344 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78050 /* 222348 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6519*/ GIMT_Encode4(222401), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2265 //
78051 /* 222355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78052 /* 222359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78053 /* 222363 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78054 /* 222366 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78055 /* 222370 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78056 /* 222374 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78057 /* 222376 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78058 /* 222383 */ // (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)
78059 /* 222383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
78060 /* 222386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78061 /* 222388 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78062 /* 222390 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78063 /* 222394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78064 /* 222399 */ GIR_RootConstrainSelectedInstOperands,
78065 /* 222400 */ // GIR_Coverage, 2265,
78066 /* 222400 */ GIR_EraseRootFromParent_Done,
78067 /* 222401 */ // Label 6519: @222401
78068 /* 222401 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6520*/ GIMT_Encode4(222454), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2273 //
78069 /* 222408 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78070 /* 222412 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78071 /* 222416 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78072 /* 222419 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78073 /* 222423 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78074 /* 222427 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78075 /* 222429 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78076 /* 222436 */ // (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)
78077 /* 222436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
78078 /* 222439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78079 /* 222441 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78080 /* 222443 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78081 /* 222447 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78082 /* 222452 */ GIR_RootConstrainSelectedInstOperands,
78083 /* 222453 */ // GIR_Coverage, 2273,
78084 /* 222453 */ GIR_EraseRootFromParent_Done,
78085 /* 222454 */ // Label 6520: @222454
78086 /* 222454 */ GIM_Reject,
78087 /* 222455 */ // Label 6518: @222455
78088 /* 222455 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6521*/ GIMT_Encode4(222516), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6107 //
78089 /* 222462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78090 /* 222466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78091 /* 222470 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78092 /* 222474 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78093 /* 222478 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78094 /* 222481 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78095 /* 222485 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78096 /* 222489 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78097 /* 222491 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78098 /* 222498 */ // (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)
78099 /* 222498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
78100 /* 222501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78101 /* 222503 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78102 /* 222505 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78103 /* 222509 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78104 /* 222514 */ GIR_RootConstrainSelectedInstOperands,
78105 /* 222515 */ // GIR_Coverage, 6107,
78106 /* 222515 */ GIR_EraseRootFromParent_Done,
78107 /* 222516 */ // Label 6521: @222516
78108 /* 222516 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6522*/ GIMT_Encode4(222552), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 882 //
78109 /* 222523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78110 /* 222527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78111 /* 222531 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78112 /* 222535 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (DIV_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
78113 /* 222535 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64),
78114 /* 222540 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
78115 /* 222546 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
78116 /* 222550 */ GIR_RootConstrainSelectedInstOperands,
78117 /* 222551 */ // GIR_Coverage, 882,
78118 /* 222551 */ GIR_Done,
78119 /* 222552 */ // Label 6522: @222552
78120 /* 222552 */ GIM_Try, /*On fail goto*//*Label 6523*/ GIMT_Encode4(222606),
78121 /* 222557 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78122 /* 222561 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78123 /* 222565 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78124 /* 222569 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6524*/ GIMT_Encode4(222587), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 2263 //
78125 /* 222576 */ // (strict_fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VDIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
78126 /* 222576 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDrr),
78127 /* 222581 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78128 /* 222585 */ GIR_RootConstrainSelectedInstOperands,
78129 /* 222586 */ // GIR_Coverage, 2263,
78130 /* 222586 */ GIR_Done,
78131 /* 222587 */ // Label 6524: @222587
78132 /* 222587 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6525*/ GIMT_Encode4(222605), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2271 //
78133 /* 222594 */ // (strict_fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (DIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
78134 /* 222594 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSDrr),
78135 /* 222599 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78136 /* 222603 */ GIR_RootConstrainSelectedInstOperands,
78137 /* 222604 */ // GIR_Coverage, 2271,
78138 /* 222604 */ GIR_Done,
78139 /* 222605 */ // Label 6525: @222605
78140 /* 222605 */ GIM_Reject,
78141 /* 222606 */ // Label 6523: @222606
78142 /* 222606 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6526*/ GIMT_Encode4(222636), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6105 //
78143 /* 222613 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78144 /* 222617 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78145 /* 222621 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78146 /* 222625 */ // (strict_fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VDIVSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
78147 /* 222625 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrr),
78148 /* 222630 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78149 /* 222634 */ GIR_RootConstrainSelectedInstOperands,
78150 /* 222635 */ // GIR_Coverage, 6105,
78151 /* 222635 */ GIR_Done,
78152 /* 222636 */ // Label 6526: @222636
78153 /* 222636 */ GIM_Reject,
78154 /* 222637 */ // Label 6506: @222637
78155 /* 222637 */ GIM_Reject,
78156 /* 222638 */ // Label 6473: @222638
78157 /* 222638 */ GIM_Try, /*On fail goto*//*Label 6527*/ GIMT_Encode4(223178),
78158 /* 222643 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
78159 /* 222646 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
78160 /* 222649 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78161 /* 222653 */ GIM_Try, /*On fail goto*//*Label 6528*/ GIMT_Encode4(222901),
78162 /* 222658 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78163 /* 222662 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6529*/ GIMT_Encode4(222718), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1014 //
78164 /* 222669 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78165 /* 222673 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78166 /* 222677 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
78167 /* 222684 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78168 /* 222688 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78169 /* 222690 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78170 /* 222697 */ // (strict_fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
78171 /* 222697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m80),
78172 /* 222700 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78173 /* 222702 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78174 /* 222704 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78175 /* 222708 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78176 /* 222711 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78177 /* 222716 */ GIR_RootConstrainSelectedInstOperands,
78178 /* 222717 */ // GIR_Coverage, 1014,
78179 /* 222717 */ GIR_EraseRootFromParent_Done,
78180 /* 222718 */ // Label 6529: @222718
78181 /* 222718 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6530*/ GIMT_Encode4(222774), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1016 //
78182 /* 222725 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78183 /* 222729 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78184 /* 222733 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78185 /* 222740 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78186 /* 222744 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78187 /* 222746 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78188 /* 222753 */ // (strict_fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
78189 /* 222753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m80),
78190 /* 222756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78191 /* 222758 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78192 /* 222760 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78193 /* 222764 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78194 /* 222767 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78195 /* 222772 */ GIR_RootConstrainSelectedInstOperands,
78196 /* 222773 */ // GIR_Coverage, 1016,
78197 /* 222773 */ GIR_EraseRootFromParent_Done,
78198 /* 222774 */ // Label 6530: @222774
78199 /* 222774 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6531*/ GIMT_Encode4(222837), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1002 //
78200 /* 222781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78201 /* 222785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
78202 /* 222789 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78203 /* 222792 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78204 /* 222796 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78205 /* 222803 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78206 /* 222807 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78207 /* 222809 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78208 /* 222816 */ // (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)
78209 /* 222816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m32),
78210 /* 222819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78211 /* 222821 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78212 /* 222823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78213 /* 222827 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78214 /* 222830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78215 /* 222835 */ GIR_RootConstrainSelectedInstOperands,
78216 /* 222836 */ // GIR_Coverage, 1002,
78217 /* 222836 */ GIR_EraseRootFromParent_Done,
78218 /* 222837 */ // Label 6531: @222837
78219 /* 222837 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6532*/ GIMT_Encode4(222900), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1004 //
78220 /* 222844 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78221 /* 222848 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
78222 /* 222852 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78223 /* 222855 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78224 /* 222859 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
78225 /* 222866 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78226 /* 222870 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78227 /* 222872 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78228 /* 222879 */ // (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)
78229 /* 222879 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m64),
78230 /* 222882 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78231 /* 222884 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78232 /* 222886 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78233 /* 222890 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78234 /* 222893 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78235 /* 222898 */ GIR_RootConstrainSelectedInstOperands,
78236 /* 222899 */ // GIR_Coverage, 1004,
78237 /* 222899 */ GIR_EraseRootFromParent_Done,
78238 /* 222900 */ // Label 6532: @222900
78239 /* 222900 */ GIM_Reject,
78240 /* 222901 */ // Label 6528: @222901
78241 /* 222901 */ GIM_Try, /*On fail goto*//*Label 6533*/ GIMT_Encode4(223177),
78242 /* 222906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78243 /* 222910 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6534*/ GIMT_Encode4(222966), GIMT_Encode2(GIFBS_HasX87), // Rule ID 992 //
78244 /* 222917 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78245 /* 222921 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78246 /* 222925 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
78247 /* 222932 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78248 /* 222936 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78249 /* 222938 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78250 /* 222945 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
78251 /* 222945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m80),
78252 /* 222948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78253 /* 222950 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78254 /* 222952 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78255 /* 222956 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78256 /* 222959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78257 /* 222964 */ GIR_RootConstrainSelectedInstOperands,
78258 /* 222965 */ // GIR_Coverage, 992,
78259 /* 222965 */ GIR_EraseRootFromParent_Done,
78260 /* 222966 */ // Label 6534: @222966
78261 /* 222966 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6535*/ GIMT_Encode4(223022), GIMT_Encode2(GIFBS_HasX87), // Rule ID 994 //
78262 /* 222973 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78263 /* 222977 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78264 /* 222981 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78265 /* 222988 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78266 /* 222992 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78267 /* 222994 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78268 /* 223001 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
78269 /* 223001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m80),
78270 /* 223004 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78271 /* 223006 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78272 /* 223008 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78273 /* 223012 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78274 /* 223015 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78275 /* 223020 */ GIR_RootConstrainSelectedInstOperands,
78276 /* 223021 */ // GIR_Coverage, 994,
78277 /* 223021 */ GIR_EraseRootFromParent_Done,
78278 /* 223022 */ // Label 6535: @223022
78279 /* 223022 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6536*/ GIMT_Encode4(223085), GIMT_Encode2(GIFBS_HasX87), // Rule ID 980 //
78280 /* 223029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78281 /* 223033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
78282 /* 223037 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78283 /* 223040 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78284 /* 223044 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78285 /* 223051 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78286 /* 223055 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78287 /* 223057 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78288 /* 223064 */ // (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)
78289 /* 223064 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m32),
78290 /* 223067 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78291 /* 223069 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78292 /* 223071 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78293 /* 223075 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78294 /* 223078 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78295 /* 223083 */ GIR_RootConstrainSelectedInstOperands,
78296 /* 223084 */ // GIR_Coverage, 980,
78297 /* 223084 */ GIR_EraseRootFromParent_Done,
78298 /* 223085 */ // Label 6536: @223085
78299 /* 223085 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6537*/ GIMT_Encode4(223148), GIMT_Encode2(GIFBS_HasX87), // Rule ID 982 //
78300 /* 223092 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78301 /* 223096 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXTLOAD),
78302 /* 223100 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78303 /* 223103 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78304 /* 223107 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
78305 /* 223114 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78306 /* 223118 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78307 /* 223120 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78308 /* 223127 */ // (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)
78309 /* 223127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m64),
78310 /* 223130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78311 /* 223132 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78312 /* 223134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78313 /* 223138 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78314 /* 223141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78315 /* 223146 */ GIR_RootConstrainSelectedInstOperands,
78316 /* 223147 */ // GIR_Coverage, 982,
78317 /* 223147 */ GIR_EraseRootFromParent_Done,
78318 /* 223148 */ // Label 6537: @223148
78319 /* 223148 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6538*/ GIMT_Encode4(223176), GIMT_Encode2(GIFBS_HasX87), // Rule ID 884 //
78320 /* 223155 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78321 /* 223159 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (DIV_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
78322 /* 223159 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80),
78323 /* 223164 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
78324 /* 223170 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
78325 /* 223174 */ GIR_RootConstrainSelectedInstOperands,
78326 /* 223175 */ // GIR_Coverage, 884,
78327 /* 223175 */ GIR_Done,
78328 /* 223176 */ // Label 6538: @223176
78329 /* 223176 */ GIM_Reject,
78330 /* 223177 */ // Label 6533: @223177
78331 /* 223177 */ GIM_Reject,
78332 /* 223178 */ // Label 6527: @223178
78333 /* 223178 */ GIM_Reject,
78334 /* 223179 */ // Label 6474: @223179
78335 /* 223179 */ GIM_Try, /*On fail goto*//*Label 6539*/ GIMT_Encode4(223274),
78336 /* 223184 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
78337 /* 223187 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
78338 /* 223190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78339 /* 223194 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78340 /* 223198 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6540*/ GIMT_Encode4(223251), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6696 //
78341 /* 223205 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78342 /* 223209 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78343 /* 223213 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78344 /* 223216 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78345 /* 223220 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78346 /* 223224 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78347 /* 223226 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78348 /* 223233 */ // (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)
78349 /* 223233 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rm),
78350 /* 223236 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78351 /* 223238 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78352 /* 223240 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78353 /* 223244 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78354 /* 223249 */ GIR_RootConstrainSelectedInstOperands,
78355 /* 223250 */ // GIR_Coverage, 6696,
78356 /* 223250 */ GIR_EraseRootFromParent_Done,
78357 /* 223251 */ // Label 6540: @223251
78358 /* 223251 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6541*/ GIMT_Encode4(223273), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6692 //
78359 /* 223258 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78360 /* 223262 */ // (strict_fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VDIVPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
78361 /* 223262 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rr),
78362 /* 223267 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78363 /* 223271 */ GIR_RootConstrainSelectedInstOperands,
78364 /* 223272 */ // GIR_Coverage, 6692,
78365 /* 223272 */ GIR_Done,
78366 /* 223273 */ // Label 6541: @223273
78367 /* 223273 */ GIM_Reject,
78368 /* 223274 */ // Label 6539: @223274
78369 /* 223274 */ GIM_Reject,
78370 /* 223275 */ // Label 6475: @223275
78371 /* 223275 */ GIM_Try, /*On fail goto*//*Label 6542*/ GIMT_Encode4(223370),
78372 /* 223280 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
78373 /* 223283 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
78374 /* 223286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78375 /* 223290 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78376 /* 223294 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6543*/ GIMT_Encode4(223347), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6708 //
78377 /* 223301 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78378 /* 223305 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78379 /* 223309 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78380 /* 223312 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78381 /* 223316 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78382 /* 223320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78383 /* 223322 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78384 /* 223329 */ // (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)
78385 /* 223329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rm),
78386 /* 223332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78387 /* 223334 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78388 /* 223336 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78389 /* 223340 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78390 /* 223345 */ GIR_RootConstrainSelectedInstOperands,
78391 /* 223346 */ // GIR_Coverage, 6708,
78392 /* 223346 */ GIR_EraseRootFromParent_Done,
78393 /* 223347 */ // Label 6543: @223347
78394 /* 223347 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6544*/ GIMT_Encode4(223369), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 6704 //
78395 /* 223354 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78396 /* 223358 */ // (strict_fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VDIVPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
78397 /* 223358 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rr),
78398 /* 223363 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78399 /* 223367 */ GIR_RootConstrainSelectedInstOperands,
78400 /* 223368 */ // GIR_Coverage, 6704,
78401 /* 223368 */ GIR_Done,
78402 /* 223369 */ // Label 6544: @223369
78403 /* 223369 */ GIM_Reject,
78404 /* 223370 */ // Label 6542: @223370
78405 /* 223370 */ GIM_Reject,
78406 /* 223371 */ // Label 6476: @223371
78407 /* 223371 */ GIM_Try, /*On fail goto*//*Label 6545*/ GIMT_Encode4(223466),
78408 /* 223376 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
78409 /* 223379 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
78410 /* 223382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78411 /* 223386 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78412 /* 223390 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6546*/ GIMT_Encode4(223443), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6684 //
78413 /* 223397 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78414 /* 223401 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78415 /* 223405 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78416 /* 223408 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78417 /* 223412 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78418 /* 223416 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78419 /* 223418 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78420 /* 223425 */ // (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)
78421 /* 223425 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrm),
78422 /* 223428 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78423 /* 223430 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78424 /* 223432 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78425 /* 223436 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78426 /* 223441 */ GIR_RootConstrainSelectedInstOperands,
78427 /* 223442 */ // GIR_Coverage, 6684,
78428 /* 223442 */ GIR_EraseRootFromParent_Done,
78429 /* 223443 */ // Label 6546: @223443
78430 /* 223443 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6547*/ GIMT_Encode4(223465), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 6680 //
78431 /* 223450 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78432 /* 223454 */ // (strict_fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VDIVPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
78433 /* 223454 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrr),
78434 /* 223459 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78435 /* 223463 */ GIR_RootConstrainSelectedInstOperands,
78436 /* 223464 */ // GIR_Coverage, 6680,
78437 /* 223464 */ GIR_Done,
78438 /* 223465 */ // Label 6547: @223465
78439 /* 223465 */ GIM_Reject,
78440 /* 223466 */ // Label 6545: @223466
78441 /* 223466 */ GIM_Reject,
78442 /* 223467 */ // Label 6477: @223467
78443 /* 223467 */ GIM_Try, /*On fail goto*//*Label 6548*/ GIMT_Encode4(223685),
78444 /* 223472 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
78445 /* 223475 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
78446 /* 223478 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6549*/ GIMT_Encode4(223539), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2237 //
78447 /* 223485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78448 /* 223489 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78449 /* 223493 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78450 /* 223497 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78451 /* 223501 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78452 /* 223504 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78453 /* 223508 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78454 /* 223512 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78455 /* 223514 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78456 /* 223521 */ // (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)
78457 /* 223521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSrm),
78458 /* 223524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78459 /* 223526 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78460 /* 223528 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78461 /* 223532 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78462 /* 223537 */ GIR_RootConstrainSelectedInstOperands,
78463 /* 223538 */ // GIR_Coverage, 2237,
78464 /* 223538 */ GIR_EraseRootFromParent_Done,
78465 /* 223539 */ // Label 6549: @223539
78466 /* 223539 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6550*/ GIMT_Encode4(223600), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6636 //
78467 /* 223546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78468 /* 223550 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78469 /* 223554 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78470 /* 223558 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78471 /* 223562 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78472 /* 223565 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78473 /* 223569 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78474 /* 223573 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78475 /* 223575 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78476 /* 223582 */ // (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)
78477 /* 223582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rm),
78478 /* 223585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78479 /* 223587 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78480 /* 223589 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78481 /* 223593 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78482 /* 223598 */ GIR_RootConstrainSelectedInstOperands,
78483 /* 223599 */ // GIR_Coverage, 6636,
78484 /* 223599 */ GIR_EraseRootFromParent_Done,
78485 /* 223600 */ // Label 6550: @223600
78486 /* 223600 */ GIM_Try, /*On fail goto*//*Label 6551*/ GIMT_Encode4(223654),
78487 /* 223605 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78488 /* 223609 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78489 /* 223613 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78490 /* 223617 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6552*/ GIMT_Encode4(223635), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2235 //
78491 /* 223624 */ // (strict_fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VDIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
78492 /* 223624 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSrr),
78493 /* 223629 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78494 /* 223633 */ GIR_RootConstrainSelectedInstOperands,
78495 /* 223634 */ // GIR_Coverage, 2235,
78496 /* 223634 */ GIR_Done,
78497 /* 223635 */ // Label 6552: @223635
78498 /* 223635 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6553*/ GIMT_Encode4(223653), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2251 //
78499 /* 223642 */ // (strict_fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (DIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
78500 /* 223642 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPSrr),
78501 /* 223647 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78502 /* 223651 */ GIR_RootConstrainSelectedInstOperands,
78503 /* 223652 */ // GIR_Coverage, 2251,
78504 /* 223652 */ GIR_Done,
78505 /* 223653 */ // Label 6553: @223653
78506 /* 223653 */ GIM_Reject,
78507 /* 223654 */ // Label 6551: @223654
78508 /* 223654 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6554*/ GIMT_Encode4(223684), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6632 //
78509 /* 223661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78510 /* 223665 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78511 /* 223669 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78512 /* 223673 */ // (strict_fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VDIVPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
78513 /* 223673 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rr),
78514 /* 223678 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78515 /* 223682 */ GIR_RootConstrainSelectedInstOperands,
78516 /* 223683 */ // GIR_Coverage, 6632,
78517 /* 223683 */ GIR_Done,
78518 /* 223684 */ // Label 6554: @223684
78519 /* 223684 */ GIM_Reject,
78520 /* 223685 */ // Label 6548: @223685
78521 /* 223685 */ GIM_Reject,
78522 /* 223686 */ // Label 6478: @223686
78523 /* 223686 */ GIM_Try, /*On fail goto*//*Label 6555*/ GIMT_Encode4(223880),
78524 /* 223691 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
78525 /* 223694 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
78526 /* 223697 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6556*/ GIMT_Encode4(223758), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2245 //
78527 /* 223704 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78528 /* 223708 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78529 /* 223712 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78530 /* 223716 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78531 /* 223720 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78532 /* 223723 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78533 /* 223727 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78534 /* 223731 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78535 /* 223733 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78536 /* 223740 */ // (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)
78537 /* 223740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrm),
78538 /* 223743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78539 /* 223745 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78540 /* 223747 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78541 /* 223751 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78542 /* 223756 */ GIR_RootConstrainSelectedInstOperands,
78543 /* 223757 */ // GIR_Coverage, 2245,
78544 /* 223757 */ GIR_EraseRootFromParent_Done,
78545 /* 223758 */ // Label 6556: @223758
78546 /* 223758 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6557*/ GIMT_Encode4(223819), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6648 //
78547 /* 223765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78548 /* 223769 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78549 /* 223773 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78550 /* 223777 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78551 /* 223781 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78552 /* 223784 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78553 /* 223788 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78554 /* 223792 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78555 /* 223794 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78556 /* 223801 */ // (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)
78557 /* 223801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rm),
78558 /* 223804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78559 /* 223806 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78560 /* 223808 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78561 /* 223812 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78562 /* 223817 */ GIR_RootConstrainSelectedInstOperands,
78563 /* 223818 */ // GIR_Coverage, 6648,
78564 /* 223818 */ GIR_EraseRootFromParent_Done,
78565 /* 223819 */ // Label 6557: @223819
78566 /* 223819 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6558*/ GIMT_Encode4(223849), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2243 //
78567 /* 223826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78568 /* 223830 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78569 /* 223834 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78570 /* 223838 */ // (strict_fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VDIVPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
78571 /* 223838 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrr),
78572 /* 223843 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78573 /* 223847 */ GIR_RootConstrainSelectedInstOperands,
78574 /* 223848 */ // GIR_Coverage, 2243,
78575 /* 223848 */ GIR_Done,
78576 /* 223849 */ // Label 6558: @223849
78577 /* 223849 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6559*/ GIMT_Encode4(223879), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6644 //
78578 /* 223856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78579 /* 223860 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78580 /* 223864 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78581 /* 223868 */ // (strict_fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VDIVPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
78582 /* 223868 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rr),
78583 /* 223873 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78584 /* 223877 */ GIR_RootConstrainSelectedInstOperands,
78585 /* 223878 */ // GIR_Coverage, 6644,
78586 /* 223878 */ GIR_Done,
78587 /* 223879 */ // Label 6559: @223879
78588 /* 223879 */ GIM_Reject,
78589 /* 223880 */ // Label 6555: @223880
78590 /* 223880 */ GIM_Reject,
78591 /* 223881 */ // Label 6479: @223881
78592 /* 223881 */ GIM_Try, /*On fail goto*//*Label 6560*/ GIMT_Encode4(223976),
78593 /* 223886 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
78594 /* 223889 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
78595 /* 223892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78596 /* 223896 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78597 /* 223900 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6561*/ GIMT_Encode4(223953), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6612 //
78598 /* 223907 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78599 /* 223911 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78600 /* 223915 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78601 /* 223918 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78602 /* 223922 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78603 /* 223926 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78604 /* 223928 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78605 /* 223935 */ // (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)
78606 /* 223935 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrm),
78607 /* 223938 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78608 /* 223940 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78609 /* 223942 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78610 /* 223946 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78611 /* 223951 */ GIR_RootConstrainSelectedInstOperands,
78612 /* 223952 */ // GIR_Coverage, 6612,
78613 /* 223952 */ GIR_EraseRootFromParent_Done,
78614 /* 223953 */ // Label 6561: @223953
78615 /* 223953 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6562*/ GIMT_Encode4(223975), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6608 //
78616 /* 223960 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78617 /* 223964 */ // (strict_fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VDIVPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
78618 /* 223964 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrr),
78619 /* 223969 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78620 /* 223973 */ GIR_RootConstrainSelectedInstOperands,
78621 /* 223974 */ // GIR_Coverage, 6608,
78622 /* 223974 */ GIR_Done,
78623 /* 223975 */ // Label 6562: @223975
78624 /* 223975 */ GIM_Reject,
78625 /* 223976 */ // Label 6560: @223976
78626 /* 223976 */ GIM_Reject,
78627 /* 223977 */ // Label 6480: @223977
78628 /* 223977 */ GIM_Try, /*On fail goto*//*Label 6563*/ GIMT_Encode4(224195),
78629 /* 223982 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
78630 /* 223985 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
78631 /* 223988 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6564*/ GIMT_Encode4(224049), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2241 //
78632 /* 223995 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78633 /* 223999 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78634 /* 224003 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78635 /* 224007 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78636 /* 224011 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78637 /* 224014 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78638 /* 224018 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78639 /* 224022 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78640 /* 224024 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78641 /* 224031 */ // (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)
78642 /* 224031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDrm),
78643 /* 224034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78644 /* 224036 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78645 /* 224038 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78646 /* 224042 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78647 /* 224047 */ GIR_RootConstrainSelectedInstOperands,
78648 /* 224048 */ // GIR_Coverage, 2241,
78649 /* 224048 */ GIR_EraseRootFromParent_Done,
78650 /* 224049 */ // Label 6564: @224049
78651 /* 224049 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6565*/ GIMT_Encode4(224110), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6660 //
78652 /* 224056 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78653 /* 224060 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78654 /* 224064 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78655 /* 224068 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78656 /* 224072 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78657 /* 224075 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78658 /* 224079 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78659 /* 224083 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78660 /* 224085 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78661 /* 224092 */ // (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)
78662 /* 224092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rm),
78663 /* 224095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78664 /* 224097 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78665 /* 224099 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78666 /* 224103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78667 /* 224108 */ GIR_RootConstrainSelectedInstOperands,
78668 /* 224109 */ // GIR_Coverage, 6660,
78669 /* 224109 */ GIR_EraseRootFromParent_Done,
78670 /* 224110 */ // Label 6565: @224110
78671 /* 224110 */ GIM_Try, /*On fail goto*//*Label 6566*/ GIMT_Encode4(224164),
78672 /* 224115 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78673 /* 224119 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78674 /* 224123 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78675 /* 224127 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6567*/ GIMT_Encode4(224145), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2239 //
78676 /* 224134 */ // (strict_fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VDIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
78677 /* 224134 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDrr),
78678 /* 224139 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78679 /* 224143 */ GIR_RootConstrainSelectedInstOperands,
78680 /* 224144 */ // GIR_Coverage, 2239,
78681 /* 224144 */ GIR_Done,
78682 /* 224145 */ // Label 6567: @224145
78683 /* 224145 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6568*/ GIMT_Encode4(224163), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2255 //
78684 /* 224152 */ // (strict_fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (DIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
78685 /* 224152 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPDrr),
78686 /* 224157 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78687 /* 224161 */ GIR_RootConstrainSelectedInstOperands,
78688 /* 224162 */ // GIR_Coverage, 2255,
78689 /* 224162 */ GIR_Done,
78690 /* 224163 */ // Label 6568: @224163
78691 /* 224163 */ GIM_Reject,
78692 /* 224164 */ // Label 6566: @224164
78693 /* 224164 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6569*/ GIMT_Encode4(224194), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6656 //
78694 /* 224171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78695 /* 224175 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78696 /* 224179 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78697 /* 224183 */ // (strict_fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VDIVPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
78698 /* 224183 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rr),
78699 /* 224188 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78700 /* 224192 */ GIR_RootConstrainSelectedInstOperands,
78701 /* 224193 */ // GIR_Coverage, 6656,
78702 /* 224193 */ GIR_Done,
78703 /* 224194 */ // Label 6569: @224194
78704 /* 224194 */ GIM_Reject,
78705 /* 224195 */ // Label 6563: @224195
78706 /* 224195 */ GIM_Reject,
78707 /* 224196 */ // Label 6481: @224196
78708 /* 224196 */ GIM_Try, /*On fail goto*//*Label 6570*/ GIMT_Encode4(224390),
78709 /* 224201 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
78710 /* 224204 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
78711 /* 224207 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6571*/ GIMT_Encode4(224268), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2249 //
78712 /* 224214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78713 /* 224218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78714 /* 224222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78715 /* 224226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78716 /* 224230 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78717 /* 224233 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78718 /* 224237 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78719 /* 224241 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78720 /* 224243 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78721 /* 224250 */ // (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)
78722 /* 224250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrm),
78723 /* 224253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78724 /* 224255 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78725 /* 224257 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78726 /* 224261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78727 /* 224266 */ GIR_RootConstrainSelectedInstOperands,
78728 /* 224267 */ // GIR_Coverage, 2249,
78729 /* 224267 */ GIR_EraseRootFromParent_Done,
78730 /* 224268 */ // Label 6571: @224268
78731 /* 224268 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6572*/ GIMT_Encode4(224329), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6672 //
78732 /* 224275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78733 /* 224279 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78734 /* 224283 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78735 /* 224287 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78736 /* 224291 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78737 /* 224294 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78738 /* 224298 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78739 /* 224302 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78740 /* 224304 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78741 /* 224311 */ // (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)
78742 /* 224311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rm),
78743 /* 224314 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78744 /* 224316 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78745 /* 224318 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78746 /* 224322 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78747 /* 224327 */ GIR_RootConstrainSelectedInstOperands,
78748 /* 224328 */ // GIR_Coverage, 6672,
78749 /* 224328 */ GIR_EraseRootFromParent_Done,
78750 /* 224329 */ // Label 6572: @224329
78751 /* 224329 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6573*/ GIMT_Encode4(224359), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2247 //
78752 /* 224336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78753 /* 224340 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78754 /* 224344 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78755 /* 224348 */ // (strict_fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VDIVPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
78756 /* 224348 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrr),
78757 /* 224353 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78758 /* 224357 */ GIR_RootConstrainSelectedInstOperands,
78759 /* 224358 */ // GIR_Coverage, 2247,
78760 /* 224358 */ GIR_Done,
78761 /* 224359 */ // Label 6573: @224359
78762 /* 224359 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6574*/ GIMT_Encode4(224389), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 6668 //
78763 /* 224366 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78764 /* 224370 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78765 /* 224374 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78766 /* 224378 */ // (strict_fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VDIVPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
78767 /* 224378 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rr),
78768 /* 224383 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78769 /* 224387 */ GIR_RootConstrainSelectedInstOperands,
78770 /* 224388 */ // GIR_Coverage, 6668,
78771 /* 224388 */ GIR_Done,
78772 /* 224389 */ // Label 6574: @224389
78773 /* 224389 */ GIM_Reject,
78774 /* 224390 */ // Label 6570: @224390
78775 /* 224390 */ GIM_Reject,
78776 /* 224391 */ // Label 6482: @224391
78777 /* 224391 */ GIM_Try, /*On fail goto*//*Label 6575*/ GIMT_Encode4(224486),
78778 /* 224396 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
78779 /* 224399 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
78780 /* 224402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78781 /* 224406 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78782 /* 224410 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6576*/ GIMT_Encode4(224463), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6624 //
78783 /* 224417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78784 /* 224421 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78785 /* 224425 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78786 /* 224428 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78787 /* 224432 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78788 /* 224436 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78789 /* 224438 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78790 /* 224445 */ // (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)
78791 /* 224445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrm),
78792 /* 224448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78793 /* 224450 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78794 /* 224452 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78795 /* 224456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78796 /* 224461 */ GIR_RootConstrainSelectedInstOperands,
78797 /* 224462 */ // GIR_Coverage, 6624,
78798 /* 224462 */ GIR_EraseRootFromParent_Done,
78799 /* 224463 */ // Label 6576: @224463
78800 /* 224463 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6577*/ GIMT_Encode4(224485), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 6620 //
78801 /* 224470 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78802 /* 224474 */ // (strict_fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VDIVPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
78803 /* 224474 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrr),
78804 /* 224479 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78805 /* 224483 */ GIR_RootConstrainSelectedInstOperands,
78806 /* 224484 */ // GIR_Coverage, 6620,
78807 /* 224484 */ GIR_Done,
78808 /* 224485 */ // Label 6577: @224485
78809 /* 224485 */ GIM_Reject,
78810 /* 224486 */ // Label 6575: @224486
78811 /* 224486 */ GIM_Reject,
78812 /* 224487 */ // Label 6483: @224487
78813 /* 224487 */ GIM_Reject,
78814 /* 224488 */ // Label 78: @224488
78815 /* 224488 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 6590*/ GIMT_Encode4(230267),
78816 /* 224499 */ /*GILLT_s16*//*Label 6578*/ GIMT_Encode4(224591),
78817 /* 224503 */ /*GILLT_s32*//*Label 6579*/ GIMT_Encode4(224832),
78818 /* 224507 */ /*GILLT_s64*//*Label 6580*/ GIMT_Encode4(225537), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
78819 /* 224555 */ /*GILLT_v8s16*//*Label 6581*/ GIMT_Encode4(226242),
78820 /* 224559 */ /*GILLT_v16s16*//*Label 6582*/ GIMT_Encode4(226483),
78821 /* 224563 */ /*GILLT_v32s16*//*Label 6583*/ GIMT_Encode4(226724),
78822 /* 224567 */ /*GILLT_v4s32*//*Label 6584*/ GIMT_Encode4(226965),
78823 /* 224571 */ /*GILLT_v8s32*//*Label 6585*/ GIMT_Encode4(227670),
78824 /* 224575 */ /*GILLT_v16s32*//*Label 6586*/ GIMT_Encode4(228375),
78825 /* 224579 */ /*GILLT_v2s64*//*Label 6587*/ GIMT_Encode4(228616),
78826 /* 224583 */ /*GILLT_v4s64*//*Label 6588*/ GIMT_Encode4(229321),
78827 /* 224587 */ /*GILLT_v8s64*//*Label 6589*/ GIMT_Encode4(230026),
78828 /* 224591 */ // Label 6578: @224591
78829 /* 224591 */ GIM_Try, /*On fail goto*//*Label 6591*/ GIMT_Encode4(224831),
78830 /* 224596 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
78831 /* 224599 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
78832 /* 224602 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
78833 /* 224605 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78834 /* 224609 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6592*/ GIMT_Encode4(224672), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10158 //
78835 /* 224616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78836 /* 224620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78837 /* 224624 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78838 /* 224627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78839 /* 224631 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78840 /* 224635 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78841 /* 224639 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78842 /* 224643 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78843 /* 224645 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78844 /* 224652 */ // (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)
78845 /* 224652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SHZm),
78846 /* 224655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78847 /* 224657 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78848 /* 224659 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
78849 /* 224661 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
78850 /* 224665 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78851 /* 224670 */ GIR_RootConstrainSelectedInstOperands,
78852 /* 224671 */ // GIR_Coverage, 10158,
78853 /* 224671 */ GIR_EraseRootFromParent_Done,
78854 /* 224672 */ // Label 6592: @224672
78855 /* 224672 */ GIM_Try, /*On fail goto*//*Label 6593*/ GIMT_Encode4(224830),
78856 /* 224677 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78857 /* 224681 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6594*/ GIMT_Encode4(224740), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10156 //
78858 /* 224688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78859 /* 224692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78860 /* 224696 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78861 /* 224699 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78862 /* 224703 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78863 /* 224707 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78864 /* 224711 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78865 /* 224713 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78866 /* 224720 */ // (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)
78867 /* 224720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SHZm),
78868 /* 224723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78869 /* 224725 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
78870 /* 224727 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
78871 /* 224729 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
78872 /* 224733 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78873 /* 224738 */ GIR_RootConstrainSelectedInstOperands,
78874 /* 224739 */ // GIR_Coverage, 10156,
78875 /* 224739 */ GIR_EraseRootFromParent_Done,
78876 /* 224740 */ // Label 6594: @224740
78877 /* 224740 */ GIM_Try, /*On fail goto*//*Label 6595*/ GIMT_Encode4(224829),
78878 /* 224745 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78879 /* 224749 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6596*/ GIMT_Encode4(224804), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10153 //
78880 /* 224756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
78881 /* 224760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78882 /* 224764 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78883 /* 224767 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78884 /* 224771 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78885 /* 224775 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78886 /* 224777 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78887 /* 224784 */ // (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)
78888 /* 224784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZm),
78889 /* 224787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78890 /* 224789 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78891 /* 224791 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
78892 /* 224793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
78893 /* 224797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78894 /* 224802 */ GIR_RootConstrainSelectedInstOperands,
78895 /* 224803 */ // GIR_Coverage, 10153,
78896 /* 224803 */ GIR_EraseRootFromParent_Done,
78897 /* 224804 */ // Label 6596: @224804
78898 /* 224804 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6597*/ GIMT_Encode4(224828), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 10151 //
78899 /* 224811 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78900 /* 224815 */ // (strict_fma:{ *:[f16] } FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src3) => (VFMADD213SHZr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src3)
78901 /* 224815 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZr),
78902 /* 224818 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78903 /* 224820 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78904 /* 224822 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
78905 /* 224824 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
78906 /* 224826 */ GIR_RootConstrainSelectedInstOperands,
78907 /* 224827 */ // GIR_Coverage, 10151,
78908 /* 224827 */ GIR_EraseRootFromParent_Done,
78909 /* 224828 */ // Label 6597: @224828
78910 /* 224828 */ GIM_Reject,
78911 /* 224829 */ // Label 6595: @224829
78912 /* 224829 */ GIM_Reject,
78913 /* 224830 */ // Label 6593: @224830
78914 /* 224830 */ GIM_Reject,
78915 /* 224831 */ // Label 6591: @224831
78916 /* 224831 */ GIM_Reject,
78917 /* 224832 */ // Label 6579: @224832
78918 /* 224832 */ GIM_Try, /*On fail goto*//*Label 6598*/ GIMT_Encode4(225536),
78919 /* 224837 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
78920 /* 224840 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
78921 /* 224843 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
78922 /* 224846 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6599*/ GIMT_Encode4(224913), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1279 //
78923 /* 224853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78924 /* 224857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78925 /* 224861 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78926 /* 224865 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78927 /* 224868 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78928 /* 224872 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78929 /* 224876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78930 /* 224880 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78931 /* 224884 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78932 /* 224886 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78933 /* 224893 */ // (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)
78934 /* 224893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSm),
78935 /* 224896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78936 /* 224898 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78937 /* 224900 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
78938 /* 224902 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
78939 /* 224906 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78940 /* 224911 */ GIR_RootConstrainSelectedInstOperands,
78941 /* 224912 */ // GIR_Coverage, 1279,
78942 /* 224912 */ GIR_EraseRootFromParent_Done,
78943 /* 224913 */ // Label 6599: @224913
78944 /* 224913 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6600*/ GIMT_Encode4(224980), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10140 //
78945 /* 224920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
78946 /* 224924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78947 /* 224928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78948 /* 224932 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78949 /* 224935 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78950 /* 224939 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78951 /* 224943 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
78952 /* 224947 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
78953 /* 224951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78954 /* 224953 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78955 /* 224960 */ // (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)
78956 /* 224960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSZm),
78957 /* 224963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78958 /* 224965 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78959 /* 224967 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
78960 /* 224969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
78961 /* 224973 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78962 /* 224978 */ GIR_RootConstrainSelectedInstOperands,
78963 /* 224979 */ // GIR_Coverage, 10140,
78964 /* 224979 */ GIR_EraseRootFromParent_Done,
78965 /* 224980 */ // Label 6600: @224980
78966 /* 224980 */ GIM_Try, /*On fail goto*//*Label 6601*/ GIMT_Encode4(225177),
78967 /* 224985 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78968 /* 224989 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6602*/ GIMT_Encode4(225052), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 23520 //
78969 /* 224996 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78970 /* 225000 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78971 /* 225004 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78972 /* 225007 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78973 /* 225011 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78974 /* 225015 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78975 /* 225019 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78976 /* 225023 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78977 /* 225025 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78978 /* 225032 */ // (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)
78979 /* 225032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
78980 /* 225035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78981 /* 225037 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78982 /* 225039 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78983 /* 225043 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
78984 /* 225045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78985 /* 225050 */ GIR_RootConstrainSelectedInstOperands,
78986 /* 225051 */ // GIR_Coverage, 23520,
78987 /* 225051 */ GIR_EraseRootFromParent_Done,
78988 /* 225052 */ // Label 6602: @225052
78989 /* 225052 */ GIM_Try, /*On fail goto*//*Label 6603*/ GIMT_Encode4(225176),
78990 /* 225057 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78991 /* 225061 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78992 /* 225065 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6604*/ GIMT_Encode4(225120), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1277 //
78993 /* 225072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78994 /* 225076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78995 /* 225080 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78996 /* 225083 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78997 /* 225087 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78998 /* 225091 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78999 /* 225093 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79000 /* 225100 */ // (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)
79001 /* 225100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSm),
79002 /* 225103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79003 /* 225105 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79004 /* 225107 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79005 /* 225109 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79006 /* 225113 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79007 /* 225118 */ GIR_RootConstrainSelectedInstOperands,
79008 /* 225119 */ // GIR_Coverage, 1277,
79009 /* 225119 */ GIR_EraseRootFromParent_Done,
79010 /* 225120 */ // Label 6604: @225120
79011 /* 225120 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6605*/ GIMT_Encode4(225175), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1341 //
79012 /* 225127 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79013 /* 225131 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79014 /* 225135 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79015 /* 225138 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79016 /* 225142 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79017 /* 225146 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79018 /* 225148 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79019 /* 225155 */ // (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)
79020 /* 225155 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
79021 /* 225158 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79022 /* 225160 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79023 /* 225162 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79024 /* 225166 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79025 /* 225168 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79026 /* 225173 */ GIR_RootConstrainSelectedInstOperands,
79027 /* 225174 */ // GIR_Coverage, 1341,
79028 /* 225174 */ GIR_EraseRootFromParent_Done,
79029 /* 225175 */ // Label 6605: @225175
79030 /* 225175 */ GIM_Reject,
79031 /* 225176 */ // Label 6603: @225176
79032 /* 225176 */ GIM_Reject,
79033 /* 225177 */ // Label 6601: @225177
79034 /* 225177 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6606*/ GIMT_Encode4(225244), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10138 //
79035 /* 225184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79036 /* 225188 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79037 /* 225192 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79038 /* 225196 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79039 /* 225200 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79040 /* 225203 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79041 /* 225207 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79042 /* 225211 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79043 /* 225215 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79044 /* 225217 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79045 /* 225224 */ // (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)
79046 /* 225224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSZm),
79047 /* 225227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79048 /* 225229 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79049 /* 225231 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79050 /* 225233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79051 /* 225237 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79052 /* 225242 */ GIR_RootConstrainSelectedInstOperands,
79053 /* 225243 */ // GIR_Coverage, 10138,
79054 /* 225243 */ GIR_EraseRootFromParent_Done,
79055 /* 225244 */ // Label 6606: @225244
79056 /* 225244 */ GIM_Try, /*On fail goto*//*Label 6607*/ GIMT_Encode4(225372),
79057 /* 225249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79058 /* 225253 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79059 /* 225257 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79060 /* 225261 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6608*/ GIMT_Encode4(225316), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1275 //
79061 /* 225268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79062 /* 225272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79063 /* 225276 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79064 /* 225279 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79065 /* 225283 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79066 /* 225287 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79067 /* 225289 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79068 /* 225296 */ // (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)
79069 /* 225296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSm),
79070 /* 225299 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79071 /* 225301 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79072 /* 225303 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79073 /* 225305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79074 /* 225309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79075 /* 225314 */ GIR_RootConstrainSelectedInstOperands,
79076 /* 225315 */ // GIR_Coverage, 1275,
79077 /* 225315 */ GIR_EraseRootFromParent_Done,
79078 /* 225316 */ // Label 6608: @225316
79079 /* 225316 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6609*/ GIMT_Encode4(225371), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1339 //
79080 /* 225323 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79081 /* 225327 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79082 /* 225331 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79083 /* 225334 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79084 /* 225338 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79085 /* 225342 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79086 /* 225344 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79087 /* 225351 */ // (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)
79088 /* 225351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rm),
79089 /* 225354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79090 /* 225356 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79091 /* 225358 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
79092 /* 225360 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79093 /* 225364 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79094 /* 225369 */ GIR_RootConstrainSelectedInstOperands,
79095 /* 225370 */ // GIR_Coverage, 1339,
79096 /* 225370 */ GIR_EraseRootFromParent_Done,
79097 /* 225371 */ // Label 6609: @225371
79098 /* 225371 */ GIM_Reject,
79099 /* 225372 */ // Label 6607: @225372
79100 /* 225372 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6610*/ GIMT_Encode4(225439), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10135 //
79101 /* 225379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79102 /* 225383 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79103 /* 225387 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79104 /* 225391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79105 /* 225395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79106 /* 225399 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79107 /* 225402 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79108 /* 225406 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79109 /* 225410 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79110 /* 225412 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79111 /* 225419 */ // (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)
79112 /* 225419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZm),
79113 /* 225422 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79114 /* 225424 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79115 /* 225426 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79116 /* 225428 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79117 /* 225432 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79118 /* 225437 */ GIR_RootConstrainSelectedInstOperands,
79119 /* 225438 */ // GIR_Coverage, 10135,
79120 /* 225438 */ GIR_EraseRootFromParent_Done,
79121 /* 225439 */ // Label 6610: @225439
79122 /* 225439 */ GIM_Try, /*On fail goto*//*Label 6611*/ GIMT_Encode4(225499),
79123 /* 225444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79124 /* 225448 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79125 /* 225452 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79126 /* 225456 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79127 /* 225460 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6612*/ GIMT_Encode4(225480), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1273 //
79128 /* 225467 */ // (strict_fma:{ *:[f32] } FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src3) => (VFMADD213SSr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
79129 /* 225467 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSr),
79130 /* 225470 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79131 /* 225472 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79132 /* 225474 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79133 /* 225476 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79134 /* 225478 */ GIR_RootConstrainSelectedInstOperands,
79135 /* 225479 */ // GIR_Coverage, 1273,
79136 /* 225479 */ GIR_EraseRootFromParent_Done,
79137 /* 225480 */ // Label 6612: @225480
79138 /* 225480 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6613*/ GIMT_Encode4(225498), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1337 //
79139 /* 225487 */ // (strict_fma:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3) => (VFMADDSS4rr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
79140 /* 225487 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rr),
79141 /* 225492 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79142 /* 225496 */ GIR_RootConstrainSelectedInstOperands,
79143 /* 225497 */ // GIR_Coverage, 1337,
79144 /* 225497 */ GIR_Done,
79145 /* 225498 */ // Label 6613: @225498
79146 /* 225498 */ GIM_Reject,
79147 /* 225499 */ // Label 6611: @225499
79148 /* 225499 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6614*/ GIMT_Encode4(225535), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10133 //
79149 /* 225506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79150 /* 225510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79151 /* 225514 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79152 /* 225518 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79153 /* 225522 */ // (strict_fma:{ *:[f32] } FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src3) => (VFMADD213SSZr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src3)
79154 /* 225522 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZr),
79155 /* 225525 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79156 /* 225527 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79157 /* 225529 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79158 /* 225531 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79159 /* 225533 */ GIR_RootConstrainSelectedInstOperands,
79160 /* 225534 */ // GIR_Coverage, 10133,
79161 /* 225534 */ GIR_EraseRootFromParent_Done,
79162 /* 225535 */ // Label 6614: @225535
79163 /* 225535 */ GIM_Reject,
79164 /* 225536 */ // Label 6598: @225536
79165 /* 225536 */ GIM_Reject,
79166 /* 225537 */ // Label 6580: @225537
79167 /* 225537 */ GIM_Try, /*On fail goto*//*Label 6615*/ GIMT_Encode4(226241),
79168 /* 225542 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
79169 /* 225545 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
79170 /* 225548 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
79171 /* 225551 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6616*/ GIMT_Encode4(225618), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1287 //
79172 /* 225558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79173 /* 225562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79174 /* 225566 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79175 /* 225570 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79176 /* 225573 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79177 /* 225577 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79178 /* 225581 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79179 /* 225585 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79180 /* 225589 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79181 /* 225591 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79182 /* 225598 */ // (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)
79183 /* 225598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDm),
79184 /* 225601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79185 /* 225603 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79186 /* 225605 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79187 /* 225607 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79188 /* 225611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79189 /* 225616 */ GIR_RootConstrainSelectedInstOperands,
79190 /* 225617 */ // GIR_Coverage, 1287,
79191 /* 225617 */ GIR_EraseRootFromParent_Done,
79192 /* 225618 */ // Label 6616: @225618
79193 /* 225618 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6617*/ GIMT_Encode4(225685), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10149 //
79194 /* 225625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79195 /* 225629 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79196 /* 225633 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79197 /* 225637 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79198 /* 225640 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79199 /* 225644 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79200 /* 225648 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79201 /* 225652 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79202 /* 225656 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79203 /* 225658 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79204 /* 225665 */ // (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)
79205 /* 225665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDZm),
79206 /* 225668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79207 /* 225670 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79208 /* 225672 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79209 /* 225674 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79210 /* 225678 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79211 /* 225683 */ GIR_RootConstrainSelectedInstOperands,
79212 /* 225684 */ // GIR_Coverage, 10149,
79213 /* 225684 */ GIR_EraseRootFromParent_Done,
79214 /* 225685 */ // Label 6617: @225685
79215 /* 225685 */ GIM_Try, /*On fail goto*//*Label 6618*/ GIMT_Encode4(225882),
79216 /* 225690 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79217 /* 225694 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6619*/ GIMT_Encode4(225757), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 23548 //
79218 /* 225701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79219 /* 225705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79220 /* 225709 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79221 /* 225712 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79222 /* 225716 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79223 /* 225720 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79224 /* 225724 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79225 /* 225728 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79226 /* 225730 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79227 /* 225737 */ // (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)
79228 /* 225737 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
79229 /* 225740 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79230 /* 225742 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79231 /* 225744 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79232 /* 225748 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79233 /* 225750 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79234 /* 225755 */ GIR_RootConstrainSelectedInstOperands,
79235 /* 225756 */ // GIR_Coverage, 23548,
79236 /* 225756 */ GIR_EraseRootFromParent_Done,
79237 /* 225757 */ // Label 6619: @225757
79238 /* 225757 */ GIM_Try, /*On fail goto*//*Label 6620*/ GIMT_Encode4(225881),
79239 /* 225762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79240 /* 225766 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79241 /* 225770 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6621*/ GIMT_Encode4(225825), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1285 //
79242 /* 225777 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79243 /* 225781 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79244 /* 225785 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79245 /* 225788 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79246 /* 225792 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79247 /* 225796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79248 /* 225798 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79249 /* 225805 */ // (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)
79250 /* 225805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDm),
79251 /* 225808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79252 /* 225810 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79253 /* 225812 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79254 /* 225814 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79255 /* 225818 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79256 /* 225823 */ GIR_RootConstrainSelectedInstOperands,
79257 /* 225824 */ // GIR_Coverage, 1285,
79258 /* 225824 */ GIR_EraseRootFromParent_Done,
79259 /* 225825 */ // Label 6621: @225825
79260 /* 225825 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6622*/ GIMT_Encode4(225880), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1425 //
79261 /* 225832 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79262 /* 225836 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79263 /* 225840 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79264 /* 225843 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79265 /* 225847 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79266 /* 225851 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79267 /* 225853 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79268 /* 225860 */ // (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)
79269 /* 225860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
79270 /* 225863 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79271 /* 225865 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79272 /* 225867 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79273 /* 225871 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79274 /* 225873 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79275 /* 225878 */ GIR_RootConstrainSelectedInstOperands,
79276 /* 225879 */ // GIR_Coverage, 1425,
79277 /* 225879 */ GIR_EraseRootFromParent_Done,
79278 /* 225880 */ // Label 6622: @225880
79279 /* 225880 */ GIM_Reject,
79280 /* 225881 */ // Label 6620: @225881
79281 /* 225881 */ GIM_Reject,
79282 /* 225882 */ // Label 6618: @225882
79283 /* 225882 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6623*/ GIMT_Encode4(225949), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10147 //
79284 /* 225889 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79285 /* 225893 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79286 /* 225897 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79287 /* 225901 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79288 /* 225905 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79289 /* 225908 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79290 /* 225912 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79291 /* 225916 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79292 /* 225920 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79293 /* 225922 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79294 /* 225929 */ // (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)
79295 /* 225929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDZm),
79296 /* 225932 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79297 /* 225934 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79298 /* 225936 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79299 /* 225938 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79300 /* 225942 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79301 /* 225947 */ GIR_RootConstrainSelectedInstOperands,
79302 /* 225948 */ // GIR_Coverage, 10147,
79303 /* 225948 */ GIR_EraseRootFromParent_Done,
79304 /* 225949 */ // Label 6623: @225949
79305 /* 225949 */ GIM_Try, /*On fail goto*//*Label 6624*/ GIMT_Encode4(226077),
79306 /* 225954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79307 /* 225958 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79308 /* 225962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79309 /* 225966 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6625*/ GIMT_Encode4(226021), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1283 //
79310 /* 225973 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79311 /* 225977 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79312 /* 225981 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79313 /* 225984 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79314 /* 225988 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79315 /* 225992 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79316 /* 225994 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79317 /* 226001 */ // (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)
79318 /* 226001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDm),
79319 /* 226004 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79320 /* 226006 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79321 /* 226008 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79322 /* 226010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79323 /* 226014 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79324 /* 226019 */ GIR_RootConstrainSelectedInstOperands,
79325 /* 226020 */ // GIR_Coverage, 1283,
79326 /* 226020 */ GIR_EraseRootFromParent_Done,
79327 /* 226021 */ // Label 6625: @226021
79328 /* 226021 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6626*/ GIMT_Encode4(226076), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1423 //
79329 /* 226028 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79330 /* 226032 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79331 /* 226036 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79332 /* 226039 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79333 /* 226043 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79334 /* 226047 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79335 /* 226049 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79336 /* 226056 */ // (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)
79337 /* 226056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rm),
79338 /* 226059 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79339 /* 226061 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79340 /* 226063 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
79341 /* 226065 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79342 /* 226069 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79343 /* 226074 */ GIR_RootConstrainSelectedInstOperands,
79344 /* 226075 */ // GIR_Coverage, 1423,
79345 /* 226075 */ GIR_EraseRootFromParent_Done,
79346 /* 226076 */ // Label 6626: @226076
79347 /* 226076 */ GIM_Reject,
79348 /* 226077 */ // Label 6624: @226077
79349 /* 226077 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6627*/ GIMT_Encode4(226144), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10144 //
79350 /* 226084 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79351 /* 226088 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79352 /* 226092 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79353 /* 226096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79354 /* 226100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79355 /* 226104 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79356 /* 226107 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79357 /* 226111 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79358 /* 226115 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79359 /* 226117 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79360 /* 226124 */ // (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)
79361 /* 226124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZm),
79362 /* 226127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79363 /* 226129 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79364 /* 226131 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79365 /* 226133 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79366 /* 226137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79367 /* 226142 */ GIR_RootConstrainSelectedInstOperands,
79368 /* 226143 */ // GIR_Coverage, 10144,
79369 /* 226143 */ GIR_EraseRootFromParent_Done,
79370 /* 226144 */ // Label 6627: @226144
79371 /* 226144 */ GIM_Try, /*On fail goto*//*Label 6628*/ GIMT_Encode4(226204),
79372 /* 226149 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79373 /* 226153 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79374 /* 226157 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79375 /* 226161 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79376 /* 226165 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6629*/ GIMT_Encode4(226185), GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4), // Rule ID 1281 //
79377 /* 226172 */ // (strict_fma:{ *:[f64] } FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src3) => (VFMADD213SDr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
79378 /* 226172 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDr),
79379 /* 226175 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79380 /* 226177 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79381 /* 226179 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79382 /* 226181 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79383 /* 226183 */ GIR_RootConstrainSelectedInstOperands,
79384 /* 226184 */ // GIR_Coverage, 1281,
79385 /* 226184 */ GIR_EraseRootFromParent_Done,
79386 /* 226185 */ // Label 6629: @226185
79387 /* 226185 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6630*/ GIMT_Encode4(226203), GIMT_Encode2(GIFBS_HasFMA4_NoAVX512), // Rule ID 1421 //
79388 /* 226192 */ // (strict_fma:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3) => (VFMADDSD4rr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
79389 /* 226192 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rr),
79390 /* 226197 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79391 /* 226201 */ GIR_RootConstrainSelectedInstOperands,
79392 /* 226202 */ // GIR_Coverage, 1421,
79393 /* 226202 */ GIR_Done,
79394 /* 226203 */ // Label 6630: @226203
79395 /* 226203 */ GIM_Reject,
79396 /* 226204 */ // Label 6628: @226204
79397 /* 226204 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6631*/ GIMT_Encode4(226240), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 10142 //
79398 /* 226211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79399 /* 226215 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79400 /* 226219 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79401 /* 226223 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79402 /* 226227 */ // (strict_fma:{ *:[f64] } FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src3) => (VFMADD213SDZr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src3)
79403 /* 226227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZr),
79404 /* 226230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79405 /* 226232 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79406 /* 226234 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79407 /* 226236 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79408 /* 226238 */ GIR_RootConstrainSelectedInstOperands,
79409 /* 226239 */ // GIR_Coverage, 10142,
79410 /* 226239 */ GIR_EraseRootFromParent_Done,
79411 /* 226240 */ // Label 6631: @226240
79412 /* 226240 */ GIM_Reject,
79413 /* 226241 */ // Label 6615: @226241
79414 /* 226241 */ GIM_Reject,
79415 /* 226242 */ // Label 6581: @226242
79416 /* 226242 */ GIM_Try, /*On fail goto*//*Label 6632*/ GIMT_Encode4(226482),
79417 /* 226247 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
79418 /* 226250 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
79419 /* 226253 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
79420 /* 226256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79421 /* 226260 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6633*/ GIMT_Encode4(226323), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 9617 //
79422 /* 226267 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79423 /* 226271 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79424 /* 226275 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79425 /* 226278 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79426 /* 226282 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79427 /* 226286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79428 /* 226290 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79429 /* 226294 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79430 /* 226296 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79431 /* 226303 */ // (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)
79432 /* 226303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ128m),
79433 /* 226306 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79434 /* 226308 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79435 /* 226310 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79436 /* 226312 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79437 /* 226316 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79438 /* 226321 */ GIR_RootConstrainSelectedInstOperands,
79439 /* 226322 */ // GIR_Coverage, 9617,
79440 /* 226322 */ GIR_EraseRootFromParent_Done,
79441 /* 226323 */ // Label 6633: @226323
79442 /* 226323 */ GIM_Try, /*On fail goto*//*Label 6634*/ GIMT_Encode4(226481),
79443 /* 226328 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79444 /* 226332 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6635*/ GIMT_Encode4(226391), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 9077 //
79445 /* 226339 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79446 /* 226343 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79447 /* 226347 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79448 /* 226350 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79449 /* 226354 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79450 /* 226358 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79451 /* 226362 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79452 /* 226364 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79453 /* 226371 */ // (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)
79454 /* 226371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ128m),
79455 /* 226374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79456 /* 226376 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79457 /* 226378 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79458 /* 226380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79459 /* 226384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79460 /* 226389 */ GIR_RootConstrainSelectedInstOperands,
79461 /* 226390 */ // GIR_Coverage, 9077,
79462 /* 226390 */ GIR_EraseRootFromParent_Done,
79463 /* 226391 */ // Label 6635: @226391
79464 /* 226391 */ GIM_Try, /*On fail goto*//*Label 6636*/ GIMT_Encode4(226480),
79465 /* 226396 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79466 /* 226400 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6637*/ GIMT_Encode4(226455), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 8436 //
79467 /* 226407 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79468 /* 226411 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79469 /* 226415 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79470 /* 226418 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79471 /* 226422 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79472 /* 226426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79473 /* 226428 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79474 /* 226435 */ // (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)
79475 /* 226435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128m),
79476 /* 226438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79477 /* 226440 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79478 /* 226442 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79479 /* 226444 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79480 /* 226448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79481 /* 226453 */ GIR_RootConstrainSelectedInstOperands,
79482 /* 226454 */ // GIR_Coverage, 8436,
79483 /* 226454 */ GIR_EraseRootFromParent_Done,
79484 /* 226455 */ // Label 6637: @226455
79485 /* 226455 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6638*/ GIMT_Encode4(226479), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 8432 //
79486 /* 226462 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79487 /* 226466 */ // (strict_fma:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src3) => (VFMADD213PHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src3)
79488 /* 226466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128r),
79489 /* 226469 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79490 /* 226471 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79491 /* 226473 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79492 /* 226475 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79493 /* 226477 */ GIR_RootConstrainSelectedInstOperands,
79494 /* 226478 */ // GIR_Coverage, 8432,
79495 /* 226478 */ GIR_EraseRootFromParent_Done,
79496 /* 226479 */ // Label 6638: @226479
79497 /* 226479 */ GIM_Reject,
79498 /* 226480 */ // Label 6636: @226480
79499 /* 226480 */ GIM_Reject,
79500 /* 226481 */ // Label 6634: @226481
79501 /* 226481 */ GIM_Reject,
79502 /* 226482 */ // Label 6632: @226482
79503 /* 226482 */ GIM_Reject,
79504 /* 226483 */ // Label 6582: @226483
79505 /* 226483 */ GIM_Try, /*On fail goto*//*Label 6639*/ GIMT_Encode4(226723),
79506 /* 226488 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
79507 /* 226491 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
79508 /* 226494 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
79509 /* 226497 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79510 /* 226501 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6640*/ GIMT_Encode4(226564), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 9607 //
79511 /* 226508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79512 /* 226512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79513 /* 226516 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79514 /* 226519 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79515 /* 226523 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79516 /* 226527 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79517 /* 226531 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79518 /* 226535 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79519 /* 226537 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79520 /* 226544 */ // (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)
79521 /* 226544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ256m),
79522 /* 226547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79523 /* 226549 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79524 /* 226551 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79525 /* 226553 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79526 /* 226557 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79527 /* 226562 */ GIR_RootConstrainSelectedInstOperands,
79528 /* 226563 */ // GIR_Coverage, 9607,
79529 /* 226563 */ GIR_EraseRootFromParent_Done,
79530 /* 226564 */ // Label 6640: @226564
79531 /* 226564 */ GIM_Try, /*On fail goto*//*Label 6641*/ GIMT_Encode4(226722),
79532 /* 226569 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79533 /* 226573 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6642*/ GIMT_Encode4(226632), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 9067 //
79534 /* 226580 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79535 /* 226584 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79536 /* 226588 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79537 /* 226591 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79538 /* 226595 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79539 /* 226599 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79540 /* 226603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79541 /* 226605 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79542 /* 226612 */ // (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)
79543 /* 226612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ256m),
79544 /* 226615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79545 /* 226617 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79546 /* 226619 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79547 /* 226621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79548 /* 226625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79549 /* 226630 */ GIR_RootConstrainSelectedInstOperands,
79550 /* 226631 */ // GIR_Coverage, 9067,
79551 /* 226631 */ GIR_EraseRootFromParent_Done,
79552 /* 226632 */ // Label 6642: @226632
79553 /* 226632 */ GIM_Try, /*On fail goto*//*Label 6643*/ GIMT_Encode4(226721),
79554 /* 226637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79555 /* 226641 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6644*/ GIMT_Encode4(226696), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 8424 //
79556 /* 226648 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79557 /* 226652 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79558 /* 226656 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79559 /* 226659 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79560 /* 226663 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79561 /* 226667 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79562 /* 226669 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79563 /* 226676 */ // (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)
79564 /* 226676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256m),
79565 /* 226679 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79566 /* 226681 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79567 /* 226683 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79568 /* 226685 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79569 /* 226689 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79570 /* 226694 */ GIR_RootConstrainSelectedInstOperands,
79571 /* 226695 */ // GIR_Coverage, 8424,
79572 /* 226695 */ GIR_EraseRootFromParent_Done,
79573 /* 226696 */ // Label 6644: @226696
79574 /* 226696 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6645*/ GIMT_Encode4(226720), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 8420 //
79575 /* 226703 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79576 /* 226707 */ // (strict_fma:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src3) => (VFMADD213PHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src3)
79577 /* 226707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256r),
79578 /* 226710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79579 /* 226712 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79580 /* 226714 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79581 /* 226716 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79582 /* 226718 */ GIR_RootConstrainSelectedInstOperands,
79583 /* 226719 */ // GIR_Coverage, 8420,
79584 /* 226719 */ GIR_EraseRootFromParent_Done,
79585 /* 226720 */ // Label 6645: @226720
79586 /* 226720 */ GIM_Reject,
79587 /* 226721 */ // Label 6643: @226721
79588 /* 226721 */ GIM_Reject,
79589 /* 226722 */ // Label 6641: @226722
79590 /* 226722 */ GIM_Reject,
79591 /* 226723 */ // Label 6639: @226723
79592 /* 226723 */ GIM_Reject,
79593 /* 226724 */ // Label 6583: @226724
79594 /* 226724 */ GIM_Try, /*On fail goto*//*Label 6646*/ GIMT_Encode4(226964),
79595 /* 226729 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
79596 /* 226732 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
79597 /* 226735 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
79598 /* 226738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79599 /* 226742 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6647*/ GIMT_Encode4(226805), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 9595 //
79600 /* 226749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79601 /* 226753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79602 /* 226757 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79603 /* 226760 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79604 /* 226764 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79605 /* 226768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79606 /* 226772 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79607 /* 226776 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79608 /* 226778 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79609 /* 226785 */ // (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)
79610 /* 226785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZm),
79611 /* 226788 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79612 /* 226790 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79613 /* 226792 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79614 /* 226794 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79615 /* 226798 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79616 /* 226803 */ GIR_RootConstrainSelectedInstOperands,
79617 /* 226804 */ // GIR_Coverage, 9595,
79618 /* 226804 */ GIR_EraseRootFromParent_Done,
79619 /* 226805 */ // Label 6647: @226805
79620 /* 226805 */ GIM_Try, /*On fail goto*//*Label 6648*/ GIMT_Encode4(226963),
79621 /* 226810 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79622 /* 226814 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6649*/ GIMT_Encode4(226873), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 9055 //
79623 /* 226821 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79624 /* 226825 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79625 /* 226829 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79626 /* 226832 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79627 /* 226836 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79628 /* 226840 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79629 /* 226844 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79630 /* 226846 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79631 /* 226853 */ // (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)
79632 /* 226853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZm),
79633 /* 226856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79634 /* 226858 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79635 /* 226860 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79636 /* 226862 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79637 /* 226866 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79638 /* 226871 */ GIR_RootConstrainSelectedInstOperands,
79639 /* 226872 */ // GIR_Coverage, 9055,
79640 /* 226872 */ GIR_EraseRootFromParent_Done,
79641 /* 226873 */ // Label 6649: @226873
79642 /* 226873 */ GIM_Try, /*On fail goto*//*Label 6650*/ GIMT_Encode4(226962),
79643 /* 226878 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79644 /* 226882 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6651*/ GIMT_Encode4(226937), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 8409 //
79645 /* 226889 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79646 /* 226893 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79647 /* 226897 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79648 /* 226900 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79649 /* 226904 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79650 /* 226908 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79651 /* 226910 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79652 /* 226917 */ // (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)
79653 /* 226917 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZm),
79654 /* 226920 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79655 /* 226922 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79656 /* 226924 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79657 /* 226926 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79658 /* 226930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79659 /* 226935 */ GIR_RootConstrainSelectedInstOperands,
79660 /* 226936 */ // GIR_Coverage, 8409,
79661 /* 226936 */ GIR_EraseRootFromParent_Done,
79662 /* 226937 */ // Label 6651: @226937
79663 /* 226937 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6652*/ GIMT_Encode4(226961), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 8405 //
79664 /* 226944 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79665 /* 226948 */ // (strict_fma:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src3) => (VFMADD213PHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src3)
79666 /* 226948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZr),
79667 /* 226951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79668 /* 226953 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79669 /* 226955 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79670 /* 226957 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79671 /* 226959 */ GIR_RootConstrainSelectedInstOperands,
79672 /* 226960 */ // GIR_Coverage, 8405,
79673 /* 226960 */ GIR_EraseRootFromParent_Done,
79674 /* 226961 */ // Label 6652: @226961
79675 /* 226961 */ GIM_Reject,
79676 /* 226962 */ // Label 6650: @226962
79677 /* 226962 */ GIM_Reject,
79678 /* 226963 */ // Label 6648: @226963
79679 /* 226963 */ GIM_Reject,
79680 /* 226964 */ // Label 6646: @226964
79681 /* 226964 */ GIM_Reject,
79682 /* 226965 */ // Label 6584: @226965
79683 /* 226965 */ GIM_Try, /*On fail goto*//*Label 6653*/ GIMT_Encode4(227669),
79684 /* 226970 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
79685 /* 226973 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
79686 /* 226976 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
79687 /* 226979 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6654*/ GIMT_Encode4(227046), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1119 //
79688 /* 226986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79689 /* 226990 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79690 /* 226994 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79691 /* 226998 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79692 /* 227001 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79693 /* 227005 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79694 /* 227009 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79695 /* 227013 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79696 /* 227017 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79697 /* 227019 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79698 /* 227026 */ // (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)
79699 /* 227026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSm),
79700 /* 227029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79701 /* 227031 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79702 /* 227033 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79703 /* 227035 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79704 /* 227039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79705 /* 227044 */ GIR_RootConstrainSelectedInstOperands,
79706 /* 227045 */ // GIR_Coverage, 1119,
79707 /* 227045 */ GIR_EraseRootFromParent_Done,
79708 /* 227046 */ // Label 6654: @227046
79709 /* 227046 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6655*/ GIMT_Encode4(227113), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9649 //
79710 /* 227053 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79711 /* 227057 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79712 /* 227061 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79713 /* 227065 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79714 /* 227068 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79715 /* 227072 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79716 /* 227076 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79717 /* 227080 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79718 /* 227084 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79719 /* 227086 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79720 /* 227093 */ // (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)
79721 /* 227093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ128m),
79722 /* 227096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79723 /* 227098 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79724 /* 227100 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79725 /* 227102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79726 /* 227106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79727 /* 227111 */ GIR_RootConstrainSelectedInstOperands,
79728 /* 227112 */ // GIR_Coverage, 9649,
79729 /* 227112 */ GIR_EraseRootFromParent_Done,
79730 /* 227113 */ // Label 6655: @227113
79731 /* 227113 */ GIM_Try, /*On fail goto*//*Label 6656*/ GIMT_Encode4(227310),
79732 /* 227118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79733 /* 227122 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6657*/ GIMT_Encode4(227185), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 23528 //
79734 /* 227129 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79735 /* 227133 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79736 /* 227137 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79737 /* 227140 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79738 /* 227144 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79739 /* 227148 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79740 /* 227152 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79741 /* 227156 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79742 /* 227158 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79743 /* 227165 */ // (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)
79744 /* 227165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
79745 /* 227168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79746 /* 227170 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79747 /* 227172 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79748 /* 227176 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79749 /* 227178 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79750 /* 227183 */ GIR_RootConstrainSelectedInstOperands,
79751 /* 227184 */ // GIR_Coverage, 23528,
79752 /* 227184 */ GIR_EraseRootFromParent_Done,
79753 /* 227185 */ // Label 6657: @227185
79754 /* 227185 */ GIM_Try, /*On fail goto*//*Label 6658*/ GIMT_Encode4(227309),
79755 /* 227190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79756 /* 227194 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79757 /* 227198 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6659*/ GIMT_Encode4(227253), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1117 //
79758 /* 227205 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79759 /* 227209 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79760 /* 227213 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79761 /* 227216 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79762 /* 227220 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79763 /* 227224 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79764 /* 227226 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79765 /* 227233 */ // (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)
79766 /* 227233 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSm),
79767 /* 227236 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79768 /* 227238 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79769 /* 227240 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79770 /* 227242 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79771 /* 227246 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79772 /* 227251 */ GIR_RootConstrainSelectedInstOperands,
79773 /* 227252 */ // GIR_Coverage, 1117,
79774 /* 227252 */ GIR_EraseRootFromParent_Done,
79775 /* 227253 */ // Label 6659: @227253
79776 /* 227253 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6660*/ GIMT_Encode4(227308), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1365 //
79777 /* 227260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79778 /* 227264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79779 /* 227268 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79780 /* 227271 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79781 /* 227275 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79782 /* 227279 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79783 /* 227281 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79784 /* 227288 */ // (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)
79785 /* 227288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
79786 /* 227291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79787 /* 227293 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79788 /* 227295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79789 /* 227299 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79790 /* 227301 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79791 /* 227306 */ GIR_RootConstrainSelectedInstOperands,
79792 /* 227307 */ // GIR_Coverage, 1365,
79793 /* 227307 */ GIR_EraseRootFromParent_Done,
79794 /* 227308 */ // Label 6660: @227308
79795 /* 227308 */ GIM_Reject,
79796 /* 227309 */ // Label 6658: @227309
79797 /* 227309 */ GIM_Reject,
79798 /* 227310 */ // Label 6656: @227310
79799 /* 227310 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6661*/ GIMT_Encode4(227377), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9109 //
79800 /* 227317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79801 /* 227321 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79802 /* 227325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79803 /* 227329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79804 /* 227333 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79805 /* 227336 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79806 /* 227340 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79807 /* 227344 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79808 /* 227348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79809 /* 227350 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79810 /* 227357 */ // (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)
79811 /* 227357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ128m),
79812 /* 227360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79813 /* 227362 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
79814 /* 227364 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79815 /* 227366 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79816 /* 227370 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79817 /* 227375 */ GIR_RootConstrainSelectedInstOperands,
79818 /* 227376 */ // GIR_Coverage, 9109,
79819 /* 227376 */ GIR_EraseRootFromParent_Done,
79820 /* 227377 */ // Label 6661: @227377
79821 /* 227377 */ GIM_Try, /*On fail goto*//*Label 6662*/ GIMT_Encode4(227505),
79822 /* 227382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79823 /* 227386 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79824 /* 227390 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79825 /* 227394 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6663*/ GIMT_Encode4(227449), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1115 //
79826 /* 227401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79827 /* 227405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79828 /* 227409 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79829 /* 227412 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79830 /* 227416 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79831 /* 227420 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79832 /* 227422 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79833 /* 227429 */ // (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)
79834 /* 227429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSm),
79835 /* 227432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79836 /* 227434 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79837 /* 227436 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79838 /* 227438 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79839 /* 227442 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79840 /* 227447 */ GIR_RootConstrainSelectedInstOperands,
79841 /* 227448 */ // GIR_Coverage, 1115,
79842 /* 227448 */ GIR_EraseRootFromParent_Done,
79843 /* 227449 */ // Label 6663: @227449
79844 /* 227449 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6664*/ GIMT_Encode4(227504), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1363 //
79845 /* 227456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79846 /* 227460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79847 /* 227464 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79848 /* 227467 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79849 /* 227471 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79850 /* 227475 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79851 /* 227477 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79852 /* 227484 */ // (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)
79853 /* 227484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rm),
79854 /* 227487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79855 /* 227489 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79856 /* 227491 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
79857 /* 227493 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79858 /* 227497 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79859 /* 227502 */ GIR_RootConstrainSelectedInstOperands,
79860 /* 227503 */ // GIR_Coverage, 1363,
79861 /* 227503 */ GIR_EraseRootFromParent_Done,
79862 /* 227504 */ // Label 6664: @227504
79863 /* 227504 */ GIM_Reject,
79864 /* 227505 */ // Label 6662: @227505
79865 /* 227505 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6665*/ GIMT_Encode4(227572), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8475 //
79866 /* 227512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79867 /* 227516 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79868 /* 227520 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79869 /* 227524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
79870 /* 227528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79871 /* 227532 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79872 /* 227535 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79873 /* 227539 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79874 /* 227543 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79875 /* 227545 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79876 /* 227552 */ // (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)
79877 /* 227552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128m),
79878 /* 227555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79879 /* 227557 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79880 /* 227559 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79881 /* 227561 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79882 /* 227565 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79883 /* 227570 */ GIR_RootConstrainSelectedInstOperands,
79884 /* 227571 */ // GIR_Coverage, 8475,
79885 /* 227571 */ GIR_EraseRootFromParent_Done,
79886 /* 227572 */ // Label 6665: @227572
79887 /* 227572 */ GIM_Try, /*On fail goto*//*Label 6666*/ GIMT_Encode4(227632),
79888 /* 227577 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79889 /* 227581 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79890 /* 227585 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79891 /* 227589 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79892 /* 227593 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6667*/ GIMT_Encode4(227613), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1113 //
79893 /* 227600 */ // (strict_fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src3) => (VFMADD213PSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
79894 /* 227600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSr),
79895 /* 227603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79896 /* 227605 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79897 /* 227607 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79898 /* 227609 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79899 /* 227611 */ GIR_RootConstrainSelectedInstOperands,
79900 /* 227612 */ // GIR_Coverage, 1113,
79901 /* 227612 */ GIR_EraseRootFromParent_Done,
79902 /* 227613 */ // Label 6667: @227613
79903 /* 227613 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6668*/ GIMT_Encode4(227631), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1361 //
79904 /* 227620 */ // (strict_fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3) => (VFMADDPS4rr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
79905 /* 227620 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rr),
79906 /* 227625 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79907 /* 227629 */ GIR_RootConstrainSelectedInstOperands,
79908 /* 227630 */ // GIR_Coverage, 1361,
79909 /* 227630 */ GIR_Done,
79910 /* 227631 */ // Label 6668: @227631
79911 /* 227631 */ GIM_Reject,
79912 /* 227632 */ // Label 6666: @227632
79913 /* 227632 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6669*/ GIMT_Encode4(227668), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8471 //
79914 /* 227639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79915 /* 227643 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79916 /* 227647 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79917 /* 227651 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79918 /* 227655 */ // (strict_fma:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src3) => (VFMADD213PSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src3)
79919 /* 227655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128r),
79920 /* 227658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79921 /* 227660 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79922 /* 227662 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
79923 /* 227664 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79924 /* 227666 */ GIR_RootConstrainSelectedInstOperands,
79925 /* 227667 */ // GIR_Coverage, 8471,
79926 /* 227667 */ GIR_EraseRootFromParent_Done,
79927 /* 227668 */ // Label 6669: @227668
79928 /* 227668 */ GIM_Reject,
79929 /* 227669 */ // Label 6653: @227669
79930 /* 227669 */ GIM_Reject,
79931 /* 227670 */ // Label 6585: @227670
79932 /* 227670 */ GIM_Try, /*On fail goto*//*Label 6670*/ GIMT_Encode4(228374),
79933 /* 227675 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
79934 /* 227678 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
79935 /* 227681 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
79936 /* 227684 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6671*/ GIMT_Encode4(227751), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1127 //
79937 /* 227691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79938 /* 227695 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79939 /* 227699 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79940 /* 227703 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79941 /* 227706 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79942 /* 227710 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79943 /* 227714 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79944 /* 227718 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79945 /* 227722 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79946 /* 227724 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79947 /* 227731 */ // (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)
79948 /* 227731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSYm),
79949 /* 227734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79950 /* 227736 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79951 /* 227738 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79952 /* 227740 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79953 /* 227744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79954 /* 227749 */ GIR_RootConstrainSelectedInstOperands,
79955 /* 227750 */ // GIR_Coverage, 1127,
79956 /* 227750 */ GIR_EraseRootFromParent_Done,
79957 /* 227751 */ // Label 6671: @227751
79958 /* 227751 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6672*/ GIMT_Encode4(227818), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9639 //
79959 /* 227758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79960 /* 227762 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79961 /* 227766 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79962 /* 227770 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79963 /* 227773 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79964 /* 227777 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79965 /* 227781 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79966 /* 227785 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79967 /* 227789 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79968 /* 227791 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79969 /* 227798 */ // (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)
79970 /* 227798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ256m),
79971 /* 227801 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79972 /* 227803 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79973 /* 227805 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
79974 /* 227807 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
79975 /* 227811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79976 /* 227816 */ GIR_RootConstrainSelectedInstOperands,
79977 /* 227817 */ // GIR_Coverage, 9639,
79978 /* 227817 */ GIR_EraseRootFromParent_Done,
79979 /* 227818 */ // Label 6672: @227818
79980 /* 227818 */ GIM_Try, /*On fail goto*//*Label 6673*/ GIMT_Encode4(228015),
79981 /* 227823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79982 /* 227827 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6674*/ GIMT_Encode4(227890), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 23530 //
79983 /* 227834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79984 /* 227838 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79985 /* 227842 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79986 /* 227845 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79987 /* 227849 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79988 /* 227853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79989 /* 227857 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79990 /* 227861 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79991 /* 227863 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79992 /* 227870 */ // (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)
79993 /* 227870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
79994 /* 227873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79995 /* 227875 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79996 /* 227877 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79997 /* 227881 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
79998 /* 227883 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79999 /* 227888 */ GIR_RootConstrainSelectedInstOperands,
80000 /* 227889 */ // GIR_Coverage, 23530,
80001 /* 227889 */ GIR_EraseRootFromParent_Done,
80002 /* 227890 */ // Label 6674: @227890
80003 /* 227890 */ GIM_Try, /*On fail goto*//*Label 6675*/ GIMT_Encode4(228014),
80004 /* 227895 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80005 /* 227899 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80006 /* 227903 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6676*/ GIMT_Encode4(227958), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1125 //
80007 /* 227910 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80008 /* 227914 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80009 /* 227918 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80010 /* 227921 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80011 /* 227925 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80012 /* 227929 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80013 /* 227931 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80014 /* 227938 */ // (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)
80015 /* 227938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSYm),
80016 /* 227941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80017 /* 227943 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80018 /* 227945 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80019 /* 227947 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80020 /* 227951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80021 /* 227956 */ GIR_RootConstrainSelectedInstOperands,
80022 /* 227957 */ // GIR_Coverage, 1125,
80023 /* 227957 */ GIR_EraseRootFromParent_Done,
80024 /* 227958 */ // Label 6676: @227958
80025 /* 227958 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6677*/ GIMT_Encode4(228013), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1371 //
80026 /* 227965 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80027 /* 227969 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80028 /* 227973 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80029 /* 227976 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80030 /* 227980 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80031 /* 227984 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80032 /* 227986 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80033 /* 227993 */ // (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)
80034 /* 227993 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
80035 /* 227996 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80036 /* 227998 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80037 /* 228000 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80038 /* 228004 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80039 /* 228006 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80040 /* 228011 */ GIR_RootConstrainSelectedInstOperands,
80041 /* 228012 */ // GIR_Coverage, 1371,
80042 /* 228012 */ GIR_EraseRootFromParent_Done,
80043 /* 228013 */ // Label 6677: @228013
80044 /* 228013 */ GIM_Reject,
80045 /* 228014 */ // Label 6675: @228014
80046 /* 228014 */ GIM_Reject,
80047 /* 228015 */ // Label 6673: @228015
80048 /* 228015 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6678*/ GIMT_Encode4(228082), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9099 //
80049 /* 228022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80050 /* 228026 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80051 /* 228030 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80052 /* 228034 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80053 /* 228038 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80054 /* 228041 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80055 /* 228045 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80056 /* 228049 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80057 /* 228053 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80058 /* 228055 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80059 /* 228062 */ // (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)
80060 /* 228062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ256m),
80061 /* 228065 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80062 /* 228067 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80063 /* 228069 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80064 /* 228071 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80065 /* 228075 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80066 /* 228080 */ GIR_RootConstrainSelectedInstOperands,
80067 /* 228081 */ // GIR_Coverage, 9099,
80068 /* 228081 */ GIR_EraseRootFromParent_Done,
80069 /* 228082 */ // Label 6678: @228082
80070 /* 228082 */ GIM_Try, /*On fail goto*//*Label 6679*/ GIMT_Encode4(228210),
80071 /* 228087 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80072 /* 228091 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80073 /* 228095 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80074 /* 228099 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6680*/ GIMT_Encode4(228154), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1123 //
80075 /* 228106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80076 /* 228110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80077 /* 228114 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80078 /* 228117 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80079 /* 228121 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80080 /* 228125 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80081 /* 228127 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80082 /* 228134 */ // (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)
80083 /* 228134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYm),
80084 /* 228137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80085 /* 228139 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80086 /* 228141 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80087 /* 228143 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80088 /* 228147 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80089 /* 228152 */ GIR_RootConstrainSelectedInstOperands,
80090 /* 228153 */ // GIR_Coverage, 1123,
80091 /* 228153 */ GIR_EraseRootFromParent_Done,
80092 /* 228154 */ // Label 6680: @228154
80093 /* 228154 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6681*/ GIMT_Encode4(228209), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1369 //
80094 /* 228161 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80095 /* 228165 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80096 /* 228169 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80097 /* 228172 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80098 /* 228176 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80099 /* 228180 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80100 /* 228182 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80101 /* 228189 */ // (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)
80102 /* 228189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrm),
80103 /* 228192 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80104 /* 228194 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80105 /* 228196 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
80106 /* 228198 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80107 /* 228202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80108 /* 228207 */ GIR_RootConstrainSelectedInstOperands,
80109 /* 228208 */ // GIR_Coverage, 1369,
80110 /* 228208 */ GIR_EraseRootFromParent_Done,
80111 /* 228209 */ // Label 6681: @228209
80112 /* 228209 */ GIM_Reject,
80113 /* 228210 */ // Label 6679: @228210
80114 /* 228210 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6682*/ GIMT_Encode4(228277), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8463 //
80115 /* 228217 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80116 /* 228221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80117 /* 228225 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80118 /* 228229 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80119 /* 228233 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80120 /* 228237 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80121 /* 228240 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80122 /* 228244 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80123 /* 228248 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80124 /* 228250 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80125 /* 228257 */ // (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)
80126 /* 228257 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256m),
80127 /* 228260 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80128 /* 228262 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80129 /* 228264 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80130 /* 228266 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80131 /* 228270 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80132 /* 228275 */ GIR_RootConstrainSelectedInstOperands,
80133 /* 228276 */ // GIR_Coverage, 8463,
80134 /* 228276 */ GIR_EraseRootFromParent_Done,
80135 /* 228277 */ // Label 6682: @228277
80136 /* 228277 */ GIM_Try, /*On fail goto*//*Label 6683*/ GIMT_Encode4(228337),
80137 /* 228282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80138 /* 228286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80139 /* 228290 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80140 /* 228294 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80141 /* 228298 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6684*/ GIMT_Encode4(228318), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1121 //
80142 /* 228305 */ // (strict_fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src3) => (VFMADD213PSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
80143 /* 228305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYr),
80144 /* 228308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80145 /* 228310 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80146 /* 228312 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80147 /* 228314 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80148 /* 228316 */ GIR_RootConstrainSelectedInstOperands,
80149 /* 228317 */ // GIR_Coverage, 1121,
80150 /* 228317 */ GIR_EraseRootFromParent_Done,
80151 /* 228318 */ // Label 6684: @228318
80152 /* 228318 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6685*/ GIMT_Encode4(228336), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1367 //
80153 /* 228325 */ // (strict_fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3) => (VFMADDPS4Yrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
80154 /* 228325 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrr),
80155 /* 228330 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80156 /* 228334 */ GIR_RootConstrainSelectedInstOperands,
80157 /* 228335 */ // GIR_Coverage, 1367,
80158 /* 228335 */ GIR_Done,
80159 /* 228336 */ // Label 6685: @228336
80160 /* 228336 */ GIM_Reject,
80161 /* 228337 */ // Label 6683: @228337
80162 /* 228337 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6686*/ GIMT_Encode4(228373), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8459 //
80163 /* 228344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80164 /* 228348 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80165 /* 228352 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80166 /* 228356 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80167 /* 228360 */ // (strict_fma:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src3) => (VFMADD213PSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src3)
80168 /* 228360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256r),
80169 /* 228363 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80170 /* 228365 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80171 /* 228367 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80172 /* 228369 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80173 /* 228371 */ GIR_RootConstrainSelectedInstOperands,
80174 /* 228372 */ // GIR_Coverage, 8459,
80175 /* 228372 */ GIR_EraseRootFromParent_Done,
80176 /* 228373 */ // Label 6686: @228373
80177 /* 228373 */ GIM_Reject,
80178 /* 228374 */ // Label 6670: @228374
80179 /* 228374 */ GIM_Reject,
80180 /* 228375 */ // Label 6586: @228375
80181 /* 228375 */ GIM_Try, /*On fail goto*//*Label 6687*/ GIMT_Encode4(228615),
80182 /* 228380 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
80183 /* 228383 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
80184 /* 228386 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
80185 /* 228389 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80186 /* 228393 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6688*/ GIMT_Encode4(228456), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 9627 //
80187 /* 228400 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80188 /* 228404 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80189 /* 228408 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80190 /* 228411 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80191 /* 228415 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80192 /* 228419 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80193 /* 228423 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80194 /* 228427 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80195 /* 228429 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80196 /* 228436 */ // (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)
80197 /* 228436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZm),
80198 /* 228439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80199 /* 228441 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80200 /* 228443 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80201 /* 228445 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80202 /* 228449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80203 /* 228454 */ GIR_RootConstrainSelectedInstOperands,
80204 /* 228455 */ // GIR_Coverage, 9627,
80205 /* 228455 */ GIR_EraseRootFromParent_Done,
80206 /* 228456 */ // Label 6688: @228456
80207 /* 228456 */ GIM_Try, /*On fail goto*//*Label 6689*/ GIMT_Encode4(228614),
80208 /* 228461 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80209 /* 228465 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6690*/ GIMT_Encode4(228524), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 9087 //
80210 /* 228472 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80211 /* 228476 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80212 /* 228480 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80213 /* 228483 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80214 /* 228487 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80215 /* 228491 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80216 /* 228495 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80217 /* 228497 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80218 /* 228504 */ // (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)
80219 /* 228504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZm),
80220 /* 228507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80221 /* 228509 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80222 /* 228511 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80223 /* 228513 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80224 /* 228517 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80225 /* 228522 */ GIR_RootConstrainSelectedInstOperands,
80226 /* 228523 */ // GIR_Coverage, 9087,
80227 /* 228523 */ GIR_EraseRootFromParent_Done,
80228 /* 228524 */ // Label 6690: @228524
80229 /* 228524 */ GIM_Try, /*On fail goto*//*Label 6691*/ GIMT_Encode4(228613),
80230 /* 228529 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80231 /* 228533 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6692*/ GIMT_Encode4(228588), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8448 //
80232 /* 228540 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80233 /* 228544 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80234 /* 228548 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80235 /* 228551 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80236 /* 228555 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80237 /* 228559 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80238 /* 228561 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80239 /* 228568 */ // (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)
80240 /* 228568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZm),
80241 /* 228571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80242 /* 228573 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80243 /* 228575 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80244 /* 228577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80245 /* 228581 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80246 /* 228586 */ GIR_RootConstrainSelectedInstOperands,
80247 /* 228587 */ // GIR_Coverage, 8448,
80248 /* 228587 */ GIR_EraseRootFromParent_Done,
80249 /* 228588 */ // Label 6692: @228588
80250 /* 228588 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6693*/ GIMT_Encode4(228612), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8444 //
80251 /* 228595 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80252 /* 228599 */ // (strict_fma:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src3) => (VFMADD213PSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src3)
80253 /* 228599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZr),
80254 /* 228602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80255 /* 228604 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80256 /* 228606 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80257 /* 228608 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80258 /* 228610 */ GIR_RootConstrainSelectedInstOperands,
80259 /* 228611 */ // GIR_Coverage, 8444,
80260 /* 228611 */ GIR_EraseRootFromParent_Done,
80261 /* 228612 */ // Label 6693: @228612
80262 /* 228612 */ GIM_Reject,
80263 /* 228613 */ // Label 6691: @228613
80264 /* 228613 */ GIM_Reject,
80265 /* 228614 */ // Label 6689: @228614
80266 /* 228614 */ GIM_Reject,
80267 /* 228615 */ // Label 6687: @228615
80268 /* 228615 */ GIM_Reject,
80269 /* 228616 */ // Label 6587: @228616
80270 /* 228616 */ GIM_Try, /*On fail goto*//*Label 6694*/ GIMT_Encode4(229320),
80271 /* 228621 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
80272 /* 228624 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
80273 /* 228627 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
80274 /* 228630 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6695*/ GIMT_Encode4(228697), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1167 //
80275 /* 228637 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80276 /* 228641 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80277 /* 228645 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80278 /* 228649 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80279 /* 228652 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80280 /* 228656 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80281 /* 228660 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80282 /* 228664 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80283 /* 228668 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80284 /* 228670 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80285 /* 228677 */ // (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)
80286 /* 228677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDm),
80287 /* 228680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80288 /* 228682 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80289 /* 228684 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80290 /* 228686 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80291 /* 228690 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80292 /* 228695 */ GIR_RootConstrainSelectedInstOperands,
80293 /* 228696 */ // GIR_Coverage, 1167,
80294 /* 228696 */ GIR_EraseRootFromParent_Done,
80295 /* 228697 */ // Label 6695: @228697
80296 /* 228697 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6696*/ GIMT_Encode4(228764), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9681 //
80297 /* 228704 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80298 /* 228708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80299 /* 228712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80300 /* 228716 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80301 /* 228719 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80302 /* 228723 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80303 /* 228727 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80304 /* 228731 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80305 /* 228735 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80306 /* 228737 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80307 /* 228744 */ // (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)
80308 /* 228744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ128m),
80309 /* 228747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80310 /* 228749 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80311 /* 228751 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80312 /* 228753 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80313 /* 228757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80314 /* 228762 */ GIR_RootConstrainSelectedInstOperands,
80315 /* 228763 */ // GIR_Coverage, 9681,
80316 /* 228763 */ GIR_EraseRootFromParent_Done,
80317 /* 228764 */ // Label 6696: @228764
80318 /* 228764 */ GIM_Try, /*On fail goto*//*Label 6697*/ GIMT_Encode4(228961),
80319 /* 228769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80320 /* 228773 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6698*/ GIMT_Encode4(228836), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 23556 //
80321 /* 228780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80322 /* 228784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80323 /* 228788 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80324 /* 228791 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80325 /* 228795 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80326 /* 228799 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80327 /* 228803 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80328 /* 228807 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80329 /* 228809 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80330 /* 228816 */ // (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)
80331 /* 228816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
80332 /* 228819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80333 /* 228821 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80334 /* 228823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80335 /* 228827 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80336 /* 228829 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80337 /* 228834 */ GIR_RootConstrainSelectedInstOperands,
80338 /* 228835 */ // GIR_Coverage, 23556,
80339 /* 228835 */ GIR_EraseRootFromParent_Done,
80340 /* 228836 */ // Label 6698: @228836
80341 /* 228836 */ GIM_Try, /*On fail goto*//*Label 6699*/ GIMT_Encode4(228960),
80342 /* 228841 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80343 /* 228845 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80344 /* 228849 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6700*/ GIMT_Encode4(228904), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1165 //
80345 /* 228856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80346 /* 228860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80347 /* 228864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80348 /* 228867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80349 /* 228871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80350 /* 228875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80351 /* 228877 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80352 /* 228884 */ // (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)
80353 /* 228884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDm),
80354 /* 228887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80355 /* 228889 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80356 /* 228891 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80357 /* 228893 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80358 /* 228897 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80359 /* 228902 */ GIR_RootConstrainSelectedInstOperands,
80360 /* 228903 */ // GIR_Coverage, 1165,
80361 /* 228903 */ GIR_EraseRootFromParent_Done,
80362 /* 228904 */ // Label 6700: @228904
80363 /* 228904 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6701*/ GIMT_Encode4(228959), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1449 //
80364 /* 228911 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80365 /* 228915 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80366 /* 228919 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80367 /* 228922 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80368 /* 228926 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80369 /* 228930 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80370 /* 228932 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80371 /* 228939 */ // (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)
80372 /* 228939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
80373 /* 228942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80374 /* 228944 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80375 /* 228946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80376 /* 228950 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80377 /* 228952 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80378 /* 228957 */ GIR_RootConstrainSelectedInstOperands,
80379 /* 228958 */ // GIR_Coverage, 1449,
80380 /* 228958 */ GIR_EraseRootFromParent_Done,
80381 /* 228959 */ // Label 6701: @228959
80382 /* 228959 */ GIM_Reject,
80383 /* 228960 */ // Label 6699: @228960
80384 /* 228960 */ GIM_Reject,
80385 /* 228961 */ // Label 6697: @228961
80386 /* 228961 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6702*/ GIMT_Encode4(229028), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9141 //
80387 /* 228968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80388 /* 228972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80389 /* 228976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80390 /* 228980 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80391 /* 228984 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80392 /* 228987 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80393 /* 228991 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80394 /* 228995 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80395 /* 228999 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80396 /* 229001 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80397 /* 229008 */ // (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)
80398 /* 229008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ128m),
80399 /* 229011 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80400 /* 229013 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80401 /* 229015 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80402 /* 229017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80403 /* 229021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80404 /* 229026 */ GIR_RootConstrainSelectedInstOperands,
80405 /* 229027 */ // GIR_Coverage, 9141,
80406 /* 229027 */ GIR_EraseRootFromParent_Done,
80407 /* 229028 */ // Label 6702: @229028
80408 /* 229028 */ GIM_Try, /*On fail goto*//*Label 6703*/ GIMT_Encode4(229156),
80409 /* 229033 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80410 /* 229037 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80411 /* 229041 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80412 /* 229045 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6704*/ GIMT_Encode4(229100), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1163 //
80413 /* 229052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80414 /* 229056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80415 /* 229060 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80416 /* 229063 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80417 /* 229067 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80418 /* 229071 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80419 /* 229073 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80420 /* 229080 */ // (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)
80421 /* 229080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDm),
80422 /* 229083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80423 /* 229085 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80424 /* 229087 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80425 /* 229089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80426 /* 229093 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80427 /* 229098 */ GIR_RootConstrainSelectedInstOperands,
80428 /* 229099 */ // GIR_Coverage, 1163,
80429 /* 229099 */ GIR_EraseRootFromParent_Done,
80430 /* 229100 */ // Label 6704: @229100
80431 /* 229100 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6705*/ GIMT_Encode4(229155), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1447 //
80432 /* 229107 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80433 /* 229111 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80434 /* 229115 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80435 /* 229118 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80436 /* 229122 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80437 /* 229126 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80438 /* 229128 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80439 /* 229135 */ // (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)
80440 /* 229135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rm),
80441 /* 229138 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80442 /* 229140 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80443 /* 229142 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
80444 /* 229144 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80445 /* 229148 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80446 /* 229153 */ GIR_RootConstrainSelectedInstOperands,
80447 /* 229154 */ // GIR_Coverage, 1447,
80448 /* 229154 */ GIR_EraseRootFromParent_Done,
80449 /* 229155 */ // Label 6705: @229155
80450 /* 229155 */ GIM_Reject,
80451 /* 229156 */ // Label 6703: @229156
80452 /* 229156 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6706*/ GIMT_Encode4(229223), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8514 //
80453 /* 229163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80454 /* 229167 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80455 /* 229171 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80456 /* 229175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80457 /* 229179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80458 /* 229183 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80459 /* 229186 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80460 /* 229190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80461 /* 229194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80462 /* 229196 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80463 /* 229203 */ // (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)
80464 /* 229203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128m),
80465 /* 229206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80466 /* 229208 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80467 /* 229210 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80468 /* 229212 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80469 /* 229216 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80470 /* 229221 */ GIR_RootConstrainSelectedInstOperands,
80471 /* 229222 */ // GIR_Coverage, 8514,
80472 /* 229222 */ GIR_EraseRootFromParent_Done,
80473 /* 229223 */ // Label 6706: @229223
80474 /* 229223 */ GIM_Try, /*On fail goto*//*Label 6707*/ GIMT_Encode4(229283),
80475 /* 229228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80476 /* 229232 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80477 /* 229236 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80478 /* 229240 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80479 /* 229244 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6708*/ GIMT_Encode4(229264), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1161 //
80480 /* 229251 */ // (strict_fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src3) => (VFMADD213PDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
80481 /* 229251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDr),
80482 /* 229254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80483 /* 229256 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80484 /* 229258 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80485 /* 229260 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80486 /* 229262 */ GIR_RootConstrainSelectedInstOperands,
80487 /* 229263 */ // GIR_Coverage, 1161,
80488 /* 229263 */ GIR_EraseRootFromParent_Done,
80489 /* 229264 */ // Label 6708: @229264
80490 /* 229264 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6709*/ GIMT_Encode4(229282), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1445 //
80491 /* 229271 */ // (strict_fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3) => (VFMADDPD4rr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
80492 /* 229271 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rr),
80493 /* 229276 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80494 /* 229280 */ GIR_RootConstrainSelectedInstOperands,
80495 /* 229281 */ // GIR_Coverage, 1445,
80496 /* 229281 */ GIR_Done,
80497 /* 229282 */ // Label 6709: @229282
80498 /* 229282 */ GIM_Reject,
80499 /* 229283 */ // Label 6707: @229283
80500 /* 229283 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6710*/ GIMT_Encode4(229319), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8510 //
80501 /* 229290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80502 /* 229294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80503 /* 229298 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80504 /* 229302 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80505 /* 229306 */ // (strict_fma:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src3) => (VFMADD213PDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src3)
80506 /* 229306 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128r),
80507 /* 229309 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80508 /* 229311 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80509 /* 229313 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80510 /* 229315 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80511 /* 229317 */ GIR_RootConstrainSelectedInstOperands,
80512 /* 229318 */ // GIR_Coverage, 8510,
80513 /* 229318 */ GIR_EraseRootFromParent_Done,
80514 /* 229319 */ // Label 6710: @229319
80515 /* 229319 */ GIM_Reject,
80516 /* 229320 */ // Label 6694: @229320
80517 /* 229320 */ GIM_Reject,
80518 /* 229321 */ // Label 6588: @229321
80519 /* 229321 */ GIM_Try, /*On fail goto*//*Label 6711*/ GIMT_Encode4(230025),
80520 /* 229326 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
80521 /* 229329 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
80522 /* 229332 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
80523 /* 229335 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6712*/ GIMT_Encode4(229402), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1175 //
80524 /* 229342 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80525 /* 229346 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80526 /* 229350 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80527 /* 229354 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80528 /* 229357 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80529 /* 229361 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80530 /* 229365 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80531 /* 229369 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80532 /* 229373 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80533 /* 229375 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80534 /* 229382 */ // (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)
80535 /* 229382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDYm),
80536 /* 229385 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80537 /* 229387 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80538 /* 229389 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80539 /* 229391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80540 /* 229395 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80541 /* 229400 */ GIR_RootConstrainSelectedInstOperands,
80542 /* 229401 */ // GIR_Coverage, 1175,
80543 /* 229401 */ GIR_EraseRootFromParent_Done,
80544 /* 229402 */ // Label 6712: @229402
80545 /* 229402 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6713*/ GIMT_Encode4(229469), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9671 //
80546 /* 229409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80547 /* 229413 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80548 /* 229417 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80549 /* 229421 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80550 /* 229424 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80551 /* 229428 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80552 /* 229432 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80553 /* 229436 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80554 /* 229440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80555 /* 229442 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80556 /* 229449 */ // (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)
80557 /* 229449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ256m),
80558 /* 229452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80559 /* 229454 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80560 /* 229456 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80561 /* 229458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80562 /* 229462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80563 /* 229467 */ GIR_RootConstrainSelectedInstOperands,
80564 /* 229468 */ // GIR_Coverage, 9671,
80565 /* 229468 */ GIR_EraseRootFromParent_Done,
80566 /* 229469 */ // Label 6713: @229469
80567 /* 229469 */ GIM_Try, /*On fail goto*//*Label 6714*/ GIMT_Encode4(229666),
80568 /* 229474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80569 /* 229478 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6715*/ GIMT_Encode4(229541), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 23558 //
80570 /* 229485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80571 /* 229489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80572 /* 229493 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80573 /* 229496 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80574 /* 229500 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80575 /* 229504 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80576 /* 229508 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80577 /* 229512 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80578 /* 229514 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80579 /* 229521 */ // (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)
80580 /* 229521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
80581 /* 229524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80582 /* 229526 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80583 /* 229528 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80584 /* 229532 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80585 /* 229534 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80586 /* 229539 */ GIR_RootConstrainSelectedInstOperands,
80587 /* 229540 */ // GIR_Coverage, 23558,
80588 /* 229540 */ GIR_EraseRootFromParent_Done,
80589 /* 229541 */ // Label 6715: @229541
80590 /* 229541 */ GIM_Try, /*On fail goto*//*Label 6716*/ GIMT_Encode4(229665),
80591 /* 229546 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80592 /* 229550 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80593 /* 229554 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6717*/ GIMT_Encode4(229609), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1173 //
80594 /* 229561 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80595 /* 229565 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80596 /* 229569 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80597 /* 229572 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80598 /* 229576 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80599 /* 229580 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80600 /* 229582 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80601 /* 229589 */ // (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)
80602 /* 229589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDYm),
80603 /* 229592 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80604 /* 229594 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80605 /* 229596 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80606 /* 229598 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80607 /* 229602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80608 /* 229607 */ GIR_RootConstrainSelectedInstOperands,
80609 /* 229608 */ // GIR_Coverage, 1173,
80610 /* 229608 */ GIR_EraseRootFromParent_Done,
80611 /* 229609 */ // Label 6717: @229609
80612 /* 229609 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6718*/ GIMT_Encode4(229664), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1455 //
80613 /* 229616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80614 /* 229620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80615 /* 229624 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80616 /* 229627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80617 /* 229631 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80618 /* 229635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80619 /* 229637 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80620 /* 229644 */ // (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)
80621 /* 229644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
80622 /* 229647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80623 /* 229649 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80624 /* 229651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80625 /* 229655 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80626 /* 229657 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80627 /* 229662 */ GIR_RootConstrainSelectedInstOperands,
80628 /* 229663 */ // GIR_Coverage, 1455,
80629 /* 229663 */ GIR_EraseRootFromParent_Done,
80630 /* 229664 */ // Label 6718: @229664
80631 /* 229664 */ GIM_Reject,
80632 /* 229665 */ // Label 6716: @229665
80633 /* 229665 */ GIM_Reject,
80634 /* 229666 */ // Label 6714: @229666
80635 /* 229666 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6719*/ GIMT_Encode4(229733), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 9131 //
80636 /* 229673 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80637 /* 229677 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80638 /* 229681 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80639 /* 229685 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80640 /* 229689 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80641 /* 229692 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80642 /* 229696 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80643 /* 229700 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80644 /* 229704 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80645 /* 229706 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80646 /* 229713 */ // (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)
80647 /* 229713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ256m),
80648 /* 229716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80649 /* 229718 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80650 /* 229720 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80651 /* 229722 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80652 /* 229726 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80653 /* 229731 */ GIR_RootConstrainSelectedInstOperands,
80654 /* 229732 */ // GIR_Coverage, 9131,
80655 /* 229732 */ GIR_EraseRootFromParent_Done,
80656 /* 229733 */ // Label 6719: @229733
80657 /* 229733 */ GIM_Try, /*On fail goto*//*Label 6720*/ GIMT_Encode4(229861),
80658 /* 229738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80659 /* 229742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80660 /* 229746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80661 /* 229750 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6721*/ GIMT_Encode4(229805), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1171 //
80662 /* 229757 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80663 /* 229761 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80664 /* 229765 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80665 /* 229768 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80666 /* 229772 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80667 /* 229776 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80668 /* 229778 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80669 /* 229785 */ // (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)
80670 /* 229785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYm),
80671 /* 229788 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80672 /* 229790 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80673 /* 229792 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80674 /* 229794 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80675 /* 229798 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80676 /* 229803 */ GIR_RootConstrainSelectedInstOperands,
80677 /* 229804 */ // GIR_Coverage, 1171,
80678 /* 229804 */ GIR_EraseRootFromParent_Done,
80679 /* 229805 */ // Label 6721: @229805
80680 /* 229805 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6722*/ GIMT_Encode4(229860), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1453 //
80681 /* 229812 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80682 /* 229816 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80683 /* 229820 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80684 /* 229823 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80685 /* 229827 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80686 /* 229831 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80687 /* 229833 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80688 /* 229840 */ // (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)
80689 /* 229840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrm),
80690 /* 229843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80691 /* 229845 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80692 /* 229847 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
80693 /* 229849 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80694 /* 229853 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80695 /* 229858 */ GIR_RootConstrainSelectedInstOperands,
80696 /* 229859 */ // GIR_Coverage, 1453,
80697 /* 229859 */ GIR_EraseRootFromParent_Done,
80698 /* 229860 */ // Label 6722: @229860
80699 /* 229860 */ GIM_Reject,
80700 /* 229861 */ // Label 6720: @229861
80701 /* 229861 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6723*/ GIMT_Encode4(229928), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8502 //
80702 /* 229868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80703 /* 229872 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80704 /* 229876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80705 /* 229880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80706 /* 229884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80707 /* 229888 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80708 /* 229891 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80709 /* 229895 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80710 /* 229899 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80711 /* 229901 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80712 /* 229908 */ // (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)
80713 /* 229908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256m),
80714 /* 229911 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80715 /* 229913 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80716 /* 229915 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80717 /* 229917 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80718 /* 229921 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80719 /* 229926 */ GIR_RootConstrainSelectedInstOperands,
80720 /* 229927 */ // GIR_Coverage, 8502,
80721 /* 229927 */ GIR_EraseRootFromParent_Done,
80722 /* 229928 */ // Label 6723: @229928
80723 /* 229928 */ GIM_Try, /*On fail goto*//*Label 6724*/ GIMT_Encode4(229988),
80724 /* 229933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80725 /* 229937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80726 /* 229941 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80727 /* 229945 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80728 /* 229949 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6725*/ GIMT_Encode4(229969), GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX), // Rule ID 1169 //
80729 /* 229956 */ // (strict_fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src3) => (VFMADD213PDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
80730 /* 229956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYr),
80731 /* 229959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80732 /* 229961 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80733 /* 229963 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80734 /* 229965 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80735 /* 229967 */ GIR_RootConstrainSelectedInstOperands,
80736 /* 229968 */ // GIR_Coverage, 1169,
80737 /* 229968 */ GIR_EraseRootFromParent_Done,
80738 /* 229969 */ // Label 6725: @229969
80739 /* 229969 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6726*/ GIMT_Encode4(229987), GIMT_Encode2(GIFBS_HasFMA4_NoVLX), // Rule ID 1451 //
80740 /* 229976 */ // (strict_fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3) => (VFMADDPD4Yrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
80741 /* 229976 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrr),
80742 /* 229981 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80743 /* 229985 */ GIR_RootConstrainSelectedInstOperands,
80744 /* 229986 */ // GIR_Coverage, 1451,
80745 /* 229986 */ GIR_Done,
80746 /* 229987 */ // Label 6726: @229987
80747 /* 229987 */ GIM_Reject,
80748 /* 229988 */ // Label 6724: @229988
80749 /* 229988 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6727*/ GIMT_Encode4(230024), GIMT_Encode2(GIFBS_HasAVX512_HasVLX), // Rule ID 8498 //
80750 /* 229995 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80751 /* 229999 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80752 /* 230003 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80753 /* 230007 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80754 /* 230011 */ // (strict_fma:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src3) => (VFMADD213PDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src3)
80755 /* 230011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256r),
80756 /* 230014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80757 /* 230016 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80758 /* 230018 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80759 /* 230020 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80760 /* 230022 */ GIR_RootConstrainSelectedInstOperands,
80761 /* 230023 */ // GIR_Coverage, 8498,
80762 /* 230023 */ GIR_EraseRootFromParent_Done,
80763 /* 230024 */ // Label 6727: @230024
80764 /* 230024 */ GIM_Reject,
80765 /* 230025 */ // Label 6711: @230025
80766 /* 230025 */ GIM_Reject,
80767 /* 230026 */ // Label 6589: @230026
80768 /* 230026 */ GIM_Try, /*On fail goto*//*Label 6728*/ GIMT_Encode4(230266),
80769 /* 230031 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
80770 /* 230034 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
80771 /* 230037 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
80772 /* 230040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80773 /* 230044 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6729*/ GIMT_Encode4(230107), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 9659 //
80774 /* 230051 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80775 /* 230055 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80776 /* 230059 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80777 /* 230062 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80778 /* 230066 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80779 /* 230070 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80780 /* 230074 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80781 /* 230078 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80782 /* 230080 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80783 /* 230087 */ // (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)
80784 /* 230087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZm),
80785 /* 230090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80786 /* 230092 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80787 /* 230094 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80788 /* 230096 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80789 /* 230100 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80790 /* 230105 */ GIR_RootConstrainSelectedInstOperands,
80791 /* 230106 */ // GIR_Coverage, 9659,
80792 /* 230106 */ GIR_EraseRootFromParent_Done,
80793 /* 230107 */ // Label 6729: @230107
80794 /* 230107 */ GIM_Try, /*On fail goto*//*Label 6730*/ GIMT_Encode4(230265),
80795 /* 230112 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80796 /* 230116 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6731*/ GIMT_Encode4(230175), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 9119 //
80797 /* 230123 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80798 /* 230127 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80799 /* 230131 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80800 /* 230134 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80801 /* 230138 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80802 /* 230142 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80803 /* 230146 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80804 /* 230148 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80805 /* 230155 */ // (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)
80806 /* 230155 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZm),
80807 /* 230158 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80808 /* 230160 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80809 /* 230162 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80810 /* 230164 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80811 /* 230168 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80812 /* 230173 */ GIR_RootConstrainSelectedInstOperands,
80813 /* 230174 */ // GIR_Coverage, 9119,
80814 /* 230174 */ GIR_EraseRootFromParent_Done,
80815 /* 230175 */ // Label 6731: @230175
80816 /* 230175 */ GIM_Try, /*On fail goto*//*Label 6732*/ GIMT_Encode4(230264),
80817 /* 230180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80818 /* 230184 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6733*/ GIMT_Encode4(230239), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8487 //
80819 /* 230191 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80820 /* 230195 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80821 /* 230199 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80822 /* 230202 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80823 /* 230206 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80824 /* 230210 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80825 /* 230212 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80826 /* 230219 */ // (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)
80827 /* 230219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZm),
80828 /* 230222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80829 /* 230224 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80830 /* 230226 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80831 /* 230228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80832 /* 230232 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80833 /* 230237 */ GIR_RootConstrainSelectedInstOperands,
80834 /* 230238 */ // GIR_Coverage, 8487,
80835 /* 230238 */ GIR_EraseRootFromParent_Done,
80836 /* 230239 */ // Label 6733: @230239
80837 /* 230239 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6734*/ GIMT_Encode4(230263), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 8483 //
80838 /* 230246 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80839 /* 230250 */ // (strict_fma:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src3) => (VFMADD213PDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src3)
80840 /* 230250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZr),
80841 /* 230253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80842 /* 230255 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80843 /* 230257 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80844 /* 230259 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80845 /* 230261 */ GIR_RootConstrainSelectedInstOperands,
80846 /* 230262 */ // GIR_Coverage, 8483,
80847 /* 230262 */ GIR_EraseRootFromParent_Done,
80848 /* 230263 */ // Label 6734: @230263
80849 /* 230263 */ GIM_Reject,
80850 /* 230264 */ // Label 6732: @230264
80851 /* 230264 */ GIM_Reject,
80852 /* 230265 */ // Label 6730: @230265
80853 /* 230265 */ GIM_Reject,
80854 /* 230266 */ // Label 6728: @230266
80855 /* 230266 */ GIM_Reject,
80856 /* 230267 */ // Label 6590: @230267
80857 /* 230267 */ GIM_Reject,
80858 /* 230268 */ // Label 79: @230268
80859 /* 230268 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 6748*/ GIMT_Encode4(232395),
80860 /* 230279 */ /*GILLT_s16*//*Label 6735*/ GIMT_Encode4(230371),
80861 /* 230283 */ /*GILLT_s32*//*Label 6736*/ GIMT_Encode4(230490),
80862 /* 230287 */ /*GILLT_s64*//*Label 6737*/ GIMT_Encode4(230839),
80863 /* 230291 */ /*GILLT_s80*//*Label 6738*/ GIMT_Encode4(231188), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
80864 /* 230335 */ /*GILLT_v8s16*//*Label 6739*/ GIMT_Encode4(231224),
80865 /* 230339 */ /*GILLT_v16s16*//*Label 6740*/ GIMT_Encode4(231311),
80866 /* 230343 */ /*GILLT_v32s16*//*Label 6741*/ GIMT_Encode4(231398),
80867 /* 230347 */ /*GILLT_v4s32*//*Label 6742*/ GIMT_Encode4(231485),
80868 /* 230351 */ /*GILLT_v8s32*//*Label 6743*/ GIMT_Encode4(231681),
80869 /* 230355 */ /*GILLT_v16s32*//*Label 6744*/ GIMT_Encode4(231853),
80870 /* 230359 */ /*GILLT_v2s64*//*Label 6745*/ GIMT_Encode4(231940),
80871 /* 230363 */ /*GILLT_v4s64*//*Label 6746*/ GIMT_Encode4(232136),
80872 /* 230367 */ /*GILLT_v8s64*//*Label 6747*/ GIMT_Encode4(232308),
80873 /* 230371 */ // Label 6735: @230371
80874 /* 230371 */ GIM_Try, /*On fail goto*//*Label 6749*/ GIMT_Encode4(230489),
80875 /* 230376 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
80876 /* 230379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80877 /* 230383 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6750*/ GIMT_Encode4(230451), GIMT_Encode2(GIFBS_HasFP16_OptForSize), // Rule ID 21568 //
80878 /* 230390 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80879 /* 230394 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80880 /* 230398 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80881 /* 230401 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80882 /* 230405 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80883 /* 230409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80884 /* 230411 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80885 /* 230418 */ // (strict_fsqrt:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSHZm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
80886 /* 230418 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
80887 /* 230421 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
80888 /* 230425 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
80889 /* 230430 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
80890 /* 230432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZm),
80891 /* 230435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80892 /* 230437 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
80893 /* 230440 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
80894 /* 230444 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80895 /* 230449 */ GIR_RootConstrainSelectedInstOperands,
80896 /* 230450 */ // GIR_Coverage, 21568,
80897 /* 230450 */ GIR_EraseRootFromParent_Done,
80898 /* 230451 */ // Label 6750: @230451
80899 /* 230451 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6751*/ GIMT_Encode4(230488), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 21566 //
80900 /* 230458 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80901 /* 230462 */ // (strict_fsqrt:{ *:[f16] } FR16X:{ *:[f16] }:$src) => (VSQRTSHZr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR16X:{ *:[f16] }:$src)
80902 /* 230462 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
80903 /* 230465 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
80904 /* 230469 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
80905 /* 230474 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
80906 /* 230476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZr),
80907 /* 230479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80908 /* 230481 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
80909 /* 230484 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
80910 /* 230486 */ GIR_RootConstrainSelectedInstOperands,
80911 /* 230487 */ // GIR_Coverage, 21566,
80912 /* 230487 */ GIR_EraseRootFromParent_Done,
80913 /* 230488 */ // Label 6751: @230488
80914 /* 230488 */ GIM_Reject,
80915 /* 230489 */ // Label 6749: @230489
80916 /* 230489 */ GIM_Reject,
80917 /* 230490 */ // Label 6736: @230490
80918 /* 230490 */ GIM_Try, /*On fail goto*//*Label 6752*/ GIMT_Encode4(230838),
80919 /* 230495 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
80920 /* 230498 */ GIM_Try, /*On fail goto*//*Label 6753*/ GIMT_Encode4(230627),
80921 /* 230503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80922 /* 230507 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6754*/ GIMT_Encode4(230558), GIMT_Encode2(GIFBS_OptForSize_UseSSE1), // Rule ID 2429 //
80923 /* 230514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80924 /* 230518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80925 /* 230522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80926 /* 230525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80927 /* 230529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80928 /* 230533 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80929 /* 230535 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80930 /* 230542 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSSm:{ *:[f32] } addr:{ *:[iPTR] }:$src1)
80931 /* 230542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSSm),
80932 /* 230545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80933 /* 230547 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
80934 /* 230551 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80935 /* 230556 */ GIR_RootConstrainSelectedInstOperands,
80936 /* 230557 */ // GIR_Coverage, 2429,
80937 /* 230557 */ GIR_EraseRootFromParent_Done,
80938 /* 230558 */ // Label 6754: @230558
80939 /* 230558 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6755*/ GIMT_Encode4(230626), GIMT_Encode2(GIFBS_OptForSize_UseAVX), // Rule ID 18369 //
80940 /* 230565 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80941 /* 230569 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80942 /* 230573 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80943 /* 230576 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80944 /* 230580 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80945 /* 230584 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80946 /* 230586 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80947 /* 230593 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
80948 /* 230593 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
80949 /* 230596 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
80950 /* 230600 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
80951 /* 230605 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
80952 /* 230607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSm),
80953 /* 230610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80954 /* 230612 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
80955 /* 230615 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
80956 /* 230619 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80957 /* 230624 */ GIR_RootConstrainSelectedInstOperands,
80958 /* 230625 */ // GIR_Coverage, 18369,
80959 /* 230625 */ GIR_EraseRootFromParent_Done,
80960 /* 230626 */ // Label 6755: @230626
80961 /* 230626 */ GIM_Reject,
80962 /* 230627 */ // Label 6753: @230627
80963 /* 230627 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6756*/ GIMT_Encode4(230699), GIMT_Encode2(GIFBS_HasAVX512_OptForSize), // Rule ID 21572 //
80964 /* 230634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80965 /* 230638 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80966 /* 230642 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80967 /* 230646 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80968 /* 230649 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80969 /* 230653 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80970 /* 230657 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80971 /* 230659 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80972 /* 230666 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSZm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
80973 /* 230666 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
80974 /* 230669 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
80975 /* 230673 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
80976 /* 230678 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
80977 /* 230680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZm),
80978 /* 230683 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80979 /* 230685 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
80980 /* 230688 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
80981 /* 230692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80982 /* 230697 */ GIR_RootConstrainSelectedInstOperands,
80983 /* 230698 */ // GIR_Coverage, 21572,
80984 /* 230698 */ GIR_EraseRootFromParent_Done,
80985 /* 230699 */ // Label 6756: @230699
80986 /* 230699 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6757*/ GIMT_Encode4(230731), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1024 //
80987 /* 230706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80988 /* 230710 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80989 /* 230714 */ // (strict_fsqrt:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (SQRT_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
80990 /* 230714 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp32),
80991 /* 230719 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
80992 /* 230725 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
80993 /* 230729 */ GIR_RootConstrainSelectedInstOperands,
80994 /* 230730 */ // GIR_Coverage, 1024,
80995 /* 230730 */ GIR_Done,
80996 /* 230731 */ // Label 6757: @230731
80997 /* 230731 */ GIM_Try, /*On fail goto*//*Label 6758*/ GIMT_Encode4(230796),
80998 /* 230736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80999 /* 230740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81000 /* 230744 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6759*/ GIMT_Encode4(230762), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2427 //
81001 /* 230751 */ // (strict_fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src1) => (SQRTSSr:{ *:[f32] } FR32:{ *:[f32] }:$src1)
81002 /* 230751 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSSr),
81003 /* 230756 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81004 /* 230760 */ GIR_RootConstrainSelectedInstOperands,
81005 /* 230761 */ // GIR_Coverage, 2427,
81006 /* 230761 */ GIR_Done,
81007 /* 230762 */ // Label 6759: @230762
81008 /* 230762 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6760*/ GIMT_Encode4(230795), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18367 //
81009 /* 230769 */ // (strict_fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src) => (VSQRTSSr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32:{ *:[f32] }:$src)
81010 /* 230769 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
81011 /* 230772 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
81012 /* 230776 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
81013 /* 230781 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
81014 /* 230783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSr),
81015 /* 230786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81016 /* 230788 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
81017 /* 230791 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
81018 /* 230793 */ GIR_RootConstrainSelectedInstOperands,
81019 /* 230794 */ // GIR_Coverage, 18367,
81020 /* 230794 */ GIR_EraseRootFromParent_Done,
81021 /* 230795 */ // Label 6760: @230795
81022 /* 230795 */ GIM_Reject,
81023 /* 230796 */ // Label 6758: @230796
81024 /* 230796 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6761*/ GIMT_Encode4(230837), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21570 //
81025 /* 230803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81026 /* 230807 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81027 /* 230811 */ // (strict_fsqrt:{ *:[f32] } FR32X:{ *:[f32] }:$src) => (VSQRTSSZr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32X:{ *:[f32] }:$src)
81028 /* 230811 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
81029 /* 230814 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
81030 /* 230818 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
81031 /* 230823 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
81032 /* 230825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZr),
81033 /* 230828 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81034 /* 230830 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
81035 /* 230833 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
81036 /* 230835 */ GIR_RootConstrainSelectedInstOperands,
81037 /* 230836 */ // GIR_Coverage, 21570,
81038 /* 230836 */ GIR_EraseRootFromParent_Done,
81039 /* 230837 */ // Label 6761: @230837
81040 /* 230837 */ GIM_Reject,
81041 /* 230838 */ // Label 6752: @230838
81042 /* 230838 */ GIM_Reject,
81043 /* 230839 */ // Label 6737: @230839
81044 /* 230839 */ GIM_Try, /*On fail goto*//*Label 6762*/ GIMT_Encode4(231187),
81045 /* 230844 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
81046 /* 230847 */ GIM_Try, /*On fail goto*//*Label 6763*/ GIMT_Encode4(230976),
81047 /* 230852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81048 /* 230856 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6764*/ GIMT_Encode4(230907), GIMT_Encode2(GIFBS_OptForSize_UseSSE2), // Rule ID 2445 //
81049 /* 230863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81050 /* 230867 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81051 /* 230871 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81052 /* 230874 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81053 /* 230878 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81054 /* 230882 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81055 /* 230884 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81056 /* 230891 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSDm:{ *:[f64] } addr:{ *:[iPTR] }:$src1)
81057 /* 230891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSDm),
81058 /* 230894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81059 /* 230896 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
81060 /* 230900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81061 /* 230905 */ GIR_RootConstrainSelectedInstOperands,
81062 /* 230906 */ // GIR_Coverage, 2445,
81063 /* 230906 */ GIR_EraseRootFromParent_Done,
81064 /* 230907 */ // Label 6764: @230907
81065 /* 230907 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6765*/ GIMT_Encode4(230975), GIMT_Encode2(GIFBS_OptForSize_UseAVX), // Rule ID 18373 //
81066 /* 230914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81067 /* 230918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81068 /* 230922 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81069 /* 230925 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81070 /* 230929 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81071 /* 230933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81072 /* 230935 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81073 /* 230942 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
81074 /* 230942 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
81075 /* 230945 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
81076 /* 230949 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
81077 /* 230954 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
81078 /* 230956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDm),
81079 /* 230959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81080 /* 230961 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
81081 /* 230964 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81082 /* 230968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81083 /* 230973 */ GIR_RootConstrainSelectedInstOperands,
81084 /* 230974 */ // GIR_Coverage, 18373,
81085 /* 230974 */ GIR_EraseRootFromParent_Done,
81086 /* 230975 */ // Label 6765: @230975
81087 /* 230975 */ GIM_Reject,
81088 /* 230976 */ // Label 6763: @230976
81089 /* 230976 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6766*/ GIMT_Encode4(231048), GIMT_Encode2(GIFBS_HasAVX512_OptForSize), // Rule ID 21576 //
81090 /* 230983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81091 /* 230987 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81092 /* 230991 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81093 /* 230995 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81094 /* 230998 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81095 /* 231002 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81096 /* 231006 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81097 /* 231008 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81098 /* 231015 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDZm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
81099 /* 231015 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
81100 /* 231018 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
81101 /* 231022 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
81102 /* 231027 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
81103 /* 231029 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZm),
81104 /* 231032 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81105 /* 231034 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
81106 /* 231037 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81107 /* 231041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81108 /* 231046 */ GIR_RootConstrainSelectedInstOperands,
81109 /* 231047 */ // GIR_Coverage, 21576,
81110 /* 231047 */ GIR_EraseRootFromParent_Done,
81111 /* 231048 */ // Label 6766: @231048
81112 /* 231048 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6767*/ GIMT_Encode4(231080), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1026 //
81113 /* 231055 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81114 /* 231059 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81115 /* 231063 */ // (strict_fsqrt:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (SQRT_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
81116 /* 231063 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp64),
81117 /* 231068 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
81118 /* 231074 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
81119 /* 231078 */ GIR_RootConstrainSelectedInstOperands,
81120 /* 231079 */ // GIR_Coverage, 1026,
81121 /* 231079 */ GIR_Done,
81122 /* 231080 */ // Label 6767: @231080
81123 /* 231080 */ GIM_Try, /*On fail goto*//*Label 6768*/ GIMT_Encode4(231145),
81124 /* 231085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81125 /* 231089 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81126 /* 231093 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6769*/ GIMT_Encode4(231111), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2443 //
81127 /* 231100 */ // (strict_fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src1) => (SQRTSDr:{ *:[f64] } FR64:{ *:[f64] }:$src1)
81128 /* 231100 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSDr),
81129 /* 231105 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81130 /* 231109 */ GIR_RootConstrainSelectedInstOperands,
81131 /* 231110 */ // GIR_Coverage, 2443,
81132 /* 231110 */ GIR_Done,
81133 /* 231111 */ // Label 6769: @231111
81134 /* 231111 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6770*/ GIMT_Encode4(231144), GIMT_Encode2(GIFBS_UseAVX), // Rule ID 18371 //
81135 /* 231118 */ // (strict_fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src) => (VSQRTSDr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64:{ *:[f64] }:$src)
81136 /* 231118 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
81137 /* 231121 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
81138 /* 231125 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
81139 /* 231130 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
81140 /* 231132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDr),
81141 /* 231135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81142 /* 231137 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
81143 /* 231140 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
81144 /* 231142 */ GIR_RootConstrainSelectedInstOperands,
81145 /* 231143 */ // GIR_Coverage, 18371,
81146 /* 231143 */ GIR_EraseRootFromParent_Done,
81147 /* 231144 */ // Label 6770: @231144
81148 /* 231144 */ GIM_Reject,
81149 /* 231145 */ // Label 6768: @231145
81150 /* 231145 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6771*/ GIMT_Encode4(231186), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 21574 //
81151 /* 231152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81152 /* 231156 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81153 /* 231160 */ // (strict_fsqrt:{ *:[f64] } FR64X:{ *:[f64] }:$src) => (VSQRTSDZr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64X:{ *:[f64] }:$src)
81154 /* 231160 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
81155 /* 231163 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
81156 /* 231167 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
81157 /* 231172 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
81158 /* 231174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZr),
81159 /* 231177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81160 /* 231179 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
81161 /* 231182 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
81162 /* 231184 */ GIR_RootConstrainSelectedInstOperands,
81163 /* 231185 */ // GIR_Coverage, 21574,
81164 /* 231185 */ GIR_EraseRootFromParent_Done,
81165 /* 231186 */ // Label 6771: @231186
81166 /* 231186 */ GIM_Reject,
81167 /* 231187 */ // Label 6762: @231187
81168 /* 231187 */ GIM_Reject,
81169 /* 231188 */ // Label 6738: @231188
81170 /* 231188 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6772*/ GIMT_Encode4(231223), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1028 //
81171 /* 231195 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
81172 /* 231198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
81173 /* 231202 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
81174 /* 231206 */ // (strict_fsqrt:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (SQRT_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
81175 /* 231206 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp80),
81176 /* 231211 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
81177 /* 231217 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
81178 /* 231221 */ GIR_RootConstrainSelectedInstOperands,
81179 /* 231222 */ // GIR_Coverage, 1028,
81180 /* 231222 */ GIR_Done,
81181 /* 231223 */ // Label 6772: @231223
81182 /* 231223 */ GIM_Reject,
81183 /* 231224 */ // Label 6739: @231224
81184 /* 231224 */ GIM_Try, /*On fail goto*//*Label 6773*/ GIMT_Encode4(231310),
81185 /* 231229 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
81186 /* 231232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81187 /* 231236 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6774*/ GIMT_Encode4(231287), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 12015 //
81188 /* 231243 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81189 /* 231247 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81190 /* 231251 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81191 /* 231254 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81192 /* 231258 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81193 /* 231262 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81194 /* 231264 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81195 /* 231271 */ // (strict_fsqrt:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ128m:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
81196 /* 231271 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128m),
81197 /* 231274 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81198 /* 231276 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81199 /* 231280 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81200 /* 231285 */ GIR_RootConstrainSelectedInstOperands,
81201 /* 231286 */ // GIR_Coverage, 12015,
81202 /* 231286 */ GIR_EraseRootFromParent_Done,
81203 /* 231287 */ // Label 6774: @231287
81204 /* 231287 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6775*/ GIMT_Encode4(231309), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 12011 //
81205 /* 231294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81206 /* 231298 */ // (strict_fsqrt:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src) => (VSQRTPHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src)
81207 /* 231298 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128r),
81208 /* 231303 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81209 /* 231307 */ GIR_RootConstrainSelectedInstOperands,
81210 /* 231308 */ // GIR_Coverage, 12011,
81211 /* 231308 */ GIR_Done,
81212 /* 231309 */ // Label 6775: @231309
81213 /* 231309 */ GIM_Reject,
81214 /* 231310 */ // Label 6773: @231310
81215 /* 231310 */ GIM_Reject,
81216 /* 231311 */ // Label 6740: @231311
81217 /* 231311 */ GIM_Try, /*On fail goto*//*Label 6776*/ GIMT_Encode4(231397),
81218 /* 231316 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
81219 /* 231319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81220 /* 231323 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6777*/ GIMT_Encode4(231374), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 12027 //
81221 /* 231330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81222 /* 231334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81223 /* 231338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81224 /* 231341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81225 /* 231345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81226 /* 231349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81227 /* 231351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81228 /* 231358 */ // (strict_fsqrt:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ256m:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
81229 /* 231358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256m),
81230 /* 231361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81231 /* 231363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81232 /* 231367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81233 /* 231372 */ GIR_RootConstrainSelectedInstOperands,
81234 /* 231373 */ // GIR_Coverage, 12027,
81235 /* 231373 */ GIR_EraseRootFromParent_Done,
81236 /* 231374 */ // Label 6777: @231374
81237 /* 231374 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6778*/ GIMT_Encode4(231396), GIMT_Encode2(GIFBS_HasFP16_HasVLX), // Rule ID 12023 //
81238 /* 231381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81239 /* 231385 */ // (strict_fsqrt:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src) => (VSQRTPHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src)
81240 /* 231385 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256r),
81241 /* 231390 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81242 /* 231394 */ GIR_RootConstrainSelectedInstOperands,
81243 /* 231395 */ // GIR_Coverage, 12023,
81244 /* 231395 */ GIR_Done,
81245 /* 231396 */ // Label 6778: @231396
81246 /* 231396 */ GIM_Reject,
81247 /* 231397 */ // Label 6776: @231397
81248 /* 231397 */ GIM_Reject,
81249 /* 231398 */ // Label 6741: @231398
81250 /* 231398 */ GIM_Try, /*On fail goto*//*Label 6779*/ GIMT_Encode4(231484),
81251 /* 231403 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
81252 /* 231406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81253 /* 231410 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6780*/ GIMT_Encode4(231461), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 12003 //
81254 /* 231417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81255 /* 231421 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81256 /* 231425 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81257 /* 231428 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81258 /* 231432 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81259 /* 231436 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81260 /* 231438 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81261 /* 231445 */ // (strict_fsqrt:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
81262 /* 231445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZm),
81263 /* 231448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81264 /* 231450 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81265 /* 231454 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81266 /* 231459 */ GIR_RootConstrainSelectedInstOperands,
81267 /* 231460 */ // GIR_Coverage, 12003,
81268 /* 231460 */ GIR_EraseRootFromParent_Done,
81269 /* 231461 */ // Label 6780: @231461
81270 /* 231461 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6781*/ GIMT_Encode4(231483), GIMT_Encode2(GIFBS_HasFP16), // Rule ID 11999 //
81271 /* 231468 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81272 /* 231472 */ // (strict_fsqrt:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src) => (VSQRTPHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src)
81273 /* 231472 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZr),
81274 /* 231477 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81275 /* 231481 */ GIR_RootConstrainSelectedInstOperands,
81276 /* 231482 */ // GIR_Coverage, 11999,
81277 /* 231482 */ GIR_Done,
81278 /* 231483 */ // Label 6781: @231483
81279 /* 231483 */ GIM_Reject,
81280 /* 231484 */ // Label 6779: @231484
81281 /* 231484 */ GIM_Reject,
81282 /* 231485 */ // Label 6742: @231485
81283 /* 231485 */ GIM_Try, /*On fail goto*//*Label 6782*/ GIMT_Encode4(231680),
81284 /* 231490 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
81285 /* 231493 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6783*/ GIMT_Encode4(231548), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2433 //
81286 /* 231500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81287 /* 231504 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81288 /* 231508 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81289 /* 231512 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81290 /* 231515 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81291 /* 231519 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81292 /* 231523 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81293 /* 231525 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81294 /* 231532 */ // (strict_fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
81295 /* 231532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSm),
81296 /* 231535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81297 /* 231537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81298 /* 231541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81299 /* 231546 */ GIR_RootConstrainSelectedInstOperands,
81300 /* 231547 */ // GIR_Coverage, 2433,
81301 /* 231547 */ GIR_EraseRootFromParent_Done,
81302 /* 231548 */ // Label 6783: @231548
81303 /* 231548 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6784*/ GIMT_Encode4(231603), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12063 //
81304 /* 231555 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81305 /* 231559 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81306 /* 231563 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81307 /* 231567 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81308 /* 231570 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81309 /* 231574 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81310 /* 231578 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81311 /* 231580 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81312 /* 231587 */ // (strict_fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ128m:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
81313 /* 231587 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128m),
81314 /* 231590 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81315 /* 231592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81316 /* 231596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81317 /* 231601 */ GIR_RootConstrainSelectedInstOperands,
81318 /* 231602 */ // GIR_Coverage, 12063,
81319 /* 231602 */ GIR_EraseRootFromParent_Done,
81320 /* 231603 */ // Label 6784: @231603
81321 /* 231603 */ GIM_Try, /*On fail goto*//*Label 6785*/ GIMT_Encode4(231653),
81322 /* 231608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81323 /* 231612 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81324 /* 231616 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6786*/ GIMT_Encode4(231634), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2431 //
81325 /* 231623 */ // (strict_fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (VSQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
81326 /* 231623 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSr),
81327 /* 231628 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81328 /* 231632 */ GIR_RootConstrainSelectedInstOperands,
81329 /* 231633 */ // GIR_Coverage, 2431,
81330 /* 231633 */ GIR_Done,
81331 /* 231634 */ // Label 6786: @231634
81332 /* 231634 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6787*/ GIMT_Encode4(231652), GIMT_Encode2(GIFBS_UseSSE1), // Rule ID 2439 //
81333 /* 231641 */ // (strict_fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (SQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
81334 /* 231641 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPSr),
81335 /* 231646 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81336 /* 231650 */ GIR_RootConstrainSelectedInstOperands,
81337 /* 231651 */ // GIR_Coverage, 2439,
81338 /* 231651 */ GIR_Done,
81339 /* 231652 */ // Label 6787: @231652
81340 /* 231652 */ GIM_Reject,
81341 /* 231653 */ // Label 6785: @231653
81342 /* 231653 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6788*/ GIMT_Encode4(231679), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12059 //
81343 /* 231660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81344 /* 231664 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81345 /* 231668 */ // (strict_fsqrt:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src) => (VSQRTPSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src)
81346 /* 231668 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128r),
81347 /* 231673 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81348 /* 231677 */ GIR_RootConstrainSelectedInstOperands,
81349 /* 231678 */ // GIR_Coverage, 12059,
81350 /* 231678 */ GIR_Done,
81351 /* 231679 */ // Label 6788: @231679
81352 /* 231679 */ GIM_Reject,
81353 /* 231680 */ // Label 6782: @231680
81354 /* 231680 */ GIM_Reject,
81355 /* 231681 */ // Label 6743: @231681
81356 /* 231681 */ GIM_Try, /*On fail goto*//*Label 6789*/ GIMT_Encode4(231852),
81357 /* 231686 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
81358 /* 231689 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6790*/ GIMT_Encode4(231744), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2437 //
81359 /* 231696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81360 /* 231700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81361 /* 231704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81362 /* 231708 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81363 /* 231711 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81364 /* 231715 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81365 /* 231719 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81366 /* 231721 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81367 /* 231728 */ // (strict_fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSYm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
81368 /* 231728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYm),
81369 /* 231731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81370 /* 231733 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81371 /* 231737 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81372 /* 231742 */ GIR_RootConstrainSelectedInstOperands,
81373 /* 231743 */ // GIR_Coverage, 2437,
81374 /* 231743 */ GIR_EraseRootFromParent_Done,
81375 /* 231744 */ // Label 6790: @231744
81376 /* 231744 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6791*/ GIMT_Encode4(231799), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12075 //
81377 /* 231751 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81378 /* 231755 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81379 /* 231759 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81380 /* 231763 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81381 /* 231766 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81382 /* 231770 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81383 /* 231774 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81384 /* 231776 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81385 /* 231783 */ // (strict_fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ256m:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
81386 /* 231783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256m),
81387 /* 231786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81388 /* 231788 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81389 /* 231792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81390 /* 231797 */ GIR_RootConstrainSelectedInstOperands,
81391 /* 231798 */ // GIR_Coverage, 12075,
81392 /* 231798 */ GIR_EraseRootFromParent_Done,
81393 /* 231799 */ // Label 6791: @231799
81394 /* 231799 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6792*/ GIMT_Encode4(231825), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2435 //
81395 /* 231806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81396 /* 231810 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81397 /* 231814 */ // (strict_fsqrt:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src) => (VSQRTPSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
81398 /* 231814 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYr),
81399 /* 231819 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81400 /* 231823 */ GIR_RootConstrainSelectedInstOperands,
81401 /* 231824 */ // GIR_Coverage, 2435,
81402 /* 231824 */ GIR_Done,
81403 /* 231825 */ // Label 6792: @231825
81404 /* 231825 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6793*/ GIMT_Encode4(231851), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12071 //
81405 /* 231832 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81406 /* 231836 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81407 /* 231840 */ // (strict_fsqrt:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src) => (VSQRTPSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src)
81408 /* 231840 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256r),
81409 /* 231845 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81410 /* 231849 */ GIR_RootConstrainSelectedInstOperands,
81411 /* 231850 */ // GIR_Coverage, 12071,
81412 /* 231850 */ GIR_Done,
81413 /* 231851 */ // Label 6793: @231851
81414 /* 231851 */ GIM_Reject,
81415 /* 231852 */ // Label 6789: @231852
81416 /* 231852 */ GIM_Reject,
81417 /* 231853 */ // Label 6744: @231853
81418 /* 231853 */ GIM_Try, /*On fail goto*//*Label 6794*/ GIMT_Encode4(231939),
81419 /* 231858 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
81420 /* 231861 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81421 /* 231865 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6795*/ GIMT_Encode4(231916), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12039 //
81422 /* 231872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81423 /* 231876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81424 /* 231880 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81425 /* 231883 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81426 /* 231887 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81427 /* 231891 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81428 /* 231893 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81429 /* 231900 */ // (strict_fsqrt:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
81430 /* 231900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZm),
81431 /* 231903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81432 /* 231905 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81433 /* 231909 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81434 /* 231914 */ GIR_RootConstrainSelectedInstOperands,
81435 /* 231915 */ // GIR_Coverage, 12039,
81436 /* 231915 */ GIR_EraseRootFromParent_Done,
81437 /* 231916 */ // Label 6795: @231916
81438 /* 231916 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6796*/ GIMT_Encode4(231938), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12035 //
81439 /* 231923 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81440 /* 231927 */ // (strict_fsqrt:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src) => (VSQRTPSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src)
81441 /* 231927 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZr),
81442 /* 231932 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81443 /* 231936 */ GIR_RootConstrainSelectedInstOperands,
81444 /* 231937 */ // GIR_Coverage, 12035,
81445 /* 231937 */ GIR_Done,
81446 /* 231938 */ // Label 6796: @231938
81447 /* 231938 */ GIM_Reject,
81448 /* 231939 */ // Label 6794: @231939
81449 /* 231939 */ GIM_Reject,
81450 /* 231940 */ // Label 6745: @231940
81451 /* 231940 */ GIM_Try, /*On fail goto*//*Label 6797*/ GIMT_Encode4(232135),
81452 /* 231945 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
81453 /* 231948 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6798*/ GIMT_Encode4(232003), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2449 //
81454 /* 231955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81455 /* 231959 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81456 /* 231963 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81457 /* 231967 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81458 /* 231970 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81459 /* 231974 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81460 /* 231978 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81461 /* 231980 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81462 /* 231987 */ // (strict_fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
81463 /* 231987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDm),
81464 /* 231990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81465 /* 231992 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81466 /* 231996 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81467 /* 232001 */ GIR_RootConstrainSelectedInstOperands,
81468 /* 232002 */ // GIR_Coverage, 2449,
81469 /* 232002 */ GIR_EraseRootFromParent_Done,
81470 /* 232003 */ // Label 6798: @232003
81471 /* 232003 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6799*/ GIMT_Encode4(232058), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12087 //
81472 /* 232010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81473 /* 232014 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81474 /* 232018 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81475 /* 232022 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81476 /* 232025 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81477 /* 232029 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81478 /* 232033 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81479 /* 232035 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81480 /* 232042 */ // (strict_fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ128m:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
81481 /* 232042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128m),
81482 /* 232045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81483 /* 232047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81484 /* 232051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81485 /* 232056 */ GIR_RootConstrainSelectedInstOperands,
81486 /* 232057 */ // GIR_Coverage, 12087,
81487 /* 232057 */ GIR_EraseRootFromParent_Done,
81488 /* 232058 */ // Label 6799: @232058
81489 /* 232058 */ GIM_Try, /*On fail goto*//*Label 6800*/ GIMT_Encode4(232108),
81490 /* 232063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81491 /* 232067 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81492 /* 232071 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6801*/ GIMT_Encode4(232089), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2447 //
81493 /* 232078 */ // (strict_fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (VSQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
81494 /* 232078 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDr),
81495 /* 232083 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81496 /* 232087 */ GIR_RootConstrainSelectedInstOperands,
81497 /* 232088 */ // GIR_Coverage, 2447,
81498 /* 232088 */ GIR_Done,
81499 /* 232089 */ // Label 6801: @232089
81500 /* 232089 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6802*/ GIMT_Encode4(232107), GIMT_Encode2(GIFBS_UseSSE2), // Rule ID 2455 //
81501 /* 232096 */ // (strict_fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (SQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
81502 /* 232096 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPDr),
81503 /* 232101 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81504 /* 232105 */ GIR_RootConstrainSelectedInstOperands,
81505 /* 232106 */ // GIR_Coverage, 2455,
81506 /* 232106 */ GIR_Done,
81507 /* 232107 */ // Label 6802: @232107
81508 /* 232107 */ GIM_Reject,
81509 /* 232108 */ // Label 6800: @232108
81510 /* 232108 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6803*/ GIMT_Encode4(232134), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12083 //
81511 /* 232115 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81512 /* 232119 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81513 /* 232123 */ // (strict_fsqrt:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src) => (VSQRTPDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src)
81514 /* 232123 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128r),
81515 /* 232128 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81516 /* 232132 */ GIR_RootConstrainSelectedInstOperands,
81517 /* 232133 */ // GIR_Coverage, 12083,
81518 /* 232133 */ GIR_Done,
81519 /* 232134 */ // Label 6803: @232134
81520 /* 232134 */ GIM_Reject,
81521 /* 232135 */ // Label 6797: @232135
81522 /* 232135 */ GIM_Reject,
81523 /* 232136 */ // Label 6746: @232136
81524 /* 232136 */ GIM_Try, /*On fail goto*//*Label 6804*/ GIMT_Encode4(232307),
81525 /* 232141 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
81526 /* 232144 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6805*/ GIMT_Encode4(232199), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2453 //
81527 /* 232151 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81528 /* 232155 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81529 /* 232159 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81530 /* 232163 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81531 /* 232166 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81532 /* 232170 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81533 /* 232174 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81534 /* 232176 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81535 /* 232183 */ // (strict_fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDYm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
81536 /* 232183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYm),
81537 /* 232186 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81538 /* 232188 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81539 /* 232192 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81540 /* 232197 */ GIR_RootConstrainSelectedInstOperands,
81541 /* 232198 */ // GIR_Coverage, 2453,
81542 /* 232198 */ GIR_EraseRootFromParent_Done,
81543 /* 232199 */ // Label 6805: @232199
81544 /* 232199 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6806*/ GIMT_Encode4(232254), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12099 //
81545 /* 232206 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81546 /* 232210 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81547 /* 232214 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81548 /* 232218 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81549 /* 232221 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81550 /* 232225 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81551 /* 232229 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81552 /* 232231 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81553 /* 232238 */ // (strict_fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ256m:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
81554 /* 232238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256m),
81555 /* 232241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81556 /* 232243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81557 /* 232247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81558 /* 232252 */ GIR_RootConstrainSelectedInstOperands,
81559 /* 232253 */ // GIR_Coverage, 12099,
81560 /* 232253 */ GIR_EraseRootFromParent_Done,
81561 /* 232254 */ // Label 6806: @232254
81562 /* 232254 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6807*/ GIMT_Encode4(232280), GIMT_Encode2(GIFBS_HasAVX_NoVLX), // Rule ID 2451 //
81563 /* 232261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81564 /* 232265 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81565 /* 232269 */ // (strict_fsqrt:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src) => (VSQRTPDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
81566 /* 232269 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYr),
81567 /* 232274 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81568 /* 232278 */ GIR_RootConstrainSelectedInstOperands,
81569 /* 232279 */ // GIR_Coverage, 2451,
81570 /* 232279 */ GIR_Done,
81571 /* 232280 */ // Label 6807: @232280
81572 /* 232280 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6808*/ GIMT_Encode4(232306), GIMT_Encode2(GIFBS_HasVLX), // Rule ID 12095 //
81573 /* 232287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81574 /* 232291 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81575 /* 232295 */ // (strict_fsqrt:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src) => (VSQRTPDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src)
81576 /* 232295 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256r),
81577 /* 232300 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81578 /* 232304 */ GIR_RootConstrainSelectedInstOperands,
81579 /* 232305 */ // GIR_Coverage, 12095,
81580 /* 232305 */ GIR_Done,
81581 /* 232306 */ // Label 6808: @232306
81582 /* 232306 */ GIM_Reject,
81583 /* 232307 */ // Label 6804: @232307
81584 /* 232307 */ GIM_Reject,
81585 /* 232308 */ // Label 6747: @232308
81586 /* 232308 */ GIM_Try, /*On fail goto*//*Label 6809*/ GIMT_Encode4(232394),
81587 /* 232313 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
81588 /* 232316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81589 /* 232320 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6810*/ GIMT_Encode4(232371), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12051 //
81590 /* 232327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81591 /* 232331 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81592 /* 232335 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81593 /* 232338 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81594 /* 232342 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81595 /* 232346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81596 /* 232348 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81597 /* 232355 */ // (strict_fsqrt:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
81598 /* 232355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZm),
81599 /* 232358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81600 /* 232360 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81601 /* 232364 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81602 /* 232369 */ GIR_RootConstrainSelectedInstOperands,
81603 /* 232370 */ // GIR_Coverage, 12051,
81604 /* 232370 */ GIR_EraseRootFromParent_Done,
81605 /* 232371 */ // Label 6810: @232371
81606 /* 232371 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6811*/ GIMT_Encode4(232393), GIMT_Encode2(GIFBS_HasAVX512), // Rule ID 12047 //
81607 /* 232378 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81608 /* 232382 */ // (strict_fsqrt:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src) => (VSQRTPDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src)
81609 /* 232382 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZr),
81610 /* 232387 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81611 /* 232391 */ GIR_RootConstrainSelectedInstOperands,
81612 /* 232392 */ // GIR_Coverage, 12047,
81613 /* 232392 */ GIR_Done,
81614 /* 232393 */ // Label 6811: @232393
81615 /* 232393 */ GIM_Reject,
81616 /* 232394 */ // Label 6809: @232394
81617 /* 232394 */ GIM_Reject,
81618 /* 232395 */ // Label 6748: @232395
81619 /* 232395 */ GIM_Reject,
81620 /* 232396 */ // Label 80: @232396
81621 /* 232396 */ GIM_Try, /*On fail goto*//*Label 6812*/ GIMT_Encode4(232408), // Rule ID 17113 //
81622 /* 232401 */ // (trap) => (TRAP)
81623 /* 232401 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TRAP),
81624 /* 232406 */ GIR_RootConstrainSelectedInstOperands,
81625 /* 232407 */ // GIR_Coverage, 17113,
81626 /* 232407 */ GIR_Done,
81627 /* 232408 */ // Label 6812: @232408
81628 /* 232408 */ GIM_Reject,
81629 /* 232409 */ // Label 81: @232409
81630 /* 232409 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6813*/ GIMT_Encode4(232423), GIMT_Encode2(GIFBS_NotPS), // Rule ID 22577 //
81631 /* 232416 */ // (debugtrap) => (INT3)
81632 /* 232416 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::INT3),
81633 /* 232421 */ GIR_RootConstrainSelectedInstOperands,
81634 /* 232422 */ // GIR_Coverage, 22577,
81635 /* 232422 */ GIR_Done,
81636 /* 232423 */ // Label 6813: @232423
81637 /* 232423 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6814*/ GIMT_Encode4(232442), GIMT_Encode2(GIFBS_IsPS), // Rule ID 22578 //
81638 /* 232430 */ // (debugtrap) => (INT 65:{ *:[i8] })
81639 /* 232430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT),
81640 /* 232433 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/65,
81641 /* 232436 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81642 /* 232440 */ GIR_RootConstrainSelectedInstOperands,
81643 /* 232441 */ // GIR_Coverage, 22578,
81644 /* 232441 */ GIR_EraseRootFromParent_Done,
81645 /* 232442 */ // Label 6814: @232442
81646 /* 232442 */ GIM_Reject,
81647 /* 232443 */ // Label 82: @232443
81648 /* 232443 */ GIM_Try, /*On fail goto*//*Label 6815*/ GIMT_Encode4(232458), // Rule ID 17115 //
81649 /* 232448 */ // MIs[0] kind
81650 /* 232448 */ GIM_CheckIsImm, /*MI*/0, /*Op*/0,
81651 /* 232451 */ // (ubsantrap (timm:{ *:[i32] }):$kind) => (UBSAN_UD1 (timm:{ *:[i32] }):$kind)
81652 /* 232451 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::UBSAN_UD1),
81653 /* 232456 */ GIR_RootConstrainSelectedInstOperands,
81654 /* 232457 */ // GIR_Coverage, 17115,
81655 /* 232457 */ GIR_Done,
81656 /* 232458 */ // Label 6815: @232458
81657 /* 232458 */ GIM_Reject,
81658 /* 232459 */ // Label 83: @232459
81659 /* 232459 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 6819*/ GIMT_Encode4(232908),
81660 /* 232470 */ /*GILLT_s32*//*Label 6816*/ GIMT_Encode4(232482),
81661 /* 232474 */ /*GILLT_s64*//*Label 6817*/ GIMT_Encode4(232624),
81662 /* 232478 */ /*GILLT_s80*//*Label 6818*/ GIMT_Encode4(232766),
81663 /* 232482 */ // Label 6816: @232482
81664 /* 232482 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6820*/ GIMT_Encode4(232529), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1062 //
81665 /* 232489 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
81666 /* 232496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81667 /* 232500 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81668 /* 232504 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81669 /* 232511 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81670 /* 232511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m32),
81671 /* 232514 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81672 /* 232516 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81673 /* 232520 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81674 /* 232523 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81675 /* 232527 */ GIR_RootConstrainSelectedInstOperands,
81676 /* 232528 */ // GIR_Coverage, 1062,
81677 /* 232528 */ GIR_EraseRootFromParent_Done,
81678 /* 232529 */ // Label 6820: @232529
81679 /* 232529 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6821*/ GIMT_Encode4(232576), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1063 //
81680 /* 232536 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
81681 /* 232543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81682 /* 232547 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81683 /* 232551 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81684 /* 232558 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81685 /* 232558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m32),
81686 /* 232561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81687 /* 232563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81688 /* 232567 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81689 /* 232570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81690 /* 232574 */ GIR_RootConstrainSelectedInstOperands,
81691 /* 232575 */ // GIR_Coverage, 1063,
81692 /* 232575 */ GIR_EraseRootFromParent_Done,
81693 /* 232576 */ // Label 6821: @232576
81694 /* 232576 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6822*/ GIMT_Encode4(232623), GIMT_Encode2(GIFBS_FPStackf32), // Rule ID 1064 //
81695 /* 232583 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
81696 /* 232590 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81697 /* 232594 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81698 /* 232598 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81699 /* 232605 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81700 /* 232605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m32),
81701 /* 232608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81702 /* 232610 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81703 /* 232614 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81704 /* 232617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81705 /* 232621 */ GIR_RootConstrainSelectedInstOperands,
81706 /* 232622 */ // GIR_Coverage, 1064,
81707 /* 232622 */ GIR_EraseRootFromParent_Done,
81708 /* 232623 */ // Label 6822: @232623
81709 /* 232623 */ GIM_Reject,
81710 /* 232624 */ // Label 6817: @232624
81711 /* 232624 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6823*/ GIMT_Encode4(232671), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1065 //
81712 /* 232631 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
81713 /* 232638 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81714 /* 232642 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81715 /* 232646 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81716 /* 232653 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81717 /* 232653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m64),
81718 /* 232656 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81719 /* 232658 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81720 /* 232662 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81721 /* 232665 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81722 /* 232669 */ GIR_RootConstrainSelectedInstOperands,
81723 /* 232670 */ // GIR_Coverage, 1065,
81724 /* 232670 */ GIR_EraseRootFromParent_Done,
81725 /* 232671 */ // Label 6823: @232671
81726 /* 232671 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6824*/ GIMT_Encode4(232718), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1066 //
81727 /* 232678 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
81728 /* 232685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81729 /* 232689 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81730 /* 232693 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81731 /* 232700 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81732 /* 232700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m64),
81733 /* 232703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81734 /* 232705 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81735 /* 232709 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81736 /* 232712 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81737 /* 232716 */ GIR_RootConstrainSelectedInstOperands,
81738 /* 232717 */ // GIR_Coverage, 1066,
81739 /* 232717 */ GIR_EraseRootFromParent_Done,
81740 /* 232718 */ // Label 6824: @232718
81741 /* 232718 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6825*/ GIMT_Encode4(232765), GIMT_Encode2(GIFBS_FPStackf64), // Rule ID 1067 //
81742 /* 232725 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
81743 /* 232732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81744 /* 232736 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81745 /* 232740 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81746 /* 232747 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81747 /* 232747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m64),
81748 /* 232750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81749 /* 232752 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81750 /* 232756 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81751 /* 232759 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81752 /* 232763 */ GIR_RootConstrainSelectedInstOperands,
81753 /* 232764 */ // GIR_Coverage, 1067,
81754 /* 232764 */ GIR_EraseRootFromParent_Done,
81755 /* 232765 */ // Label 6825: @232765
81756 /* 232765 */ GIM_Reject,
81757 /* 232766 */ // Label 6818: @232766
81758 /* 232766 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6826*/ GIMT_Encode4(232813), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1068 //
81759 /* 232773 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
81760 /* 232780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
81761 /* 232784 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81762 /* 232788 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81763 /* 232795 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81764 /* 232795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m80),
81765 /* 232798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81766 /* 232800 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81767 /* 232804 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81768 /* 232807 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81769 /* 232811 */ GIR_RootConstrainSelectedInstOperands,
81770 /* 232812 */ // GIR_Coverage, 1068,
81771 /* 232812 */ GIR_EraseRootFromParent_Done,
81772 /* 232813 */ // Label 6826: @232813
81773 /* 232813 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6827*/ GIMT_Encode4(232860), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1069 //
81774 /* 232820 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
81775 /* 232827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
81776 /* 232831 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81777 /* 232835 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81778 /* 232842 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81779 /* 232842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m80),
81780 /* 232845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81781 /* 232847 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81782 /* 232851 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81783 /* 232854 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81784 /* 232858 */ GIR_RootConstrainSelectedInstOperands,
81785 /* 232859 */ // GIR_Coverage, 1069,
81786 /* 232859 */ GIR_EraseRootFromParent_Done,
81787 /* 232860 */ // Label 6827: @232860
81788 /* 232860 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6828*/ GIMT_Encode4(232907), GIMT_Encode2(GIFBS_HasX87), // Rule ID 1070 //
81789 /* 232867 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
81790 /* 232874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
81791 /* 232878 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81792 /* 232882 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81793 /* 232889 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
81794 /* 232889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m80),
81795 /* 232892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81796 /* 232894 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
81797 /* 232898 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81798 /* 232901 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81799 /* 232905 */ GIR_RootConstrainSelectedInstOperands,
81800 /* 232906 */ // GIR_Coverage, 1070,
81801 /* 232906 */ GIR_EraseRootFromParent_Done,
81802 /* 232907 */ // Label 6828: @232907
81803 /* 232907 */ GIM_Reject,
81804 /* 232908 */ // Label 6819: @232908
81805 /* 232908 */ GIM_Reject,
81806 /* 232909 */ // Label 84: @232909
81807 /* 232909 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 6832*/ GIMT_Encode4(233763),
81808 /* 232920 */ /*GILLT_s32*//*Label 6829*/ GIMT_Encode4(232932),
81809 /* 232924 */ /*GILLT_s64*//*Label 6830*/ GIMT_Encode4(233209),
81810 /* 232928 */ /*GILLT_s80*//*Label 6831*/ GIMT_Encode4(233486),
81811 /* 232932 */ // Label 6829: @232932
81812 /* 232932 */ GIM_Try, /*On fail goto*//*Label 6833*/ GIMT_Encode4(232977), // Rule ID 849 //
81813 /* 232937 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
81814 /* 232944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81815 /* 232948 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81816 /* 232952 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81817 /* 232959 */ // (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)
81818 /* 232959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT16_IN_MEM),
81819 /* 232962 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
81820 /* 232966 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81821 /* 232968 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
81822 /* 232971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81823 /* 232975 */ GIR_RootConstrainSelectedInstOperands,
81824 /* 232976 */ // GIR_Coverage, 849,
81825 /* 232976 */ GIR_EraseRootFromParent_Done,
81826 /* 232977 */ // Label 6833: @232977
81827 /* 232977 */ GIM_Try, /*On fail goto*//*Label 6834*/ GIMT_Encode4(233022), // Rule ID 850 //
81828 /* 232982 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
81829 /* 232989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81830 /* 232993 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81831 /* 232997 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81832 /* 233004 */ // (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)
81833 /* 233004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT32_IN_MEM),
81834 /* 233007 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
81835 /* 233011 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81836 /* 233013 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
81837 /* 233016 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81838 /* 233020 */ GIR_RootConstrainSelectedInstOperands,
81839 /* 233021 */ // GIR_Coverage, 850,
81840 /* 233021 */ GIR_EraseRootFromParent_Done,
81841 /* 233022 */ // Label 6834: @233022
81842 /* 233022 */ GIM_Try, /*On fail goto*//*Label 6835*/ GIMT_Encode4(233067), // Rule ID 851 //
81843 /* 233027 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
81844 /* 233034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81845 /* 233038 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81846 /* 233042 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81847 /* 233049 */ // (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)
81848 /* 233049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT64_IN_MEM),
81849 /* 233052 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
81850 /* 233056 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81851 /* 233058 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
81852 /* 233061 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81853 /* 233065 */ GIR_RootConstrainSelectedInstOperands,
81854 /* 233066 */ // GIR_Coverage, 851,
81855 /* 233066 */ GIR_EraseRootFromParent_Done,
81856 /* 233067 */ // Label 6835: @233067
81857 /* 233067 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6836*/ GIMT_Encode4(233114), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1083 //
81858 /* 233074 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
81859 /* 233081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81860 /* 233085 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81861 /* 233089 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81862 /* 233096 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
81863 /* 233096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m32),
81864 /* 233099 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
81865 /* 233103 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81866 /* 233105 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81867 /* 233108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81868 /* 233112 */ GIR_RootConstrainSelectedInstOperands,
81869 /* 233113 */ // GIR_Coverage, 1083,
81870 /* 233113 */ GIR_EraseRootFromParent_Done,
81871 /* 233114 */ // Label 6836: @233114
81872 /* 233114 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6837*/ GIMT_Encode4(233161), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1084 //
81873 /* 233121 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
81874 /* 233128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81875 /* 233132 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81876 /* 233136 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81877 /* 233143 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
81878 /* 233143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m32),
81879 /* 233146 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
81880 /* 233150 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81881 /* 233152 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81882 /* 233155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81883 /* 233159 */ GIR_RootConstrainSelectedInstOperands,
81884 /* 233160 */ // GIR_Coverage, 1084,
81885 /* 233160 */ GIR_EraseRootFromParent_Done,
81886 /* 233161 */ // Label 6837: @233161
81887 /* 233161 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6838*/ GIMT_Encode4(233208), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1085 //
81888 /* 233168 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
81889 /* 233175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
81890 /* 233179 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81891 /* 233183 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81892 /* 233190 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
81893 /* 233190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m32),
81894 /* 233193 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
81895 /* 233197 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81896 /* 233199 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81897 /* 233202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81898 /* 233206 */ GIR_RootConstrainSelectedInstOperands,
81899 /* 233207 */ // GIR_Coverage, 1085,
81900 /* 233207 */ GIR_EraseRootFromParent_Done,
81901 /* 233208 */ // Label 6838: @233208
81902 /* 233208 */ GIM_Reject,
81903 /* 233209 */ // Label 6830: @233209
81904 /* 233209 */ GIM_Try, /*On fail goto*//*Label 6839*/ GIMT_Encode4(233254), // Rule ID 852 //
81905 /* 233214 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
81906 /* 233221 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81907 /* 233225 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81908 /* 233229 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81909 /* 233236 */ // (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)
81910 /* 233236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT16_IN_MEM),
81911 /* 233239 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
81912 /* 233243 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81913 /* 233245 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
81914 /* 233248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81915 /* 233252 */ GIR_RootConstrainSelectedInstOperands,
81916 /* 233253 */ // GIR_Coverage, 852,
81917 /* 233253 */ GIR_EraseRootFromParent_Done,
81918 /* 233254 */ // Label 6839: @233254
81919 /* 233254 */ GIM_Try, /*On fail goto*//*Label 6840*/ GIMT_Encode4(233299), // Rule ID 853 //
81920 /* 233259 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
81921 /* 233266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81922 /* 233270 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81923 /* 233274 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81924 /* 233281 */ // (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)
81925 /* 233281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT32_IN_MEM),
81926 /* 233284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
81927 /* 233288 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81928 /* 233290 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
81929 /* 233293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81930 /* 233297 */ GIR_RootConstrainSelectedInstOperands,
81931 /* 233298 */ // GIR_Coverage, 853,
81932 /* 233298 */ GIR_EraseRootFromParent_Done,
81933 /* 233299 */ // Label 6840: @233299
81934 /* 233299 */ GIM_Try, /*On fail goto*//*Label 6841*/ GIMT_Encode4(233344), // Rule ID 854 //
81935 /* 233304 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
81936 /* 233311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81937 /* 233315 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81938 /* 233319 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81939 /* 233326 */ // (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)
81940 /* 233326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT64_IN_MEM),
81941 /* 233329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
81942 /* 233333 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81943 /* 233335 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
81944 /* 233338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81945 /* 233342 */ GIR_RootConstrainSelectedInstOperands,
81946 /* 233343 */ // GIR_Coverage, 854,
81947 /* 233343 */ GIR_EraseRootFromParent_Done,
81948 /* 233344 */ // Label 6841: @233344
81949 /* 233344 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6842*/ GIMT_Encode4(233391), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1086 //
81950 /* 233351 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
81951 /* 233358 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81952 /* 233362 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81953 /* 233366 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81954 /* 233373 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
81955 /* 233373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m64),
81956 /* 233376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
81957 /* 233380 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81958 /* 233382 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81959 /* 233385 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81960 /* 233389 */ GIR_RootConstrainSelectedInstOperands,
81961 /* 233390 */ // GIR_Coverage, 1086,
81962 /* 233390 */ GIR_EraseRootFromParent_Done,
81963 /* 233391 */ // Label 6842: @233391
81964 /* 233391 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6843*/ GIMT_Encode4(233438), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1087 //
81965 /* 233398 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
81966 /* 233405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81967 /* 233409 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81968 /* 233413 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81969 /* 233420 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
81970 /* 233420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m64),
81971 /* 233423 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
81972 /* 233427 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81973 /* 233429 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81974 /* 233432 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81975 /* 233436 */ GIR_RootConstrainSelectedInstOperands,
81976 /* 233437 */ // GIR_Coverage, 1087,
81977 /* 233437 */ GIR_EraseRootFromParent_Done,
81978 /* 233438 */ // Label 6843: @233438
81979 /* 233438 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6844*/ GIMT_Encode4(233485), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1088 //
81980 /* 233445 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
81981 /* 233452 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
81982 /* 233456 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
81983 /* 233460 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81984 /* 233467 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
81985 /* 233467 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m64),
81986 /* 233470 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
81987 /* 233474 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
81988 /* 233476 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
81989 /* 233479 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
81990 /* 233483 */ GIR_RootConstrainSelectedInstOperands,
81991 /* 233484 */ // GIR_Coverage, 1088,
81992 /* 233484 */ GIR_EraseRootFromParent_Done,
81993 /* 233485 */ // Label 6844: @233485
81994 /* 233485 */ GIM_Reject,
81995 /* 233486 */ // Label 6831: @233486
81996 /* 233486 */ GIM_Try, /*On fail goto*//*Label 6845*/ GIMT_Encode4(233531), // Rule ID 855 //
81997 /* 233491 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
81998 /* 233498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
81999 /* 233502 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
82000 /* 233506 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82001 /* 233513 */ // (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)
82002 /* 233513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT16_IN_MEM),
82003 /* 233516 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
82004 /* 233520 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
82005 /* 233522 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
82006 /* 233525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82007 /* 233529 */ GIR_RootConstrainSelectedInstOperands,
82008 /* 233530 */ // GIR_Coverage, 855,
82009 /* 233530 */ GIR_EraseRootFromParent_Done,
82010 /* 233531 */ // Label 6845: @233531
82011 /* 233531 */ GIM_Try, /*On fail goto*//*Label 6846*/ GIMT_Encode4(233576), // Rule ID 856 //
82012 /* 233536 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
82013 /* 233543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82014 /* 233547 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
82015 /* 233551 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82016 /* 233558 */ // (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)
82017 /* 233558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT32_IN_MEM),
82018 /* 233561 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
82019 /* 233565 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
82020 /* 233567 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
82021 /* 233570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82022 /* 233574 */ GIR_RootConstrainSelectedInstOperands,
82023 /* 233575 */ // GIR_Coverage, 856,
82024 /* 233575 */ GIR_EraseRootFromParent_Done,
82025 /* 233576 */ // Label 6846: @233576
82026 /* 233576 */ GIM_Try, /*On fail goto*//*Label 6847*/ GIMT_Encode4(233621), // Rule ID 857 //
82027 /* 233581 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
82028 /* 233588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82029 /* 233592 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
82030 /* 233596 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82031 /* 233603 */ // (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)
82032 /* 233603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT64_IN_MEM),
82033 /* 233606 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
82034 /* 233610 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
82035 /* 233612 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
82036 /* 233615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82037 /* 233619 */ GIR_RootConstrainSelectedInstOperands,
82038 /* 233620 */ // GIR_Coverage, 857,
82039 /* 233620 */ GIR_EraseRootFromParent_Done,
82040 /* 233621 */ // Label 6847: @233621
82041 /* 233621 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6848*/ GIMT_Encode4(233668), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1089 //
82042 /* 233628 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
82043 /* 233635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82044 /* 233639 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
82045 /* 233643 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82046 /* 233650 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
82047 /* 233650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m80),
82048 /* 233653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
82049 /* 233657 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
82050 /* 233659 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
82051 /* 233662 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82052 /* 233666 */ GIR_RootConstrainSelectedInstOperands,
82053 /* 233667 */ // GIR_Coverage, 1089,
82054 /* 233667 */ GIR_EraseRootFromParent_Done,
82055 /* 233668 */ // Label 6848: @233668
82056 /* 233668 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6849*/ GIMT_Encode4(233715), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1090 //
82057 /* 233675 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
82058 /* 233682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82059 /* 233686 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
82060 /* 233690 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82061 /* 233697 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
82062 /* 233697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m80),
82063 /* 233700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
82064 /* 233704 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
82065 /* 233706 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
82066 /* 233709 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82067 /* 233713 */ GIR_RootConstrainSelectedInstOperands,
82068 /* 233714 */ // GIR_Coverage, 1090,
82069 /* 233714 */ GIR_EraseRootFromParent_Done,
82070 /* 233715 */ // Label 6849: @233715
82071 /* 233715 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 6850*/ GIMT_Encode4(233762), GIMT_Encode2(GIFBS_HasSSE3), // Rule ID 1091 //
82072 /* 233722 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
82073 /* 233729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82074 /* 233733 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
82075 /* 233737 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82076 /* 233744 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
82077 /* 233744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m80),
82078 /* 233747 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
82079 /* 233751 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
82080 /* 233753 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
82081 /* 233756 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82082 /* 233760 */ GIR_RootConstrainSelectedInstOperands,
82083 /* 233761 */ // GIR_Coverage, 1091,
82084 /* 233761 */ GIR_EraseRootFromParent_Done,
82085 /* 233762 */ // Label 6850: @233762
82086 /* 233762 */ GIM_Reject,
82087 /* 233763 */ // Label 6832: @233763
82088 /* 233763 */ GIM_Reject,
82089 /* 233764 */ // Label 85: @233764
82090 /* 233764 */ GIM_Try, /*On fail goto*//*Label 6851*/ GIMT_Encode4(233799), // Rule ID 1108 //
82091 /* 233769 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
82092 /* 233773 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82093 /* 233780 */ // (X86fp_cwd_set16 addr:{ *:[iPTR] }:$dst) => (FLDCW16m:{ *:[i16] } addr:{ *:[iPTR] }:$dst)
82094 /* 233780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FLDCW16m),
82095 /* 233783 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
82096 /* 233787 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
82097 /* 233790 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
82098 /* 233793 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82099 /* 233797 */ GIR_RootConstrainSelectedInstOperands,
82100 /* 233798 */ // GIR_Coverage, 1108,
82101 /* 233798 */ GIR_EraseRootFromParent_Done,
82102 /* 233799 */ // Label 6851: @233799
82103 /* 233799 */ GIM_Reject,
82104 /* 233800 */ // Label 86: @233800
82105 /* 233800 */ GIM_Try, /*On fail goto*//*Label 6852*/ GIMT_Encode4(233832), // Rule ID 1107 //
82106 /* 233805 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
82107 /* 233809 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82108 /* 233816 */ // (X86fp_cwd_get16 addr:{ *:[iPTR] }:$dst) => (FNSTCW16m:{ *:[i16] } addr:{ *:[iPTR] }:$dst)
82109 /* 233816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FNSTCW16m),
82110 /* 233819 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
82111 /* 233823 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
82112 /* 233826 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
82113 /* 233830 */ GIR_RootConstrainSelectedInstOperands,
82114 /* 233831 */ // GIR_Coverage, 1107,
82115 /* 233831 */ GIR_EraseRootFromParent_Done,
82116 /* 233832 */ // Label 6852: @233832
82117 /* 233832 */ GIM_Reject,
82118 /* 233833 */ // Label 87: @233833
82119 /* 233833 */ GIM_Reject,
82120 /* 233834 */ }; // Size: 233834 bytes
82121 return MatchTable0;
82122}
82123#undef GIMT_Encode2
82124#undef GIMT_Encode4
82125#undef GIMT_Encode8
82126
82127
82128#endif // GET_GLOBALISEL_IMPL
82129
82130#ifdef GET_GLOBALISEL_PREDICATES_DECL
82131
82132PredicateBitset AvailableModuleFeatures;
82133mutable PredicateBitset AvailableFunctionFeatures;
82134PredicateBitset getAvailableFeatures() const {
82135 return AvailableModuleFeatures | AvailableFunctionFeatures;
82136}
82137PredicateBitset
82138computeAvailableModuleFeatures(const X86Subtarget *Subtarget) const;
82139PredicateBitset
82140computeAvailableFunctionFeatures(const X86Subtarget *Subtarget,
82141 const MachineFunction *MF) const;
82142void setupGeneratedPerFunctionState(MachineFunction &MF) override;
82143
82144#endif // GET_GLOBALISEL_PREDICATES_DECL
82145
82146#ifdef GET_GLOBALISEL_PREDICATES_INIT
82147
82148AvailableModuleFeatures(computeAvailableModuleFeatures(&STI)),
82149AvailableFunctionFeatures()
82150
82151#endif // GET_GLOBALISEL_PREDICATES_INIT
82152
82153